[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FreeAES



On Fri, 19 Jun 1998, Mario Becroft wrote:

> > This is really cool. Making all alerts into non-modal windows
> > should have been done in all AES already. I wonder why others 
> > (N.AES and Magic) haven't done it; it's one of those things I
> > think are definitely needed as an AES upgrade.
> 
> The trouble with that idea is that non-modal alerts are not
> normally possible with the current implementation. Since the program
> displaying the alert is inside the form_alert call all the time the alert
> is displayed, it will be unable to handle events, which would be very
> disconcerting for the user.

Well the other apps could go on running, but I guess you mean the alerting
application misses redraws as well. But I had this wild thought on how to
solve that problem..:) 

The thing is, I had this idea a while ago on how to make form_alert()
completely non-modal, but then realised that it was a bit too far-fetched,
especially since programs that use form_do() don't count on other bits of
their code being executed at the same time. But maybe it COULD be used for
only redraw events. This was the original idea:

The difference between Windows- and GEM-philosophy is that for windows you
write only subroutines which get called by Windows, whereas in GEM you
completely control the program flow, giving control back to GEM only when
you want to, then working out which event you received and jumping to the
appropriate code. But actually when you think of it, there's not that much
difference between those two. The only problem in GEM is that a program
has different places in which it waits for an event. BUT... what stops GEM
from sneakily starting the app from the main event loop again, while it's
executing a form_alert? So basically what I mean is GEM remembering the
places it was called from, and when any event occurs it executes the app
from the last event loop that fits the event. 

Ok, as I said this is a tad far-fetched. :) But maybe it could work if
used only for redraw-events?

Maurits.