First preview of the new EiffelVision2 for the Mac

It's been around 6 weeks now since I started writing the Cocoa implementation of EiffelVision. Many people told me that they are interested in the port and I'd like to give you a quick update.
I have touched almost all widgets and many basic things work. The controls show up and are positioned correctly (Much of the layout code has been taken from the windows implementation), buttons can be clicked, trees populated, images drawn, etc...
I also compiled the "EiffelVison2 Demo" application and EiffelStudio. (see Screenshots)
Design & Architecture
Just in case you're wondering how everything works: The whole architecture of the implementation has been split in two parts.
1) For handling the lower-level abstraction there is a cocoa bridge which encapsulates the Objective-C objects. This bridge currently consists of 53 classes and it should handle everything that has to deal with C, e.g. pointers and structs and the Objective-C/Cocoa specific stuff such as Selectors and Delegates.
E.g. NSButton is wrapped in NS_BUTTON and it is possible to set its action via set_action (an_action: PROCEDURE [ANY, TUPLE]) instead of using Cocoa's Action/Target pattern.
2) The second part is the implementation of the Vision2 interface which maps a Vision control (or any other vision class) to its cocoa counterpart(s). This can sometimes be pretty straight forward, often it involves working around limitations or a different architecture/approach taken by Cocoa.
As of today the source code of my work can also be found in the official trunk and I will continue to commit my updates there. Feel free to play around with it. Of course I'm happy to hear your feedback and discuss any issues.
Screenshots
The widgets example: buttons, labels, pixmaps, windows, menus, drawing area, spin button, scrollable area, ...
EiffelStudio start dialog: The black areas stem from the fact that the GRID control (and the drawing area) are still very much work in progress.
- dfurrer's blog
- Login or register to post comments
-

Comments
Excellent!
Great work, Daniel!
Let me know if you need help testing EiffelStudio once you have the Grid.
Till
http://comerge.net : adequate professional software
Can't see widgets example
I'll try to find time to look at what you've committed so far, Daniel. The EiffelStudio start-up dialog looks great, but I can't see the widgets example in Safari, Firefox or IE. Firefox says the png contains errors.
- Peter
Great work ~
Really cool! Thumb up!
I will try what you
I will try what you committed recently when I have time. Well done!
uploading the images again
I hope this helped: