Splitting out the GTK+ dependency

Rationale

Currently we are seeing some interesting toolkits emerging around GObject and GNOME, Clutter being the obvious first in sight, also the various cairo based canvases out there. Cutting out the core properly, probably honing down the api a little as well, will allow us the final measure of flexibility to build plugins, editors and frontends completely in Clutter or other GObject using toolkits.

Implementation

Glade was originally designed for plugability of widgets, and the option to embed into IDEs, right now we have an almost GTK+ independant core library in Glade, with a large GTK+ specific backend and a small frontend using GTK+ to interface with the core. Basically all that remains to be done is create api to externalize the internal GTK+ based editors that are provided to edit objects in the core.

This would mean that a base toolkit library would be responsible for creating the GladeInspector (widget tree), GladeEditor (the main object property editor), GladeSignalEditor, GladeDesignLayout (the workspace area) and the GladePalette. These could become interfaces provided by the core to be implemented by base toolkit plugins (i.e. a hypothetical NBTK plugin would not have to implement editors, such as the GNOME plugin inherits most of its functionality from the GTK+ plugin).

Apps/Glade/Roadmap/KillGTKDependency (last edited 2013-11-18 19:35:46 by WilliamJonMcCann)