summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <jdahlin@async.com.br>2007-07-08 03:22:18 +0000
committerJohan Dahlin <johan@src.gnome.org>2007-07-08 03:22:18 +0000
commit0aeff7f47b3b7e9492400b083e5db156d80b2b0c (patch)
tree71b66056df38625d6ee534b4b75f5b4f2bd02176
parent2af3c53e47e3128a3f2c058d4bfd3b390d228327 (diff)
downloadgdk-pixbuf-0aeff7f47b3b7e9492400b083e5db156d80b2b0c.tar.gz
Parse <accessibility> but don't do anything yet. Do not strip
2007-07-08 Johan Dahlin <jdahlin@async.com.br> * gtk/gtkwidget.c (gtk_widget_buildable_custom_tag_start): Parse <accessibility> 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
-rw-r--r--ChangeLog9
-rw-r--r--docs/reference/gtk/gtk-builder-convert.xml3
-rwxr-xr-xgtk/gtk-builder-convert3
-rw-r--r--gtk/gtkwidget.c21
-rw-r--r--tests/buildertest.c15
5 files changed, 49 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d7a49a48..1890dd7e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-07-08 Johan Dahlin <jdahlin@async.com.br>
+
+ * gtk/gtkwidget.c (gtk_widget_buildable_custom_tag_start):
+ Parse <accessibility> 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 <timj@gtk.org>
* 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 dcac9a0b5..85e3b2cf2 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.
</para>
<para>
+Support for accessibility is not yet implemented.
+</para>
+<para>
The script requires a python interpreter to run.
</para>
</refsect1>
diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert
index 4b92157d3..afe415d11 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 450d8d48e..4f3e6ba9f 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 ("<accessibility> 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 cff1d9742..a6577d73f 100644
--- a/tests/buildertest.c
+++ b/tests/buildertest.c
@@ -1466,6 +1466,15 @@ gboolean test_widget (void)
" </child>"
" </object>"
"</interface>";
+ gchar *buffer3 =
+ "<interface>"
+ " <object class=\"GtkWindow\" id=\"window1\">"
+ " <accessibility>"
+ " <atkproperty name=\"AtkObject::accessible_name\" translatable=\"yes\">Contacts</atkproperty>"
+ " <atkrelation target=\"button1\" type=\"labelled-by\"/>"
+ " </accessibility>"
+ " </object>"
+ "</interface>";
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;
}