Reenen Laurie wrote / napĂsal(a): > Hi Everybody > > I don't want to rehash stuff that's already been discussed at length, > but I missed that part... > > According to the blog (lazarus-dev.blogspot.com) Gtk is just so > complicated. Why don't we just decide on Qt4 as it is now gpl, and > focus all our energies on getting qt 4 stable. Then we can have 1 > very cool looking stable widget set that has scalability, and pretty > much will be able to satisfy 99% of the users needs (and that 1% isn't > likely to be fulfilled by GTK anyway). > > Regards, > -Reenen > _______________________________________________ > Lazarus mailing list > [email protected] > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus > >
Well I played with Gtk2 a bit lately (that is the native thing, not via LCL) and I think that later versions (2.10+ and especially 2.12) are actually becoming usable. The thing is, our biggest problem is missing features and "2.6+" support which holds us back. I agree with it somewhat but I think we need to look into the future too so I started a "gtk2ext" unit which contains lazy linked Gtk2.8+ stuff. Each new component can be checked with Available_componentname_2_x(). So say something (like tray icon) was added in 2.12 you can do if Available_GtkStatusIcon_2_12() then ... Same goes for PARTS of components. There are new functions added each major release to older components too. I'm slowly mapping that and adding them, with same checking mechanism. So if you do Available_SomethingOld_2_10() you check if all the new 2_10 functions of that component are there (logically 2.12+ should be true as well). Those who thing gtk2 needs help can help me with this as it's not a trivial task. It seems our old gtk2 2.6 binding is missing a lot of things. I'm currently going "down by the docs" and filling in stuff, but if someone wants to help, tell me which part you want to work on so we don't collide. The structure is rather simple and very h2pas friendly: unit gtk2ext (inside fpc/packages/gtk2/src/gtkext) contains include files for header and implementation parts named after the components they include/extend. If you want to extend an old component or add new one, just add the 2 new include files. Adding new ones is especially easy, because gtk2 has header files in this exact fashion (this is very nice of them). So you can just h2pas them and then fiddle with the result (most work is making the macroes into inline functions). After this is done, the unit can be added to lazarus too (under different name) until next fpc version which has it (2.2.4) and we can do "if xxx then" to e.g: use proper tray icon for example (the gtk2 native tray icon works better, it doesn't "get missing" on gnome boot etc.) Ales _______________________________________________ Lazarus mailing list [email protected] http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
