[mac-lisp-ide] Re: ideas and issues
mikel evins
mikel at evins.net
Sun Feb 1 16:58:00 UTC 2004
On Feb 1, 2004, at 6:58 AM, Duncan Rose wrote:
[snip]
> The above may be generally true (or maybe not), but I've now taken
> this code out of my back end and its behaviour is unchanged. So I now
> *do not* think that run loops or threading is an issue for Cocoa GUIs.
>
> The general structure of the back end I'm working on as it stands is
> as follows:
>
> 1. Click on the natty bundle icon (making use of the Bosco bundle
> from Mikel)
> 2. the application delegate does a
> (clim-listener:run-listener-process) in the
> application-did-finish-launching, running CLIM as a separate process
> 3. All the CLIM infrastructure gubbins gets started, including
> running the CLIM event loop in yet another thread
>
> When the NSApplication receives events, it distributes them to the
> NSWindow and NSView subclasses I defined in my McCLIM back end. I
> think that these calls are made in a different thread again, but I
> could be wrong. However, I can only assume that even though the window
> instances are created in a different thread to the main thread, they
> are still added to the main thread's responder chain.
>
> So at the moment, all I can say is: I don't understand quite what's
> going on or why, but things seem to be working.
>
This seems like a pretty good start.
I have a Cocoa system definition that snaps into the McCLIM build
system. You can load and build the McCLIM system in the normal way, and
also build and load the Cocoa back end. If you do that, a McCLIM.app
gets built in the same way that Bosco.app gets built. You can launch
McCLIM.app and it starts up with a proper name and Dock icon. The app's
runtime loads no nibs; it just sets up the bare minimum Cocoa
event-processing environment (because it seems to me that nibfiles are
not really congruent with the CLIM way of building interfaces). You can
also load and run the CLIM listener--but then things break because the
concrete classes that realize CLIM sheets and frames are not working.
It seems like we have sort of two ends of the thing pretty well
started; now might be a good time to combine them and check in to the
McCLIM project so other people can contribute.
It also seems like we're not that far from having a good start on a
CLIM-based IDE if we can get the Listener and Goatee up and limping.
I posted separately that I've packaged a 0.1 release of Clotho. Seems
like that's two places to start. I don't see any reason we can't pursue
both (and others as well) until it becomes clear that either one is a
better idea than the other, or that each has its own use.
More information about the Mac-lisp-ide
mailing list