From 0aeff7f47b3b7e9492400b083e5db156d80b2b0c Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Sun, 8 Jul 2007 03:22:18 +0000 Subject: [PATCH] Parse but don't do anything yet. Do not strip 2007-07-08 Johan Dahlin * gtk/gtkwidget.c (gtk_widget_buildable_custom_tag_start): Parse but don't do anything yet. * gtk/gtk-builder-convert (GtkBuilderConverter._parse): Do not strip atk/accessibility tags * tests/buildertest.c (test_widget): Test this svn path=/trunk/; revision=18399 --- ChangeLog | 9 +++++++++ docs/reference/gtk/gtk-builder-convert.xml | 3 +++ gtk/gtk-builder-convert | 3 +-- gtk/gtkwidget.c | 21 +++++++++++++++++++++ tests/buildertest.c | 15 +++++++++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5d7a49a480..1890dd7e59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-07-08 Johan Dahlin + + * gtk/gtkwidget.c (gtk_widget_buildable_custom_tag_start): + Parse but don't do anything yet. + * gtk/gtk-builder-convert (GtkBuilderConverter._parse): + Do not strip atk/accessibility tags + * tests/buildertest.c (test_widget): + Test this + Sun Jul 8 01:33:45 2007 Tim Janik * gdk/gdkwindow.c: docu fixup by Bjoern Lindqvist, #454703. diff --git a/docs/reference/gtk/gtk-builder-convert.xml b/docs/reference/gtk/gtk-builder-convert.xml index dcac9a0b5a..85e3b2cf27 100644 --- a/docs/reference/gtk/gtk-builder-convert.xml +++ b/docs/reference/gtk/gtk-builder-convert.xml @@ -31,6 +31,9 @@ its output the file specified as the second argument. Toolbars are not handled. +Support for accessibility is not yet implemented. + + The script requires a python interpreter to run. diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert index 4b92157d3d..afe415d113 100755 --- a/gtk/gtk-builder-convert +++ b/gtk/gtk-builder-convert @@ -171,8 +171,7 @@ class GtkBuilderConverter(object): self._dom.removeChild(node) # Strip unsupported tags - for tag in ['requires', 'accessibility', 'atkproperty', - 'atkrelation']: + for tag in ['requires']: for child in self._dom.getElementsByTagName(tag): child.parentNode.removeChild(child) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 450d8d48ec..4f3e6ba9fa 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8547,6 +8547,12 @@ static const GMarkupParser accel_group_parser = accel_group_start_element, }; +static const GMarkupParser accessibility_parser = + { + NULL, + }; + + static gboolean gtk_widget_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, @@ -8567,6 +8573,21 @@ gtk_widget_buildable_custom_tag_start (GtkBuildable *buildable, *data = parser_data; return TRUE; } + else if (strcmp (tagname, "accessibility") == 0) + { + static gboolean warning_showed = FALSE; + + if (!warning_showed) + { + g_warning (" is being ignored,\n" + "see http://bugzilla.gnome.org/show_bug.cgi?id=454653\n"); + warning_showed = TRUE; + } + + *parser = accessibility_parser; + *data = NULL; + return TRUE; + } return FALSE; } diff --git a/tests/buildertest.c b/tests/buildertest.c index cff1d9742e..a6577d73fc 100644 --- a/tests/buildertest.c +++ b/tests/buildertest.c @@ -1466,6 +1466,15 @@ gboolean test_widget (void) " " " " ""; + gchar *buffer3 = + "" + " " + " " + " Contacts" + " " + " " + " " + ""; GtkBuilder *builder; GObject *window1, *button1; @@ -1488,6 +1497,12 @@ gboolean test_widget (void) window1 = gtk_builder_get_object (builder, "window1"); gtk_widget_destroy (GTK_WIDGET (window1)); g_object_unref (builder); + + builder = builder_new_from_string (buffer3, -1, NULL); + window1 = gtk_builder_get_object (builder, "window1"); + gtk_widget_destroy (GTK_WIDGET (window1)); + g_object_unref (builder); + return TRUE; }