Difference between revisions of "Cocoa for EiffelVision2"

Line 8: Line 8:
 
=Screenshots=
 
=Screenshots=
 
[http://n.ethz.ch/student/upeter/download/screenshot_simple.png A Simple Vision2 Application running with the Carbon Imp]
 
[http://n.ethz.ch/student/upeter/download/screenshot_simple.png A Simple Vision2 Application running with the Carbon Imp]
 +
 
[http://n.ethz.ch/student/dfurrer/files/ev.png  A state of the art OS X Window]
 
[http://n.ethz.ch/student/dfurrer/files/ev.png  A state of the art OS X Window]
  

Revision as of 03:00, 24 June 2006


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 Simple Vision2 Application running with the Carbon Imp

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

24.06: We have now a simple Vision2 App (two buttons to set the language of the Window Title) running with the Carbon implementation. Have a look to the screenshot on top of the page. or get the vision2 project from here [1] and the carbon implementation from svn.

23.06: In the current SVN Version of the Vision2 Library (Carbon Implemetation), a few functions (including show, resizing...) of the window, the button and the EV_FIXED are working. Another important Milstone is, that we managed to handle events and to run an Event Loop.

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. [2]. 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 [3]

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 [4].

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_ise
in 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