summaryrefslogtreecommitdiffstats
path: root/frontend
diff options
context:
space:
mode:
authorMartin Sivak <msivak@redhat.com>2008-04-22 16:13:01 +0200
committerMartin Sivak <msivak@redhat.com>2008-04-22 16:13:01 +0200
commit514f876e7c1237b14bf6027512f6e4bd66aab446 (patch)
tree035e339625731a63ae74d405545664c4b3f8386c /frontend
parentdee14baa89d53011a378afda25ec344a8d70cfba (diff)
downloadfirstaidkit-514f876e7c1237b14bf6027512f6e4bd66aab446.tar.gz
firstaidkit-514f876e7c1237b14bf6027512f6e4bd66aab446.tar.xz
firstaidkit-514f876e7c1237b14bf6027512f6e4bd66aab446.zip
List of plugins and flows
Diffstat (limited to 'frontend')
-rw-r--r--frontend/main.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/frontend/main.py b/frontend/main.py
index 115922c..8bd8f19 100644
--- a/frontend/main.py
+++ b/frontend/main.py
@@ -170,6 +170,66 @@ class MainWindow(object):
self.status_text = self._glade.get_widget("status_text")
self.status_progress = self._glade.get_widget("status_progress")
+ self.plugin_list_store = gtk.TreeStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_STRING)
+ self.plugin_list = self._glade.get_widget("tree_Expert")
+ self.plugin_list.set_model(self.plugin_list_store)
+
+ self.plugin_rend_text = gtk.CellRendererText()
+ self.plugin_rend_toggle = gtk.CellRendererToggle()
+ self.plugin_rend_toggle.set_radio(False)
+ self.plugin_rend_toggle.set_property("activatable", False)
+
+ def plugin_rend_text_func(column, cell_renderer, tree_model, iter, user_data):
+ if tree_model.iter_depth(iter)==0:
+ cell_renderer.set_property("cell-background-set", True)
+ cell_renderer.set_property("cell-background-gdk", gtk.gdk.Color(red=50000, green=50000, blue=50000))
+ cell_renderer.set_property("markup", "<b>" + tree_model.get_value(iter, user_data) + "</b>")
+ else:
+ cell_renderer.set_property("cell-background-set", False)
+ cell_renderer.set_property("text", tree_model.get_value(iter, user_data))
+ return
+
+ def plugin_rend_toggle_func(column, cell_renderer, tree_model, iter, user_data = None):
+ if tree_model.iter_depth(iter)==0:
+ cell_renderer.set_property("activatable", False)
+ cell_renderer.set_property("active", False)
+ cell_renderer.set_property("visible", False)
+ cell_renderer.set_property("cell-background-set", True)
+ cell_renderer.set_property("cell-background-gdk", gtk.gdk.Color(red=40000, green=40000, blue=40000))
+ else:
+ cell_renderer.set_property("activatable", True)
+ cell_renderer.set_property("active", tree_model.get_value(iter,0))
+ cell_renderer.set_property("visible", True)
+ cell_renderer.set_property("cell-background-set", False)
+ return
+
+ self.plugin_list_col_0 = gtk.TreeViewColumn('Use')
+ self.plugin_list_col_0.pack_start(self.plugin_rend_toggle, False)
+ self.plugin_list_col_0.add_attribute(self.plugin_rend_toggle, 'active', 0)
+ self.plugin_list_col_0.set_cell_data_func(self.plugin_rend_toggle, plugin_rend_toggle_func)
+
+ self.plugin_list_col_1 = gtk.TreeViewColumn('Name')
+ self.plugin_list_col_1.pack_start(self.plugin_rend_text, True)
+ self.plugin_list_col_1.set_cell_data_func(self.plugin_rend_text, plugin_rend_text_func, 1)
+
+ self.plugin_list_col_2 = gtk.TreeViewColumn('Description')
+ self.plugin_list_col_2.pack_start(self.plugin_rend_text, True)
+ self.plugin_list_col_2.set_cell_data_func(self.plugin_rend_text, plugin_rend_text_func, 2)
+
+ self.plugin_list.append_column(self.plugin_list_col_0)
+ self.plugin_list.append_column(self.plugin_list_col_1)
+ self.plugin_list.append_column(self.plugin_list_col_2)
+ self.plugin_list.set_search_column(1)
+
+ pluginsystem = tasker.pluginsystem()
+ self.plugin_iter = {}
+ for plname in pluginsystem.list():
+ p = pluginsystem.getplugin(plname)
+ piter = self.plugin_list_store.append(None, [False, p.name, p.description])
+ self.plugin_iter[plname] = piter
+ for n,d in [ (f, p.getFlow(f).description) for f in p.getFlows() ]:
+ self.plugin_list_store.append(piter, [False, n, d])
+
def update(self, message):
def _o(func, *args, **kwargs):
"""Always return False -> remove from the idle queue after first execution"""