[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 02/02: ctrlport: fix gr-perf-monitorx crash
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 02/02: ctrlport: fix gr-perf-monitorx crash when manipulating display |
Date: |
Tue, 23 Jun 2015 15:57:49 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch master
in repository gnuradio.
commit b9bdd1ceea5b3a9ba7a298ae0cf3d9154f30c2b9
Author: Tom Rondeau <address@hidden>
Date: Tue Jun 23 08:43:47 2015 -0700
ctrlport: fix gr-perf-monitorx crash when manipulating display
---
.../python/gnuradio/ctrlport/gr-perf-monitorx | 45 +++++++++++++++++-----
1 file changed, 36 insertions(+), 9 deletions(-)
diff --git a/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx
b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx
index cebc00d..a05ea3a 100644
--- a/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx
+++ b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx
@@ -534,7 +534,10 @@ class MForm(QtGui.QWidget):
self.edge_weights = map(lambda x: 100.0*x[2]["weight"],
self.G.edges(data=True));
# draw graph updates
- self.updateGraph();
+ if(self.do_update):
+ self.drawGraph()
+ else:
+ self.updateGraph()
latency = td1 + td2;
self.parent.statusBar().showMessage("Current GNU Radio Control
Port Query Latency: %f ms"%\
@@ -777,6 +780,9 @@ class MForm(QtGui.QWidget):
#self.pos = nx.shell_layout(self.G);
#self.pos = nx.spring_layout(self.G);
+ # Indicate to self.update to initialize the graph
+ self.do_update = False
+
# generate weights and plot
self.update();
@@ -813,9 +819,8 @@ class MForm(QtGui.QWidget):
if self._grabbed:
x, y = event.xdata, event.ydata
if(x is not None and y is not None):
- #print "NEW POS: ", (x,y)
self.pos[self._current_block] = (x,y)
- self.updateGraph();
+ self.updateGraph()
def button_release(self, event):
self._grabbed = False
@@ -827,19 +832,19 @@ class MForm(QtGui.QWidget):
itemname = str(item.text(0))
self.parent.propertiesMenu(itemname, self.radioclient, self.uid)
- def updateGraph(self):
+ def drawGraph(self):
+ self.do_update = True
self.canvas.updateGeometry()
- self.sp.clear();
+ self.sp.clear()
plt.figure(self.f.number)
- plt.subplot(111);
+ plt.subplot(111)
nx.draw(self.G, self.pos,
edge_color=self.edge_weights,
node_color='#A0CBE2',
width=map(lambda x: 3+math.log(x), self.edge_weights),
node_shape="s",
node_size=self.node_weights,
- #edge_cmap=plt.cm.Blues,
edge_cmap=plt.cm.Reds,
ax=self.sp,
arrows=False
@@ -847,8 +852,30 @@ class MForm(QtGui.QWidget):
nx.draw_networkx_labels(self.G, self.pos,
font_size=12)
- self.canvas.draw();
- self.canvas.show();
+ self.canvas.draw()
+ self.canvas.show()
+
+ def updateGraph(self):
+
+ self.sp.clear()
+ nx.draw_networkx_nodes(self.G, self.pos,
+ node_color='#A0CBE2',
+ node_shape="s",
+ node_size=self.node_weights,
+ ax=self.sp,
+ arrows=False)
+
+ nx.draw_networkx_edges(self.G, self.pos,
+ edge_color=self.edge_weights,
+ width=map(lambda x: 3+math.log(x),
self.edge_weights),
+ edge_cmap=plt.cm.Reds,
+ ax=self.sp,
+ arrows=False)
+
+ nx.draw_networkx_labels(self.G, self.pos,
+ ax=self.sp, font_size=12)
+
+ self.canvas.draw()
class MyApp(object):