Re: A community Windows binding

From: Jeffrey Carter (spam_at_spam.com)
Date: 10/07/04


Date: Thu, 07 Oct 2004 17:37:41 GMT

Warren W. Gay VE3WWG wrote:

> JEWL when I looked at it last (>= yr) was nice and simple. As a
> GUI training vehicle, I don't think you can beat it (unless you
> insist on training on callbacks). I don't believe that JEWL's
> design goals were such that it ever should be a General Purpose
> interface for GUI. Problems such as the inability to redirect a
> focus to a specific widget limits its wider use.

JEWL is very nice for its purpose, which is instruction and fairly
simple windowing on Windows. It was never intended to be complete, and
is pure GPL.

> There was a thread on the GUIs & callbacks sometime ago, where I
> believe MDC was quite vocal. Callbacks are a pain, but there aren't
> too many practical alternatives. The big main loop that JEWL uses, is
> one such alternative, but I am not convinced this scales well to
> larger projects.

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.

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

-- 
Jeff Carter
"Run away! Run away!"
Monty Python and the Holy Grail
58


Relevant Pages

  • Re: A community Windows binding
    ... > windowing system. ... In Windex, GWindows, CLAW, and GtkAda, each "little piece of code" has ... MS Windows has an event queue. ... The handler may make GUI calls that put other events on the event ...
    (comp.lang.ada)
  • Re: Producer-consumer threading problem
    ... None if there wasn't anything to consume to prevent blocking. ... You could have callbacks that don't do ... iterator that yields results. ... Producer can push items on the queue and while the collector asynchronously pops them off. ...
    (comp.lang.python)
  • Re: Event-Queuing
    ... Die CallBacks ... Dim Queue as Collection ... Dim Job as CJob ... If Queue Is Nothing Then Set Queue = New Collection ...
    (microsoft.public.de.vb)
  • Re: better scheduler with correct sleep times
    ... it calls the sleep method and while it sleeps (presumably ... programming: Event Queue. ... appropriate callbacks for each event. ... will execute the function you've given before. ...
    (comp.lang.python)
  • Re: Signal callback
    ... Use them instead of callbacks in all cases. ... pull them off the queue. ... input queue, say. ... well, with no confusion about callbacks, and no confusingly ...
    (comp.os.linux.embedded)