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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,679919b7911af5bf X-Google-Attributes: gid103376,public From: kilgallen@eisner.decus.org (Larry Kilgallen) Subject: Re: Ada GUI Builders Date: 1998/09/16 Message-ID: <1998Sep16.085418.1@eisner> X-Deja-AN: 391699263 X-Nntp-Posting-Host: eisner.decus.org References: <6tjh1d$8p82@svlss.lmms.lmco.com> <35FEE0D1.E5BF517D@cacd.rockwell.com> X-Trace: news.decus.org 905950467 24601 KILGALLEN [192.67.173.2] Organization: LJK Software Reply-To: Kilgallen@eisner.decus.org.nospam Newsgroups: comp.lang.ada Date: 1998-09-16T00:00:00+00:00 List-Id: In article <35FEE0D1.E5BF517D@cacd.rockwell.com>, Lowe Anthony A writes: > I have used Aonix's GUI builder with a lot of success. It is quite easy to > use, has a > lot of people building with it (good mailing list) and has very accessible > support. I am by no mean a Window's programmer so I can not compare to > other Windows GUI builders, but despite the fact I am not a Windows guru, I > can still build GUI's quite successfully. While I could not have gotten as far as I have without it, I feel the lack of many capabilities I found using Think Pascal and TCL 2.0 (Think Class Library) on Macintosh. The authors of the GB package which supports the GUI Builder output have made excellent use (so far as I can tell) of Ada95 inheritance to give me a reliable set of primitives on which to program. The big drawback I encounter is that they have not extended this logic to the programming I do. When I design a Window (Form, in their terminology) to handle a particular set of data in a particular fashion, the Aonix GUI Builder creates a static cell for the single instance of that window they envision. Completely lost is the ability for me to declare multiple windows of this type, perhaps even on the fly. So far as I can see, this is fully possible for them to support within their model, but they do not see it as high on their priority list, and judging by the posting from Anthony Lowe to which I am responding, their judgement of average customer needs is correct. This is not the first time I have wanted something different from the other customers of a vendor, and it is unlikely to be the last. Well, actually, that previous gripe had less to do with Ada95 and more to the notion of emitting generally usable data types for window (form) implementations so that _I_ can create more. That issue would be present even if we were using Ada83 (although Aonix would have a less reliable GB package, based on the amount of code that would be required). Let me try for something now that is Ada95-specific... I have at least four dialog boxes in the same program with a "date" field that must be implemented in the same fashion. I would love to be able to take the Aonix-generated "record type" for a given window and extend it using Ada95 inheritance to add my particular "date" processing so that I could have four dialog box types which inherit that processing and add some of their own. I also have pushbuttons for which I want the same capabilities, but the date field makes a better example for this discussion. In short, development of this interface, although speeded (indeed, made possible) by the Aonix GUI Builder, ended up involving a lot more cut-and-paste than I would expect with Ada95 (or any object-oriented language, such as Think Pascal). Of course, Aonix has many battles to fight, not the least of which is Microsoft. Sometimes I found the primitives in the GB package to be inadequate, so I started looking at the underlying Win32Ada packages, and indeed the books on how to call Win32S APIs from C, and found the primitives I needed just did not exist. As an example, I could not find a documented method to move focus to a particular text field and set the selection to characters 12 through 14. I am sure that Aonix in developing their GUI Builder ran into many of the same problems of missing or undocumented Win32S capabilities. Now these are all straightforward operations for TCL 2.0, so maybe the best Microsoft imitation of that Macintosh-only product would be the Microsoft Foundation Classes, provided in Aonix OpenPack as the Ada Foundation Classes (at this point I would like to credit the author from the UK, but today I am reduced to typing on a VT420 due to computer problems beyond my control). If the Aonix GUI Builder were to be changed to extend the benefits of Ada95 (inheritance) and Ada plain (additional declarations of a type) to the customer, perhaps it should be generating AFC output rather than Win32S output. I have not studied the MFC documentation (all written for C programmers), but if it is the "high-class" spread, surely it allows a program to specify the selection range within a text field of a dialog box! With that said, the Aonix approach to ObjectAda for Windows absolutely seems to be one of continuous improvement, and I am sure that I benefit from Aonix spending their time on the issues they _do_ see as top priority which happened to be raised by others (or by others first; eventually I will hit them). Larry Kilgallen