From 8ee7e1dbd4d35b9e2591adc5e4f9949da677f8d8 Mon Sep 17 00:00:00 2001 From: Arnaud Gardelein Date: Sun, 1 Nov 2009 22:17:25 +0100 Subject: [PATCH] ui: support to freeze multiple signals from the command line --- ui.py | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/ui.py b/ui.py index 339a77a..01c9d76 100755 --- a/ui.py +++ b/ui.py @@ -243,23 +243,26 @@ class App(object): if result: return result return None - def _freeze(self, event, signal, data=None): - match_row = self._search(self._store, self._match_func, (0, signal)) - if match_row is not None: - match_row[2] = match_row[1].freeze - parent = self._store.iter_parent(match_row.iter) - iter = self._store.iter_children(parent) - freeze = match_row[2] - while iter: - if not self._store.get_value(iter, 2) == freeze: - break - iter = self._store.iter_next(iter) - if iter == None: - # All row at the same freeze value, set freeze for the reader - self._store.set_value(parent, 2, freeze) - else: - # Set reader freeze to false - self._store.set_value(parent, 2, False) + def _freeze(self, event, signals, data=None): + for signal in signals.split(','): + match_row = self._search(self._store, self._match_func,\ + (0, signal.strip())) + if match_row is not None: + match_row[2] = match_row[1].freeze + parent = self._store.iter_parent(match_row.iter) + iter = self._store.iter_children(parent) + freeze = match_row[2] + while iter: + if not self._store.get_value(iter, 2) == freeze: + break + iter = self._store.iter_next(iter) + if iter == None: + # All row at the same freeze value, + # set freeze for the reader + self._store.set_value(parent, 2, freeze) + else: + # Set reader freeze to false + self._store.set_value(parent, 2, False) def _cell_toggled(self, cellrenderer, path, data): if len(path) == 3: @@ -386,7 +389,7 @@ class App(object): row = self._store[path] self._app_exec('create %s' % row[0]) - def _create(self, event, signal, data=None): + def _create(self, event, signals, data=None): fig = self._ctxt.figures[len(self._ctxt.figures) - 1] w = gtk.Window() -- 2.11.4.GIT