[tor-commits] [arm/release] Moved cagraph packing from controller to graphing.

atagar at torproject.org atagar at torproject.org
Sun Jul 17 06:08:27 UTC 2011


commit afeb960aa3d3e7f2d80e648fd837c53298ce55ae
Author: Kamran Riaz Khan <krkhan at inspirated.com>
Date:   Sun Jun 19 12:44:37 2011 +0500

    Moved cagraph packing from controller to graphing.
---
 src/gui/controller.py              |   49 ++--------------------------------
 src/gui/graphing/bandwidthStats.py |    4 +-
 src/gui/graphing/graphStats.py     |   51 +++++++++++++++++++++++++++++++++--
 3 files changed, 53 insertions(+), 51 deletions(-)

diff --git a/src/gui/controller.py b/src/gui/controller.py
index 7f85b9a..4da82c9 100644
--- a/src/gui/controller.py
+++ b/src/gui/controller.py
@@ -2,13 +2,7 @@ import gobject
 import gtk
 
 from util import torTools
-from gui.graphing import graphStats, bandwidthStats
-
-from cagraph.ca_graph import CaGraph
-from cagraph.axis.xaxis import CaGraphXAxis
-from cagraph.axis.yaxis import CaGraphYAxis
-from cagraph.ca_graph_grid import CaGraphGrid
-from cagraph.series.area import CaGraphSeriesArea
+from gui.graphing import bandwidthStats
 
 gobject.threads_init()
 
@@ -20,18 +14,8 @@ class GuiController:
     self.builder.add_from_file(filename)
     self.builder.connect_signals(self)
 
-    # for custom widgets not present in builder xml
-    self.widgets = {}
-
-    self._pack_graph_widget('primary')
-    self._pack_graph_widget('secondary')
-
-    self.bwStats = bandwidthStats.BandwidthStats(self.builder, self.widgets)
-
-    gobject.timeout_add(1000, self.bwStats.draw_graph, 'primary')
-    gobject.timeout_add(1000, self.bwStats.draw_graph, 'secondary')
-    gobject.timeout_add(1000, self.bwStats.update_labels, 'primary')
-    gobject.timeout_add(1000, self.bwStats.update_labels, 'secondary')
+    self.bwStats = bandwidthStats.BandwidthStats(self.builder)
+    self.bwStats.pack_widgets()
 
   def run(self):
     window = self.builder.get_object('window_main')
@@ -47,33 +31,6 @@ class GuiController:
   def on_window_main_delete_event(self, widget, data=None):
     gtk.main_quit()
 
-  def _pack_graph_widget(self, name):
-    graph = CaGraph()
-    placeholder = self.builder.get_object('placeholder_graph_%s' % name)
-    placeholder.pack_start(graph)
-
-    xaxis = CaGraphXAxis(graph)
-    yaxis = CaGraphYAxis(graph)
-
-    xaxis.min = 0
-    xaxis.max = graphStats.GRAPH_INTERVAL - 1
-    xaxis.axis_style.draw_labels = False
-
-    graph.axiss.append(xaxis)
-    graph.axiss.append(yaxis)
-
-    series = CaGraphSeriesArea(graph, 0, 1)
-
-    line_colors = {'primary' : (1.0, 0.0, 1.0, 1.0), 'secondary' : (0.0, 1.0, 0.0, 1.0)}
-    fill_colors = {'primary' : (1.0, 0.0, 1.0, 0.3), 'secondary' : (0.0, 1.0, 0.0, 0.3)}
-    series.style.line_color = line_colors[name]
-    series.style.fill_color = fill_colors[name]
-
-    graph.seriess.append(series)
-    graph.grid = CaGraphGrid(graph, 0, 1)
-
-    self.widgets['graph_%s' % name] = graph
-
 def startGui():
   controller = GuiController()
   controller.run()
diff --git a/src/gui/graphing/bandwidthStats.py b/src/gui/graphing/bandwidthStats.py
index a8278d8..401302c 100644
--- a/src/gui/graphing/bandwidthStats.py
+++ b/src/gui/graphing/bandwidthStats.py
@@ -12,8 +12,8 @@ from gui.graphing import graphStats
 from util import uiTools, torTools
 
 class BandwidthStats(graphStats.GraphStats):
