comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca>
Subject: Re: [OT] Best way to isolate a GUI?
Date: Tue, 18 Feb 2003 13:01:42 -0500
Date: 2003-02-18T13:01:42-05:00	[thread overview]
Message-ID: <3E527506.6070209@cogeco.ca> (raw)
In-Reply-To: b2tcig$c72$1@slb4.atl.mindspring.net

Marin David Condic wrote:
> You could get it down to one task if you basically go to some kind of
> message protocol. Build a wrapper around something like GtkAda that deals
> with the callbacks, etc. That builds up messages that are queued for the
> app. The app pulls them out of the queue as it is ready for them and queues
> up responses for the GUI. That doesn't fix Motif & GtkAda from being a C-ish
> thing, but it hides all the C-ishness in the wrapper. You'd also get a means
> by which you could have a portable GUI interface by building a similar
> wrapper around Claw or anything else that gets dreampt up.

But this still suffers from one problem: Each queue in your task
would then have a monster case statement to split out the work
according to the widget that is receiving the event. Compare this
to the registered callback where only the interested widget for
the event gets the callback. No big case statement required for
event, or widget.

Don't get me wrong.. I like the idea of queues and tasks. But this seems
a clumsy thing beside a callback.

> In the perfect world where there is an ongoing Ada Operating System project,
> this might be a great design for the interface to the GUI. Asynchronous
> message traffic via any number of communication mechanisms.
> 
> MDC

There may be a better model to use than a callback. I just don't seeing
tasks, or tasks alone being it yet.  If tasks are part of the solution, then
you'd have to combine it with a Booch map (say) to eliminate those case statements,
and to handle the dynamic creation and destruction of widgets that need to hook
into events dynamically.

But then after using a map, you might wind up in the end just doing a dispatch
in callback fashion anyway.. ending up with the same end result.

So I dunno.. I remain unconvinced. ;-)

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




  reply	other threads:[~2003-02-18 18:01 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-16 10:19 [OT] Best way to isolate a GUI? Jano
2003-02-16 14:47 ` Ed Falis
2003-02-16 14:49 ` Victor Porton
2003-02-17 20:52   ` Jano
2003-02-16 16:36 ` Robert C. Leif
2003-02-17  8:44   ` Preben Randhol
2003-02-17 16:22     ` Robert C. Leif
2003-02-17 17:30     ` Jeffrey Carter
2003-02-17 17:54       ` Warren W. Gay VE3WWG
2003-02-17 19:06         ` Randy Brukardt
2003-02-18  3:15           ` Warren W. Gay VE3WWG
2003-02-18 16:14             ` Robert C. Leif
2003-02-18 18:10             ` Randy Brukardt
2003-02-18 21:12               ` Warren W. Gay VE3WWG
2003-02-18 23:20                 ` Randy Brukardt
2003-02-19 18:28                   ` Warren W. Gay VE3WWG
2003-02-20 19:39                     ` Randy Brukardt
2003-02-20 21:34                       ` Warren W. Gay VE3WWG
2003-02-20  7:50                   ` Dale Stanbrough
2003-02-19 12:49                 ` Marin David Condic
2003-02-19 18:35                   ` [OT] Best way to isolate a GUI? (The final concensous?) Warren W. Gay VE3WWG
2003-02-20 12:40                     ` Marin David Condic
2003-02-20 13:13                       ` Dmitry A. Kazakov
2003-02-20 22:01                       ` Warren W. Gay VE3WWG
2003-02-21  1:25                         ` tmoran
2003-02-21  2:08                         ` Marin David Condic
2003-02-21 17:27                           ` Jeffrey Carter
2003-02-22 14:10                             ` Marin David Condic
2003-02-21 18:02                           ` Warren W. Gay VE3WWG
2003-02-22 14:49                             ` Marin David Condic
2003-02-22 22:50                               ` tmoran
2003-02-23  5:18                               ` Robert C. Leif
2003-02-24 18:06                               ` Warren W. Gay VE3WWG
2003-02-25  1:20                                 ` Robert C. Leif
2003-02-25 17:57                                   ` Warren W. Gay VE3WWG
2003-02-25 12:41                                 ` Marin David Condic
2003-02-25 13:32                                   ` Ole-Hjalmar Kristensen
2003-02-25 17:33                                     ` [OT] Best way to isolate a GUI? (The final fronteer?) Warren W. Gay VE3WWG
2003-02-20  8:26                   ` [OT] Best way to isolate a GUI? tmoran
2003-02-20 12:51                     ` Marin David Condic
2003-02-20 18:47                       ` tmoran
2003-02-17 19:31         ` tmoran
2003-02-18  1:37         ` Jeffrey Carter
2003-02-18  3:39           ` Warren W. Gay VE3WWG
2003-02-18 23:36           ` Randy Brukardt
2003-02-18 13:29         ` Marin David Condic
2003-02-18 18:01           ` Warren W. Gay VE3WWG [this message]
2003-02-19 13:06             ` Marin David Condic
2003-02-16 17:25 ` achrist
2003-02-16 21:24 ` Bobby D. Bryant
2003-02-16 21:52 ` David Marceau
2003-02-17  0:57 ` Re; " tmoran
2003-02-17  7:25   ` Jano
2003-02-17 14:09     ` Bobby D. Bryant
2003-02-17 21:12       ` Jano
2003-02-18  7:24         ` Jean-Pierre Rosen
2003-02-18 13:08 ` Marin David Condic
replies disabled

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