comp.lang.ada
 help / color / mirror / Atom feed
From: kilgallen@eisner.decus.org (Larry Kilgallen)
Subject: Re: Ada GUI Builders
Date: 1998/09/16
Date: 1998-09-16T00:00:00+00:00	[thread overview]
Message-ID: <1998Sep16.085418.1@eisner> (raw)
In-Reply-To: 35FEE0D1.E5BF517D@cacd.rockwell.com

In article <35FEE0D1.E5BF517D@cacd.rockwell.com>, Lowe Anthony A <aalowe@cacd.rockwell.com> 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




      parent reply	other threads:[~1998-09-16  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-09-14  0:00 Ada GUI Builders LM News
1998-09-15  0:00 ` Jace Greenman
     [not found] ` <35FEE0D1.E5BF517D@cacd.rockwell.com>
1998-09-16  0:00   ` Larry Kilgallen [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox