First preview of the new EiffelVision2 for the Mac

by Daniel Furrer (modified: 2010 Jan 28)

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 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.


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.

  • Till Bay (15 years ago 28/4/2009)


    Great work, Daniel!

    Let me know if you need help testing EiffelStudio once you have the Grid.

    Till : adequate professional software

  • Peter Gummer (15 years ago 28/4/2009)

    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

  • Larry Liu (15 years ago 28/4/2009)

    Great work ~

    Really cool! Thumb up!

  • Tao Feng (15 years ago 28/4/2009)

    I will try what you committed recently when I have time. Well done!

  • Daniel Furrer (15 years ago 30/4/2009)

    uploading the images again

    I hope this helped: