Posted: Mon Jan 24, 2005 2:14 am Post subject: is it possible to port the framework
Hi there,
first of all, i like neooffice very much ... it is the best opensource what i ever had found for OSX.
Yesterday i had downloaded Gimp 2.2 für OSX and im not afraid about the X-Server which is needed by Gimp.
Now my Question: is it possible to port the Java-Framework to get Aqua-Menus and -Behavior for Gimp.
And where I can find some Infos about this.
Joined: May 25, 2003 Posts: 4752 Location: Santa Barbara, CA
Posted: Tue Jan 25, 2005 7:50 pm Post subject:
Unfortunately it isn't possible to port the framework to the gimp. The essential problem with OOo/Neo is that it is its own *unique* framework. It was started back in the early 90s (?) before things like Qt existed, so it is essentially its own implementation of a cross-platform framework which, unfortunately, isn't as cross-platform as one would like...
The old StarDivision used to actually sell the framework as a standalone product for companies wishing to write cross platform software in the day too. I wonder if there were really any takers...
For The Gimp, the best bet is to look at the various native GTK ports:
FWIW, none of these help OOo (GTK is only used on Solaris/Linux for widget rendering; OOo itself isn't written to GTK or Qt or any other framework besides its internal one). The grapevine also informs me that all of them are "stalled", that is, that no work has been done on them in some time.
Well, Single-menu-bar menus have been discussed for GTK+ before, but I guess the consensus is that nobody in the GTK world really cares about this. I think Owen is of the mind that if anyone gives him a patch that works, he'll take it, but doesn't really care much beyond that.
I've looked into porting GTK to OS X before, and it looks like the even model that Cocoa uses won't really fit well onto GTK+, the same as we've seen with the NeoOffice/Cocoa port. The more procedural event model that Carbon uses is a much better fit for GTK.
But seriously, the current Carbon GTK port is only for GTK 1.2, which is long-dead and only used for Cine-paint. The GIMP is based on GTK 2.x, and that's not been ported by anyone yet.
GTK itself isn't really that huge, but it really depends on Pango at this point, and Pango isn't going to be that easy to interface into OS X. The Win32 Uniscribe text layout engine has been interfaced to Pango fairly well though, and that gives hope that ATSUI on Mac OS X can be used with Pango as well, since ATSUI does basically everythign that Pango does.
It would certainly be a chunk of work, and last I looked at it there were also tooling issues, for example the 'autoconf' and 'automake' tools that came with the latest Mac OS X development tools was too old to use with GTK. It required some hacks to actually get GTK to start building.
I'm basically of the opinion that it wouldn't be all that hard to get widgets drawing on the screen with Quartz/Carbon code, and even to interface them to the Appearance Manager to draw real Aqua widgets, but the text-rendering and Pango integraiton would probably be the hardest part.
Furthermore, there's glib too, and event-loop integration would have to occur, probably in the form of creating the Mac OS X event loop as a glib GSource feeding events into the glib mainloop, which then already forwards those to GTK.
So what's the added value, when comparing to Neo/J?
True, it might be used later for other software, but it seems to me that this would take as much time as porting Neo to Cocoa outright, which is to say, a very long time..
If you want to do it, by all means go for it . But there is a risk of fragmenting the already limited amount of effort avaliable.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum