diff options
author | Ignacio RodrÃguez <ignaciorodriguez@sugarlabs.org> | 2013-12-06 16:25:52 (GMT) |
---|---|---|
committer | Ignacio RodrÃguez <ignaciorodriguez@sugarlabs.org> | 2013-12-06 16:25:52 (GMT) |
commit | 4f76585d526de05866a56a8524170afaa41ae84c (patch) | |
tree | a74da4991f248b12cdce6cec774e797bdc247650 | |
parent | d6dd98b04dea43bb58ca44e212f0e082237bce41 (diff) |
Add radio buttons for select counter
-rw-r--r-- | stopwatch.py | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/stopwatch.py b/stopwatch.py index 6d4971e..d4a94d6 100644 --- a/stopwatch.py +++ b/stopwatch.py @@ -157,7 +157,10 @@ class OneWatchView(): self._timeval = 0 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) self._name_lock = threading.Lock() @@ -206,6 +209,7 @@ class OneWatchView(): self._label_lock = threading.Lock() self.box = gtk.HBox() + self.box.pack_start(self._radiobutton, False, False, 2) self.box.pack_start(self._name, padding=6) self.box.pack_start(self._run_button, expand=False) self.box.pack_start(self._reset_button, expand=False) @@ -251,7 +255,10 @@ class OneWatchView(): self._watch_model.register_view_listener(self.update_state) thread.start_new_thread(self._start_running, ()) - + + def counter_changed(self, counter): + self.counter = counter + def update_state(self, q): self._logger.debug("update_state: "+str(q)) self._update_lock.acquire() @@ -396,14 +403,20 @@ class OneWatchView(): # KP_Page_Up == O gamekey = 65434 def _keypress_cb(self, widget, event): self._logger.debug("key press: " + gtk.gdk.keyval_name(event.keyval)+ " " + str(event.keyval)) + + if not self._radiobutton.get_active(): + return False + if event.keyval == 65436: self._run_button.clicked() elif event.keyval == 65434: self._reset_button.clicked() elif event.keyval == 65435: self._mark_button.clicked() + return False - + + class GUIView(): NUM_WATCHES = 9 @@ -413,6 +426,7 @@ class GUIView(): self._names = [] self._watches = [] self._markers = [] + level = None for i in xrange(GUIView.NUM_WATCHES): name_handler = dobject.UnorderedHandler("name"+str(i), tubebox) name_model = dobject.Latest(name_handler, gettext("Stopwatch") + " " + locale.str(i+1), time_handler=timer, translator=dobject.string_translator) @@ -424,6 +438,12 @@ class GUIView(): 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) + + if not level: + level = watch_view._radiobutton + else: + watch_view._radiobutton.set_group(level) + self._views.append(watch_view) self.display = gtk.VBox() |