-  def __init__(self, builder, widgets):
-    graphStats.GraphStats.__init__(self, builder, widgets)
+  def __init__(self, builder):
+    graphStats.GraphStats.__init__(self, builder)
 
     conn = torTools.getConn()
     if not conn.isAlive():
diff --git a/src/gui/graphing/graphStats.py b/src/gui/graphing/graphStats.py
index c000ff4..fcd326f 100644
--- a/src/gui/graphing/graphStats.py
+++ b/src/gui/graphing/graphStats.py
@@ -13,15 +13,21 @@ import gtk
 from TorCtl import TorCtl
 from util import uiTools, torTools
 
+from cagraph.ca_graph import CaGraph
+from cagraph.axis.xaxis import CaGraphXAxis
+from cagraph.axis.yaxis import CaGraphYAxis
+from cagraph.ca_graph_grid import CaGraphGrid
+from cagraph.series.area import CaGraphSeriesArea
+
 GRAPH_INTERVAL = 30
 
 class GraphStats(TorCtl.PostEventListener):
-  def __init__(self, builder, widgets):
+  def __init__(self, builder):
     TorCtl.PostEventListener.__init__(self)
 
     self.builder = builder
-    self.widgets = widgets
 
+    self.graphs = { 'primary' : None, 'secondary' : None }
     self.data = {
         'primary'   : deque([0.0] * GRAPH_INTERVAL),
         'secondary' : deque([0.0] * GRAPH_INTERVAL)}
@@ -29,6 +35,45 @@ class GraphStats(TorCtl.PostEventListener):
     self.total = {'primary': 0.0,  'secondary' : 0.0}
     self.ticks = {'primary': 0,  'secondary' : 0}
 
+  def pack_widgets(self):
+    self._pack_graph_widget('primary')
+    self._pack_graph_widget('secondary')
+
+    gobject.timeout_add(1000, self.draw_graph, 'primary')
+    gobject.timeout_add(1000, self.draw_graph, 'secondary')
+    gobject.timeout_add(1000, self.update_labels, 'primary')
+    gobject.timeout_add(1000, self.update_labels, 'secondary')
+
+  def _pack_graph_widget(self, name):
+    graph = CaGraph()
+    placeholder = self.builder.get_object('placeholder_graph_%s' % name)
+    placeholder.pack_start(graph)
+
+    xaxis = CaGraphXAxis(graph)
+    yaxis = CaGraphYAxis(graph)
+
+    xaxis.min = 0
+    xaxis.max = GRAPH_INTERVAL - 1
+    xaxis.axis_style.draw_labels = False
+    yaxis.axis_style.label_color = (0, 0, 0)
+
+    graph.axiss.append(xaxis)
+    graph.axiss.append(yaxis)
+
+    series = CaGraphSeriesArea(graph, 0, 1)
+
+    line_colors = {'primary' : (1.0, 0.0, 1.0, 1.0), 'secondary' : (0.0, 1.0, 0.0, 1.0)}
+    fill_colors = {'primary' : (1.0, 0.0, 1.0, 0.3), 'secondary' : (0.0, 1.0, 0.0, 0.3)}
+    series.style.line_color = line_colors[name]
+    series.style.fill_color = fill_colors[name]
+
+    graph.seriess.append(series)
+    graph.grid = CaGraphGrid(graph, 0, 1)
+
+    self.graphs[name] = graph
+
+    return graph
+
   def get_graph_data(self, name):
     packed_data = []
 
@@ -42,7 +87,7 @@ class GraphStats(TorCtl.PostEventListener):
     return len(data) == map(int, data).count(0)
 
   def draw_graph(self, name):
-    graph = self.widgets['graph_%s' % name]
+    graph = self.graphs[name]
     data = self.get_graph_data(name)
 
     if self.is_graph_data_zero(name):





More information about the tor-commits mailing list