Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/console/interface/memphis/memphis.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/console/interface/memphis/memphis.py')
-rw-r--r--shell/console/interface/memphis/memphis.py58
1 files changed, 49 insertions, 9 deletions
diff --git a/shell/console/interface/memphis/memphis.py b/shell/console/interface/memphis/memphis.py
index e533eb1..ec6c436 100644
--- a/shell/console/interface/memphis/memphis.py
+++ b/shell/console/interface/memphis/memphis.py
@@ -37,9 +37,30 @@ class Interface:
def __init__(self):
- # Our GtkTree (Treeview)
+ # Our GtkTree (Treeview)
self.treeview = gtk.TreeView()
- self.widget = self.treeview
+ self.treeview.show()
+
+ self.button_start = gtk.Button('Start Memphis')
+ self.button_stop = gtk.Button('Stop Memphis')
+
+ fixed = gtk.Fixed()
+ fixed.add(self.button_start)
+ fixed.add(self.button_stop)
+
+ vbox = gtk.VBox(False)
+ vbox.set_border_width(5)
+ vbox.pack_start(fixed, True, True, 0)
+
+ # Our GtkTree (Treeview)
+ self.treeview = gtk.TreeView()
+ t_width = gtk.gdk.screen_width()
+ t_height = gtk.gdk.screen_height() * 83 / 100
+
+ self.treeview.set_size_request(t_width, t_height)
+ vbox.pack_start(self.treeview, True, True, 0)
+ vbox.show_all()
+ self.widget = vbox
# Loading plugins
self.plg = plugin.Plugin()
@@ -56,8 +77,12 @@ class Interface:
# Creating a store model and loading process data to Treeview
# self.store_data_types, ex [int, str, str, str, int,...]
#self.store = gtk.TreeStore(*self.store_data_types)
- self.data = Data(self.treeview, self.plg.list)
-
+ self.data = Data(self, self.treeview, self.plg.list)
+
+ self.button_stop.hide()
+ self.button_start.connect('clicked', self.data._start_memphis)
+ self.button_stop.connect('clicked', self.data._stop_memphis)
+
class Data:
last_col_index = 0
@@ -66,8 +91,12 @@ class Data:
store_data_types = []
store_data_types_details = []
- def __init__(self, treeview, plg_list):
+ _running_status = False
+
+ def __init__(self, interface, treeview, plg_list):
+ self.interface = interface
+
# Top data types
self.plg_list = plg_list
@@ -101,9 +130,20 @@ class Data:
self.store = gtk.TreeStore(*self.store_data_types)
treeview.set_model(self.store)
- # Update information every 1 second
- gobject.timeout_add(500, self.load_data, treeview)
-
+ def _start_memphis(self, button):
+
+ # Update information every 1.5 second
+ button.hide()
+ self.interface.button_stop.show()
+ self._running_status = True
+ gobject.timeout_add(1500, self.load_data, self.treeview)
+
+ def _stop_memphis(self, button):
+
+ self._running_status = False
+ button.hide()
+ self.interface.button_start.show()
+
# Add a new column to the main treeview
def add_column(self, column_name, index):
cell = gtk.CellRendererText()
@@ -162,7 +202,7 @@ class Data:
treeview.set_rules_hint(True)
treeview.expand_all()
- return True
+ return self._running_status
def build_row(self, store, parent_iter, proc_data, pid):
data = []