From: Matthias Clasen <matthias.cla...@gmail.com> > I've spent some time this weekend starting to explore how moving gail > implementations into gtk 1-by-1 will work in practice. I didn't get > very far (GtkWidget, GtkContainer and GtkImage), but the exercise > proves very useful for spotting all the things that should be > straightened out in the gail implementations. > > http://git.gnome.org/browse/gtk+/log/?h=drop-gail > > if you want to take a look. I expect to spend some more time on it > over the coming weeks. From my perspective, the next steps for this > are: > > 1. move remaining implementations over, keeping a list of things to > clean up later
Like a bug per widget to move, or the work will be done just on this git branch? > 2. add replacements for libgailutil api to GtkTextBuffer and where > else they belong, as needed It has sense, as libgailutil mostly delegates on GtkTextBuffer. Anyway, on a perfect world, this would became a gtk-independent thing (but I feel that this is too "high level" to be included on glib). Right now ATK implementation on clutter lacks a implementation of those methods, postponed due other things, but that would require to be solved somehow, and I really feel that just reimplement it would be a waste of time (but right now, is the solution I have in hands). > 3. move setting up the factories to gtkmain If we move gail to gtk, why maintain the factories? Some people opposed to use the factories as the default way to instantiate the accessible object, ie. Owen Taylor here [1] For this reason, on St the factories are not being used, so StWidget->get_accessible was redefined. In order to not redefine get_accessible on any object, a virtual get_type method was added (you can review the patch here) [4] > - at this point, gail should no longer be needed - > > 4. start on all the FIXMEs that got added in step 1 > - drop the crazy focus handling contortions As I commented to Li Yuan on a private mail, it would be good to reduce as much as possible the code on gail.c, so all the a11y support for the gtk hierarchy would be implemented on the gail hierarchy. Right now, on clutter, the code con cally.c is just the factory registration. Anyway, I know that this is not a perfect example, as gail is more complete, and has more requirements. > - drop excessive use of signal handlers > - don't create an extra text buffer for each text-containing widget > in the world > - etc > > 5. port GtkAccessible to use AtkGObjectAccessible; clutter uses that, > and it looks a little cleaner For all the reasons above, I added a factory-related item on the atk roadmap [3] (that should be also a "towards atk 2.0" bug), and also created a but on clutter related to debate it is a good idea to keep using AtkGObjectAccessible on Clutter [3]. BR [1] https://bugzilla.gnome.org/show_bug.cgi?id=626658#c5 [2] http://live.gnome.org/Accessibility/Roadmap#Augmented_and_Consistently-Implemented_Atk [3] http://bugzilla.clutter-project.org/show_bug.cgi?id=2371 [4] https://bugzilla.gnome.org/show_bug.cgi?id=636717#c17 BR === API (apinhe...@igalia.com) _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list