Difference between revisions of "Talk:Cocoa for EiffelVision2"

(Moved Dfurrer's inputs here, reorganized layout and added cocoa link)
Line 1: Line 1:
Maybe we should not target Cocoa, but carbon, just like SWT:http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt/Eclipse%20SWT/carbon
+
=Cocoa, Carbon ???=
 
+
* Maybe we should not target Cocoa, but carbon, just like SWT: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt/Eclipse%20SWT/carbon|carbon example in swt] could serve as inspiration for the backend.
could serve as inspiration for the backend.
+
* Info for [[http://developer.apple.com/cocoa|Cocoa]]
 +
* Alternatively (and probably much easier) one could also make EiffelVision use the native GTK+ port instead of the X-version. But the state of Gtk+-Cocoa is unclear. ([[User:Dfurrer|Dfurrer]])
  
 +
=Howto=
 
The basic approach would be:
 
The basic approach would be:
 
* to write a very simple Vision2 application only showing a window.
 
* to write a very simple Vision2 application only showing a window.

Revision as of 11:56, 18 April 2006

Cocoa, Carbon ???

  • Maybe we should not target Cocoa, but carbon, just like SWT: example in swt could serve as inspiration for the backend.
  • Info for [[1]]
  • Alternatively (and probably much easier) one could also make EiffelVision use the native GTK+ port instead of the X-version. But the state of Gtk+-Cocoa is unclear. (Dfurrer)

Howto

The basic approach would be:

  • to write a very simple Vision2 application only showing a window.
  • then we will have to write all implementation classes for the Vision2 widgets that will use the cocoa or carbon widgets internally
  • these will be empty at the beginning and then slowly filled
  • then one would start from the Vision2 event loop and try to fill the first implementation class, the one for the window probably
  • and from there one would go to the other widgets

This is a very interesting project as it unifies many different widget toolkits, you learn lots about the widget toolkit on OS X. But it is also tricky because the widget toolkit on top of which you are also has bugs that you have to work around. For example in carbon the Bevel button in OS X does not display correctly when it's height is set to be smaller than 20 pixels. So if you provide an interface to that button, you would have to work around that.