comp.lang.ada
 help / color / mirror / Atom feed
From: Emmanuel Briot <briot@gnat.com>
Subject: Re: More GUI
Date: 2000/05/31
Date: 2000-05-31T00:00:00+00:00	[thread overview]
Message-ID: <8h2j3v$r2p$1@nnrp1.deja.com> (raw)
In-Reply-To: AKWY4.1167$_I4.14144@eagle.america.net

"William J. Thomas" <wjthomas@wcvt.com> wrote:

> The problem is the metaphor is extremely fast and easy to use but
complex
> and difficult to code. You might be happy to know that even VB falls
short
> and I find myself dipping into the Win32API more and more. You maybe
happy
> to know that most of the code is in Ada95, only the visuals are in VB.

Of course, this means that your code is less portable than it would be
otherwise. Most GUI toolkits are now designed to be as portable as
possible
(at least from the user's point of view). To speak of what I know,
several
people have been able to simply move their code from a Linux machine to
a
Windows machine and recompile, et voila! (I think the reverse has also
been
done).

> God bless Robert Dewar and the folks at ACT, they are responsible for
a
> growing Ada culture that I thought I would never see.  What we need
now is a
> couple of dedicated people who are determined to produce a world class
Ada
> GUI builder, one better than the VC++ or VB environments.  One of the
best I
> have seen so far is the GtkAda GUI builder. If you could work the
Windows
> bugs out, that would be a good starting place.

The thing with that GUI builder is that is is programmed in C (:-(), and
is
used for several languages, from C to C++, Ada, Perl, ... Of course,
although
the development might be somewhat slower than what people would dream
of, this
means that the programming efforts can be combined to hammer the bugs
out
(yes, there are still quite a few left, especially on Windows, but
things are
improving steadily).


> Some suggestions for the Ada GUI builders:: A box, container, or even
a
> window widget that allows for the fixed placement of all others
components
> inside it, but once the container is manually resized at runtime it
allows
> for the automatic resizing of all of the fixed placed and sized
components
> inside of it.


Note that the first step (fixed placement) is already doable with
gtk+/GtkAda,
the container is called suprisingly enough GtkFixed !  No automatic
resizing
is provided however. I don't remember seeing an interface where the size
of
the contents changes dynamically when the size of the window is changed.
Is
this something recommended by Microsoft GUI coding standards ?

> Allow for the varied set of coordinate modes that VB allows for,
including
> twips.

Could you explain a little bit more what these are, for the non VB
specialists ?

> A true Desktop Publishing type of multi-line text box, one that comes
with
> all of the trimmings found in  something like an 'Interleaf paragraph
object
> '.

The next major version of gtk+ (and of course of GtkAda) will have a
much
improved text widget, very close to what is currently provided by Tcl/Tk
(ie
the text can have many properties, you can add pixmaps,...)  It will
also
support internationalization much better than is currently the case.

> Continue to refine the Ada interfaces to allow for the true object
oriented
> development of new tools or widgets. The easier it is to develop new
and
> more powerful tools in an 'extend and combine manner' the more popular
the
> whole application will become.

I think most of the Ada GUI toolkits are trying to provide this kind of
abstraction, even when the underlying toolkit is not object-oriented.
This
makes it for instance easier to use gtk+ from Ada95 than from C (*less*
type
casting !)


> Also stretch things a little farther into the Windows realm and find
some
> way of incorporating OCX components into the application, find a way
to do
> this (without crashing minutes after the inclusion of an OCX
component) and
> you are on your way.  That will do for a start.

This probably won't be done as far as GtkAda is concerned. Our main goal
is to
be portable accross plateforms, at least everywhere ACT and ACT-Europe
have
ported GNAT. Having too many OS-specific features makes things harder to
port...

Emmanuel
GtkAda team


Sent via Deja.com http://www.deja.com/
Before you buy.




  reply	other threads:[~2000-05-31  0:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-05-30  0:00 More GUI William J. Thomas
2000-05-31  0:00 ` Emmanuel Briot [this message]
2000-05-31  0:00   ` John English
2000-05-31  0:00   ` Jerry van Dijk
2000-05-31  0:00     ` Ehud Lamm
2000-05-31  0:00       ` David Botton
2000-06-01  0:00         ` Ehud Lamm
replies disabled

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