Alright. For those who wish to help out, there is much that actually seems to work, only a few major areas need working(and a whoooooooole lot a little areas ;)
1st - I am going to start this now - with gtk2, gdkpixbuf is built in, so the current hacks we have to store extra pixmaps and bitmap masks etc is not only broken because of changes in gdk, but redundant and slow(especially on remote displays. which since my laptop is down and out is how I am working) so we need to use just a pixbuf for internal storage, and only create a pixmap or mask as needed which in gtk2 for most of what we do should be almost never, some of this can be done in the gtk1 so that when gdkpixbuf is enabled we use gdkpixbufs for everything, which may also effect(positively) everyone who enables it for gtk1 build as well.
2nd - input is currently broken, not sure all the problems it may be simple but it affects a lot of things, buttons edits memos etc, menus partly work(input doesn't affect them since we don't have any intercepts).
3rd - we need to break out all the complexities in the gtk1 interface for deprecated widgets, so we can override them properly in gtk2. sometimes as was done to make it compile it is simply a matter of creating a wrapper of the gtk2 function name, which does what we already do, sometimes it will be more tricky.
4th - related to the above, we need to get rid of Gtkclist and GtkText for list and memo in the gtk2 interface(perferably with actual {$ifdef GTK1} in the gtk files). these are not only deprecated but quite buggy at times, we should replace them with the far more reliable/featurefull TextView/TreeView which should allow us to be more accurate to the original Delphi anyway, though it will likely require quite a significant amount of work to implement properly.. (volunteers anyone?)
5th - make sure all the little routines are optimized for native gtk2 whenever possible, message dialogs especially, likely can do this easily, but this is important for gtk2 integration because of the standardized(and which is somewhat opposite windows) button layout.
at least 1 & 2 need to be done to make the ide work, plus all the little bugs which will crop up as we go.
please note we should strive as much as possible to abstract version specific things into the gtkproc.pp/.inc files(and if needed create a gtk2proc.pp/.inc), and use lots of {$IFdef GTK1} so before to long we can compile without using any deprecated functions, and so the future GNOME2 interface will be easier to accomplish(I will look into creating the basics extra libs headers as soon as gtk2 interface works).
This will also make the backend code cleaner for supporting features of future version/sub-versions of GTK and GNOME without the same level of changes needed(hopefully).
Andrew
Mattias Gaertner wrote 16 lines
Hi all,
Thanks to Andrew, the gtk2 interface can now be compiled. And I ran the
first gtk2 lazarus application without error.
Now it has the same problem as the win32 interface. We need developers to
test and fix the bugs. The current gtk2 interface needs special compilation
and can not be built with 'make'. See lcl/interfaces/gtk2/README for
details. You need the latest gtk2forpascal. cvs is recommended.
Mattias
_________________________________________________________________
To unsubscribe: mail with
"unsubscribe" as the Subject
archives at
http://www.lazarus.freepascal.org/mailarchives