comp.lang.ada
 help / color / mirror / Atom feed
From: Nick Roberts <nick.roberts@acm.org>
Subject: Re: A community Windows binding
Date: Fri, 08 Oct 2004 03:43:28 +0100
Date: 2004-10-08T03:43:28+01:00	[thread overview]
Message-ID: <2smd6iF1mo0mcU1@uni-berlin.de> (raw)
In-Reply-To: <F9f9d.5205$UP1.1607@newsread1.news.pas.earthlink.net>

Jeffrey Carter wrote:

> Between callbacks and the single queue of events for all windows of JEWL 
> is an approach more suited to concurrent languages: multiple queues, one 
> per top-level window, with the assumption of one task per queue/window. 
> There should be the ability to select what events will be put in the 
> queue, and the possibility to combine queues when a window doesn't merit 
> its own task. Such an approach should scale better than JEWL's single 
> queue, and be more readable than callbacks.

I have long felt that the approach most suited to a concurrent language 
(such as Ada) is for the 'window manager' to be a separate task, or 
possibly many tasks.

The window manager calls -- via callbacks, or (better) dispatching -- the 
'draw' procedures of a registered set of 'visual components', in response 
to the movement, resizing, uncovering, deminimisation, etc., of those 
components, as they are placed on the screen. The window manager may do the 
actual drawing itself directly to the hardware, or it may be a proxy for an 
underlying subsystem. I appreciate that this model doesn't fit Win32 
perfectly, but it can be done.

All that a simple program (with no separate tasks of its own) needs to do 
is to set up the components, and register them with the window manager. Its 
main data needs to be protected (in protected objects), so that it can be 
accessed concurrently by the components' draw (and other) procedures, as 
they are called by the window manager.

However, this is all very idle and speculative.

 > What would be ideal would be an Ada-centric windowing library, with
 > implementations based on Win32, X, and the like.

Which sounds like Titian. But, as I mentioned elsewhere, this would be a 
huge project.

-- 
Nick Roberts



  parent reply	other threads:[~2004-10-08  2:43 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <usm8shkul.fsf@acm.org>
2004-10-05 23:28 ` A community Windows binding Stephen Leake
2004-10-06  4:26   ` David Botton
2004-10-06 17:42     ` Jeffrey Carter
2004-10-07 16:33       ` Warren W. Gay VE3WWG
2004-10-07 17:37         ` Jeffrey Carter
2004-10-08  2:39           ` Alexander E. Kopilovich
2004-10-08  2:43           ` Nick Roberts [this message]
2004-10-08  4:56             ` tmoran
2004-10-08 23:17             ` chris
2004-10-09  1:31             ` Jeffrey Carter
2004-10-09  1:36             ` Jeffrey Carter
2004-10-09  3:15               ` Steve
2004-10-09  6:23                 ` tmoran
     [not found]                 ` <z7ybd.26154$hk6.998363@news20.bellglobal.com>
2004-10-15  1:12                   ` Stephen Leake
2004-10-15 20:36                     ` David Botton
2004-10-17 13:25                       ` Stephane Riviere
2004-10-09 13:20               ` Stephen Leake
2004-10-10  9:04                 ` CBFalconer
2004-10-10 14:39                   ` Stephen Leake
2004-10-14 16:54                     ` Warren W. Gay VE3WWG
2004-10-14 16:53                   ` Warren W. Gay VE3WWG
2004-10-10  3:38               ` David Botton
2004-10-14 16:46             ` Warren W. Gay VE3WWG
     [not found]           ` <rSftVP19_F@VB1162.spb.edu>
2004-10-08  8:18             ` Marius Amado Alves
2004-10-08  1:36         ` Stephen Leake
2004-10-06  4:28   ` CBFalconer
2004-10-06  6:02     ` tmoran
2004-10-06 11:35     ` Georg Bauhaus
2004-10-06 14:04       ` Steve
2004-10-06  6:22   ` Fionn mac Cuimhaill
2004-10-06 17:18   ` Nick Roberts
2004-10-07  6:38   ` Frank Piron
2004-10-07  9:44   ` Ross Higson
2004-10-07 16:39     ` Warren W. Gay VE3WWG
2004-10-07 22:27       ` Ross Higson
     [not found] <41664D4E.7040405@netcabo.pt>
2004-10-08 21:38 ` Alexander E. Kopilovich
     [not found] <uacv0hhj0.fsf_-_@acm.org>
2004-10-10 18:05 ` Stephen Leake
2004-10-10 18:17   ` Andre
2004-10-10 20:55     ` tmoran
2004-10-11  0:34   ` David Botton
2004-10-11  0:39   ` David Botton
replies disabled

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