summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2009-02-18 22:51:55 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2009-02-18 22:51:55 +0100
commit6f740cbb6b651dfa73ed6c0e0e2cf4176310e3c8 (patch)
tree0b528b92d62c7984fc6edc566d4f86b2e6e7865c
parentbc8b90244640273e775ce25a2f33d97f5da5bbfb (diff)
downloadportato-6f740cbb6b651dfa73ed6c0e0e2cf4176310e3c8.tar.gz
portato-6f740cbb6b651dfa73ed6c0e0e2cf4176310e3c8.tar.bz2
portato-6f740cbb6b651dfa73ed6c0e0e2cf4176310e3c8.zip
Add 'get_ui()' method for convenience
-rw-r--r--portato/gui/windows/basic.py15
-rw-r--r--portato/gui/windows/main.py8
2 files changed, 18 insertions, 5 deletions
diff --git a/portato/gui/windows/basic.py b/portato/gui/windows/basic.py
index d7c7940..a4f8236 100644
--- a/portato/gui/windows/basic.py
+++ b/portato/gui/windows/basic.py
@@ -23,7 +23,7 @@ from ...constants import TEMPLATE_DIR, APP, LOCALE_DIR
from ...helper import error
class WrappedTree (object):
- __slots__ = ("klass", "tree", "get_widget")
+ __slots__ = ("klass", "tree", "get_widget", "get_ui")
def __init__ (self, klass, tree):
self.tree = tree
self.klass = klass
@@ -40,6 +40,19 @@ class WrappedTree (object):
error("Widget '%s' could not be found in class '%s'.", name, self.klass)
return w
+ def get_ui (self, name, ui = "uimanager"):
+ uiw = self.get_widget(ui)
+ if uiw is None:
+ return None
+
+ if not name.startswith("ui/"):
+ name = "ui/%s" % name
+
+ w = uiw.get_widget(name)
+ if w is None:
+ error("UIItem '%s' of UIManager '%s' could not be found in class '%s'.", name, ui, self.klass)
+ return w
+
class UIBuilder (object):
def __init__ (self, connector = None):
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py
index eb4f7b3..437d305 100644
--- a/portato/gui/windows/main.py
+++ b/portato/gui/windows/main.py
@@ -479,8 +479,8 @@ class MainWindow (Window):
plugin.load_plugins()
menus = [p.menus for p in plugin.get_plugin_queue().get_plugins()]
- #if menus:
- # pluginMenu = self.tree.get_widget("pluginMenu")
+ # if menus:
+ # pluginMenu = self.tree.get_ui("pluginMenu")
# for m in itt.chain(*menus):
# item = gtk.MenuItem(m.label)
@@ -552,8 +552,8 @@ class MainWindow (Window):
self.packageTable = PackageTable(self)
# popups
- self.consolePopup = self.tree.get_widget("uimanager").get_widget("ui/consolePopup")
- self.trayPopup = self.tree.get_widget("uimanager").get_widget("ui/systrayPopup")
+ self.consolePopup = self.tree.get_ui("consolePopup")
+ self.trayPopup = self.tree.get_ui("systrayPopup")
# pause menu items
self.emergePaused = False