comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <mcondic.auntie.spam@acm.org>
Subject: Re: [OT] Best way to isolate a GUI? (The final concensous?)
Date: Sat, 22 Feb 2003 09:10:52 -0500
Date: 2003-02-22T14:11:34+00:00	[thread overview]
Message-ID: <b380em$nob$1@slb4.atl.mindspring.net> (raw)
In-Reply-To: 3E5661F0.2060200@acm.org

So here's a thing: Ada might potentially be able to evolve some sort of
standard interface to the GUI world by saying "wrap up the GUI in something
that will send and receive this set of messages". I'm curious what sort of
mechanism might provide for a single thread or multiple threads (as you
suggest, a task per window). Either you have the wrapper send things to a
single queue, or you've got to have tasks defining queues and registering
for events. I'm not sure that registering for events is such a bad thing -
I've seen a number of OS-like things that have used this exact scheme and it
works reasonably well. Certainly, if you go to a single queue, one could
evolve yet another layer of abstraction on top of that which would allow for
registration & multiple queues.

Here's a problem though: You could use events/messages/etc or you could use
procedure calls, callbacks, etc., but in either case you've got to have a
lot of things carefully defined and you've got to limit yourself to the
things that could be readily supported by most of the popular GUIs & GUI
builders.Would you see this as a problem? I still like the message/event
format because once you're hiding behind that skin the GUI could be in the
next county and your app doesn't need to know, but I could see it involving
quite a big message catalog & it doesn't get you around
least-common-denominator problems.

MDC
--
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/

Send Replies To: m c o n d i c @ a c m . o r g

    "Going cold turkey isn't as delicious as it sounds."
        -- H. Simpson
======================================================================

Jeffrey Carter <jrcarter@acm.org> wrote in message
news:3E5661F0.2060200@acm.org...
>
> This is about what I was trying to say. I mentioned the idea of having a
> task per window to emphasize the inherent concurrency of multiple
> windows, and some posters seem to have fixated on tasks rather than on
> the message (event) queue that was really what I was talking about.
>
> You can see an example of this, built on top of Windows, in JEWL.
> Because it's intended for beginners, it's rather too simple for a
> complete windowing system, but it does show how a GUI can be designed
> using events ("commands" in JEWL parlance) rather than callbacks. It
> doesn't prevent you from having dynamic windows or dialogs, nor does it
> force you to use tasks. It does let you structure your system the way
> you want, and control what it does, rather than structuring it for the
> convenience of the windowing system, and giving control to that system.
> This alone makes the software much easier to read and understand.
>






  reply	other threads:[~2003-02-22 14:10 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 [this message]
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
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