From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a3f460aaba1863e2 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!border1.nntp.dca.giganews.com!local01.nntp.dca.giganews.com!nntp.megapath.net!news.megapath.net.POSTED!not-for-mail NNTP-Posting-Date: Mon, 08 Aug 2005 15:44:31 -0500 From: "Randy Brukardt" Newsgroups: comp.lang.ada References: <1120752411.808598.292980@g49g2000cwa.googlegroups.com> <1121269243.013754.57720@g14g2000cwa.googlegroups.com> <1121883276.400592.326630@o13g2000cwo.googlegroups.com> <1122315253.757948.150350@z14g2000cwz.googlegroups.com> <8_ydncLVTeRn5njfRVn-jA@megapath.net> <1122485760.918191.274380@f14g2000cwb.googlegroups.com> <1122545378.984920.272260@g47g2000cwa.googlegroups.com> <1122998146.914353.174110@g44g2000cwa.googlegroups.com> <1123524248.690333.24270@g14g2000cwa.googlegroups.com> Subject: Re: Private primitive operations available to entire package hierarchy. Can it be done? Date: Mon, 8 Aug 2005 15:47:58 -0500 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4952.2800 X-Mimeole: Produced By Microsoft MimeOLE V5.50.4952.2800 Message-ID: NNTP-Posting-Host: 64.32.209.38 X-Trace: sv3-eW7t5ePA0/u7HwdAEUgU4ynwqtDhuODmp1bRj0CbHD/FEu80iZhy+z42fbmbd71D7FWv9DrFyZcMuzz!6NeaNA0hh2gq0X7TAEY8aBRt5piA72xAwbAgrZSZVOB6VkX+EPQQCCX/gzvaFbf2hKGwG79eI8jS!AqQk8JSrtxqq6qMaMZwEMtvx5haa X-Complaints-To: abuse@megapath.net X-DMCA-Complaints-To: abuse@megapath.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:4033 Date: 2005-08-08T15:47:58-05:00 List-Id: "Lucretia" wrote in message news:1123524248.690333.24270@g14g2000cwa.googlegroups.com... > > We do use something like reference counting to allow Window objects to > be > assigned. But that capability was a mistake - we wouldn't do it if > starting > over - so I won't try to describe it. > > > I started with a non-limited hierarchy that could be copied but found > that not all wxWidgets classes can be copied as the copy constructor is > private in certain objects, e.g. all wxWindow derived types. So, I now > have a limited hierarchy, even though certain objects need to be > copiable, e.g. wxEvent derived types. There are ways around that. But we ultimately found that they made it very hard to cleanly add extension components to derived window classes. So many of our programs include procedure Adjust (Object : in out Whatever_Window) is begin raise Program_Error; end Adjust; Effectively making that type limited (without the compile-time checking). But of course, if we were going to do that, we might as well have made the types limited in the first place and avoided the complications. So I agree with your intent to make them limited. Randy.