"Adam D. Moss" <[EMAIL PROTECTED]> writes:
> We had an adequately generic GUI and most users couldn't
> give a whit about the internal object model, but I can
> see an attraction to hackers.
Well I find GIMP 1.2's UI not at all generic. The whole GIMP is a huge
pile of global variables and dialogs which are not generic views but
are hardcoded each-for-each, requiring making the same error-prone
changes to many files at the same time if something has to change.
> > > >* For those of us with pieces of the tree's core which diverge
> > > >somewhat from the trunk, how much of a no-brainer is converting our
> > > >code to GTK 1.3-isms?
> >
> > The changes made for 2.0 migration are much less of a structural change
> > than what happens in two weeks of usual HEAD-reorganizing. Not a single
> > file was moved and almost only the object stuff was touched.
>
> It was an honest and straightforward question, not a
> rhetorical one; what is involved? Are the changes largely
> syntactic, or deeper?
Ok, I simply got it wrong. Porting to GLib2 is totally straightforward.
If there are no selfmade objects or widgets involved, it's almost 100%
source compatible, so code will compile smoothly (except for a few warnings
because glib/gtk+ return much more const string now).
Porting code which only uses the object model can be done step-by-step as
there are compatibility wrappers around the new GLib object ans signal stuff.
It's mostly:
gtk_signal_connect() -> g_signal_connect()
gtk_signal_connect_object() -> g_signal_connect_swapped()
gtk_signal_connect_while_alive() -> g_signal_connect_object(..., 0)
gtk_signal_connect_object_while_alive() -> g_signal_connect_object (...,
G_CONNECT_SWAPPED)
This is the olny change in Gtk user code that actually needs thinking
because g_signal_connect_object() does NOT correspond to
gtk_signal_connect_object()
Everything else is mostly like s/gtk_object_ref/g_object_ref/,
s/GTK_SIGNAL_FUNC/G_CALLBACK/
Objects and Widgets however need manual hacking, not just sed/perl voodoo.
After porting some of them, it takes about 10 minutes each.
> > What's a "no-brainer" BTW ?
>
> Something that does not require brain. =)
Hehe, true. Most of this stuff is slave work :-)
> > After all, isn't is just natural for GIMP HEAD to use the GIMP Toolkit's
> > bleeding edge version? This is unstable development.
>
> No, I *really* don't see the logic there at all. That's
> bleeding for bleeding's sake. GTK took a life of its own
> millenia ago and their destinies are no longer entwined.
You're right, this is not an argument. I said this _after_ explaining things.
Porting GIMP to Gtk2 will need a substantial amount of time and hacking
and if we'd start it _after_ GTK 2.0 is final, we will need another 12-24
months until it's stable.
IMHO porting it now was 100% right at this point of time, otherwise
the goal of releasing GIMP 1.4 by the end of this year cannon be reached.
> But the deed is done. :)
Yes.
ciao,
--Mitch
_______________________________________________
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer