Cocoa for EiffelVision2
Contents
Overview
The goal of this project is to provide Vision with a cocoa backend to make it truly native on the mac. For more information please refer to the discussion page. See also OSX_release_infrastructure.
Screenshots
A state of the art OS X Window
Milestones
M1: April 25th
- get EiffelStudio 5.7 compiled under OS X
M2: May
- Create a GTK based .app package
M3: end of May
- Get a Vision window displayed with a Carbon window (involves eventloop porting)
Current Status
10.06: We have now striped down a copy of the gtk vision implementation and started to implement the first few features. The code is still ugly, but you can get it here. [1]. A screen shot is at the top of this page :)
02.06: You can get the simple Carbon example Application, which we try to build in vision, here [2]
09.05: We have now delegated some tasks:
- Eiffel Media Package for Mac (Roland)
- GTK based .app package, probably universal (Dani & Maeli)
- Look into Carbon application development (Ueli)
- Look into wrapping Carbon headers with EWG (Jann)
It also seems that using Carbon instead of Cocoa is more realistic for this project, so we'll primarily look into Carbon now.
06.05: We now have a graphical version of ES 5.7 running on OS X (both ppc and intel). The problem was with the fontconfig libraray: The 2.3.2 version seems to crash where the 2.2.3 works fine. There are still a few problems with fonts sizes though... From what Jann tells me self compilation is also no problem anymore so we can really start hacking the beast now.
30.4: We have EiffelStudio compiled for ppc and running on ppc and intel macs. The Gtk+ GUI works more or less but some things (like wizards) are missing atm.
It required a lot of hacking and we're now trying to get newer builds, and streamline the process for getting a build on the mac.
I think the next goal should be to get a self-compiling version of ec so that we can skip building the f_code on linux and then adopt the build-script.
Documents
I collected a few Documents with introductions to carbon widgets and the carbon event Loop and also a part of the API Refference [3].
Build instructions
Requirements
- EWG (with EWG environment variable set)
- GOBO
Build infrastructure
You need a folder x with a subfolder "library". cd into the library folder and checkout the code with the following command
svn co https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/Src/library/vision2
Now point the environment variable ISE_LIBRARY_CARBON to the folder x.
Before you can compile a project you need to compile the EWG glue library. You can do this by running
geant c_build_library_isein the $ISE_LIBRARY_CARBON/library/vision2/implementation/carbon/wrapper directory.
You should then be able to compile and run a simple EV application lile our example project which you can get here: http://n.ethz.ch/student/dfurrer/files/vision4mac/simple_demo_app.zip
Team
Everyone intrested in this project is welcome to join our mailinglist es-mac@origo.ethz.ch