diff options
author | Johan Dahlin <johan@src.gnome.org> | 2007-06-27 23:44:25 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2007-06-27 23:44:25 +0000 |
commit | 3825c651702e89368a648e347e9fdce44fc2c108 (patch) | |
tree | 6866f937fa79f95c657dabc183f35246752b689d /gtk | |
parent | 1aea7f0956a7b72de3c939342dc2b8c8da709ac8 (diff) | |
download | gtk+-3825c651702e89368a648e347e9fdce44fc2c108.tar.gz |
(GtkBuilderConverter._convert):
Make sure that we can convert Gazpacho files too.
svn path=/trunk/; revision=18269
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtk-builder-convert | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert index 37155776ed..7237c8fb2e 100644 --- a/gtk/gtk-builder-convert +++ b/gtk/gtk-builder-convert @@ -83,8 +83,8 @@ class GtkBuilderConverter(object): # Private # - def _get_widget(self, doc, name): - result = self._get_widgets_by_attr(doc, "id", name) + def _get_widget(self, name): + result = self._get_widgets_by_attr("id", name) if len(result) > 1: raise ValueError( "It is not possible to have more than one " @@ -93,7 +93,7 @@ class GtkBuilderConverter(object): return result[0] return None - def _get_widgets_by_attr(self, doc, attribute, value): + def _get_widgets_by_attr(self, attribute, value): return [w for w in self._dom.getElementsByTagName("object") if w.getAttribute(attribute) == value] @@ -150,10 +150,13 @@ class GtkBuilderConverter(object): self._packing_prop_to_child_attr( node, "type", "label_item", "label") elif klass == "GtkMenuBar": - uimgr = node.ownerDocument.createElement('object') - uimgr.setAttribute('class', 'GtkUIManager') - uimgr.setAttribute('id', 'uimanager1') - self._interface.childNodes.insert(0, uimgr) + if node.hasAttribute('constructor'): + uimgr = self._get_widget('uimanager') + else: + uimgr = node.ownerDocument.createElement('object') + uimgr.setAttribute('class', 'GtkUIManager') + uimgr.setAttribute('id', 'uimanager1') + self._interface.childNodes.insert(0, uimgr) self._convert_menubar(uimgr, node) self._default_widget_converter(node) @@ -261,9 +264,9 @@ class GtkBuilderConverter(object): def _convert_sizegroup(self, node, prop): # This is Gazpacho only node.removeChild(prop) - obj = self._get_widget(doc, prop.childNodes[0].data) + obj = self._get_widget(prop.childNodes[0].data) if obj is None: - widgets = self._get_widgets_by_attr(doc, "class", "GtkSizeGroup") + widgets = self._get_widgets_by_attr("class", "GtkSizeGroup") if widgets: obj = widgets[-1] else: @@ -346,8 +349,7 @@ class GtkBuilderConverter(object): # Updating references made by widgets parent_id = node.parentNode.getAttribute("id") - for widget in self._get_widgets_by_attr(node.ownerDocument, - "constructor", + for widget in self._get_widgets_by_attr("constructor", node.getAttribute("id")): widget.getAttributeNode("constructor").value = parent_id node.removeAttribute("id") |