I'm still here too; it's been a little slow with the McCLIM Cocoa back end over the last couple of weeks, but hopefully things are moving again now. Currently the McCLIM Listener isn't really usable - this is my priority at the moment.
Whilst not going into the same amount of detail as Mikel, here's what *needs* to be done, and what I'd like to do over the coming weeks:-
+ "Core" functionality needed to get the Listener working * scrolling (I'm working on this now) [1] * pixmap support * menus * flipping ink * keyboard events (currently only ASCII input works)
+ Other stuff to complete the back end * a couple of primitive drawing methods aren't implemented yet (ellipse + circle) * bringing it up to date with the latest McCLIM sources (Andy Heffner added scroll wheel support into McCLIM which should be easy to add into the Cocoa back end) * LOTS of tidying up (I'm still learning, and I think it shows!) * Native pane implementation - replace the standard McCLIM L&F with pretty Aqua as default in the Cocoa back end
Once this is done I think it will be ready to checkin to the McCLIM repository. Depending on how long all this takes, I might push for committing it after the Listener runs but before everything else is done.
Other than this, I want to work on finishing off McCLIM (it's not 100% complete as per the spec), including writing a comprehensive test suite. I'd like to see an CLIM editor, inspector, stepper and debugger (I don't think I'm alone in this) and also a documentation authoring / viewing tool would be nice. I've found some things in CLIM to be difficult to understand and whilst the code is always going to be the best documentation, some written documentation would be nice too.
As far as the editor goes, there appear to be a couple of options. The first is just to use Emacs, but I'd like something that is CL (and integrated better into the overall environment - which also needs implementing[2]). Other alternatives include Hemlock, or waiting to see what others create and stealing that ;-) Another alternative that sounds interesting (to me) but which might not be practical would be to port the Dylan Deuce editor into CL + CLIM (there are many similarities between DUIM + CLIM, but also many differences. Whether it's possible to work around the differences or not remains to be seen).
Since I'm working in OpenMCL, using the OpenMCL inspector as a base for a McCLIM inspector has some appeal. Obviously the UI elements would need reworking (this may well hold true for all these tools of course; if an MVC approach is followed to their development there's no reason the same basic application code can't be reused with different UIs atop).
As to a stepper and debugger, I don't really have any ideas how to even start on these kinds of tools (and I suspect OpenMCL would need some hacking to permit highly-functional implementations too - but until I have time to sit down and trawl through its internals (that would be sometime in 2030 I think...) I'm just making wild guesses).
-Duncan
[1] In case you're wondering, the "scrolling problem of the day" is that McCLIM seems to perform scrolling by altering the scrollee's transformation and region. The functions that do this in CLX (clx:drawable-x etc.) appear to cause the server redraw the mirror automatically - not so in Cocoa, and using 'dispatch-repaint' in CLIM leads to infinite looping. Now I'm wishing I'd done the drawing in the Cocoa back end differently so I could just send a Cocoa "setNeedsDisplay". I guess more kludges are needed ;-)
[2] It's possible (likely?) this will be "in" McCLIM already by the time I get around to it...
On Tuesday, March 23, 2004, at 04:16 PM, Brian Mastenbrook wrote:
Greetings all,
This list has been dead for a while, so I'm wondering where everyone is? As I recall people were working on a few cool things: Clotho, McCLIM/Cocoa, and SBCL/PPC callbacks for Carbon. I'd love to know how people have been doing on these!
Brian
Brian Mastenbrook bmastenb@cs.indiana.edu http://cs.indiana.edu/~bmastenb/
mac-lisp-ide site list mac-lisp-ide@common-lisp.net http://common-lisp.net/mailman/listinfo/mac-lisp-ide