Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stopwatch.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/stopwatch.py b/stopwatch.py
index d4a94d6..68a78a7 100644
--- a/stopwatch.py
+++ b/stopwatch.py
@@ -145,12 +145,13 @@ class WatchModel():
thread.start_new_thread(self._view_listener, (self._state,))
class OneWatchView():
- def __init__(self, mywatch, myname, mymarks, timer, activity):
+ def __init__(self, mywatch, myname, mymarks, timer, activity, counter):
self._logger = logging.getLogger('stopwatch.OneWatchView')
self._watch_model = mywatch
self._name_model = myname
self._marks_model = mymarks
self._timer = timer
+ self._counter_number = counter
self._update_lock = threading.Lock()
self._state = None
@@ -159,7 +160,6 @@ class OneWatchView():
self._offset = self._timer.get_offset()
self._radiobutton = gtk.RadioButton()
- self._radiobutton.connect('clicked', self.counter_changed)
self._name = gtk.Entry()
self._name_changed_handler = self._name.connect('changed', self._name_cb)
@@ -256,8 +256,11 @@ class OneWatchView():
thread.start_new_thread(self._start_running, ())
- def counter_changed(self, counter):
- self.counter = counter
+ def activated(self):
+ return self._radiobutton.get_active()
+
+ def get_number(self):
+ return self._counter_number
def update_state(self, q):
self._logger.debug("update_state: "+str(q))
@@ -437,7 +440,8 @@ class GUIView():
marks_handler = dobject.UnorderedHandler("marks"+str(i), tubebox)
marks_model = dobject.AddOnlySet(marks_handler, translator = dobject.float_translator)
self._markers.append(marks_model)
- watch_view = OneWatchView(watch_model, name_model, marks_model, timer, activity)
+ watch_view = OneWatchView(watch_model, name_model, marks_model,
+ timer, activity, i)
if not level:
level = watch_view._radiobutton
@@ -476,14 +480,23 @@ class GUIView():
self._markers[i].update(marks[i])
def get_all(self):
- return (self.timer.get_offset(), self.get_names(), self.get_state(), self.get_marks())
+ radiobutton_number = 0
+ for view in self._views:
+ if view.activated():
+ radiobutton_number = view.get_number()
+
+ return (self.timer.get_offset(), self.get_names(),
+ self.get_state(), self.get_marks(), radiobutton_number)
def set_all(self, q):
self.timer.set_offset(q[0])
self.set_names(q[1])
self.set_state(q[2])
self.set_marks(q[3])
+ current_radio = int(q[4])
+
for v in self._views:
+ self._views[current_radio]._radiobutton.set_active(True)
v.refresh()
def pause(self):