summaryrefslogtreecommitdiffstats
path: root/lib.py
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2013-05-17 23:31:35 +0200
committerJan Pokorný <jpokorny@redhat.com>2013-05-17 23:31:35 +0200
commite577f8209e1f39b962ceb743ce174ee56349cb66 (patch)
tree8c2449f5330b3fe340fc5c36662baea9eaa2ec2b /lib.py
parentd05c6b40224609dcb5375533ae132388d5973699 (diff)
downloadcluster-overview-e577f8209e1f39b962ceb743ce174ee56349cb66.tar.gz
cluster-overview-e577f8209e1f39b962ceb743ce174ee56349cb66.tar.xz
cluster-overview-e577f8209e1f39b962ceb743ce174ee56349cb66.zip
lib: sanitize and speed-up "clean/set all"
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'lib.py')
-rw-r--r--lib.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib.py b/lib.py
index 8c3d40f..fac2ba7 100644
--- a/lib.py
+++ b/lib.py
@@ -325,27 +325,32 @@ def xdot_graph(*args, **kwargs):
elif not widget.active and cls not in bl:
bl.append(cls)
change = True
- if change:
+ if change and self._can_change:
self.set_dotcode(
gen_graph(*self._args, **self._kwargs).to_string())
def on_clean_all(self, widget):
+ self._can_change = False
for item in filter(lambda x: isinstance(x, gtk.CheckMenuItem),
widget.get_parent().get_children()):
item.set_active(False)
- item.set_active(True)
- item.activate()
+ self.set_dotcode(
+ gen_graph(*self._args, **self._kwargs).to_string())
+ self._can_change = True
def on_set_all(self, widget):
+ self._can_change = False
for item in filter(lambda x: isinstance(x, gtk.CheckMenuItem),
widget.get_parent().get_children()):
item.set_active(True)
- item.set_active(False)
- item.activate()
+ self.set_dotcode(
+ gen_graph(*self._args, **self._kwargs).to_string())
+ self._can_change = True
def __init__(self, *args, **kwargs):
self._args = args
self._kwargs = kwargs
+ self._can_change = True
super(LibDotWindow, self).__init__()
dotcode = gen_graph(*args, **kwargs).to_string()
title = dotcode[dotcode.find('digraph', 0, 512) + len('digraph')