diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-06-30 17:29:42 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-06-30 17:29:42 (GMT) |
commit | 80d1f37f02c0713dc7dc401b02b15364c2276019 (patch) | |
tree | b0d59de9374f02c22e589fde31536188c8b8082c /sensor_toolbar.py | |
parent | ee578a5eb9a728be6cce94b56f1a7ce0e25b87fd (diff) |
support for 0.86+ toolbars; general cleanup
Diffstat (limited to 'sensor_toolbar.py')
-rw-r--r-- | sensor_toolbar.py | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/sensor_toolbar.py b/sensor_toolbar.py index 63499be..0fc873c 100644 --- a/sensor_toolbar.py +++ b/sensor_toolbar.py @@ -3,7 +3,7 @@ # # Author: Arjun Sarwal arjun@laptop.org # Copyright (C) 2007, Arjun Sarwal -# Copyright (C) 2009, Walter Bender +# Copyright (C) 2009,10 Walter Bender # Copyright (C) 2009, Benjamin Berg, Sebastian Berg # # This program is free software; you can redistribute it and/or modify @@ -22,10 +22,10 @@ import pygtk import gtk -import time +from time import sleep from gettext import gettext as _ -import config +from config import ICONS_DIR from sugar.graphics.toolbutton import ToolButton from sugar.graphics.combobox import ComboBox @@ -35,7 +35,7 @@ log = logging.getLogger('Measure') log.setLevel(logging.DEBUG) try: import gconf -except: +except ImportError: from sugar import profile @@ -59,20 +59,16 @@ class SensorToolbar(gtk.Toolbar): self.gain_state = None self.boost_state = None - # self.b = 0 - self.string_for_textbox = "" - self.wave = activity.wave - self.ag = activity.audiograb - self.ag.set_sensor(self) - self.textbox_copy = activity.text_box - self.ji = activity.ji + self.activity = activity + self.activity.audiograb.set_sensor(self) - # self.logging_status = False - # Set up Resistance Button - self._resistance = ToolButton('bias-on2') + if self.activity.new_sugar_system: + self._resistance = ToolButton('bias-on') + else: + self._resistance = ToolButton('bias-on2') self.insert(self._resistance, -1) self._resistance.show() self._resistance.set_tooltip(_('Resistance Sensor')) @@ -91,7 +87,7 @@ class SensorToolbar(gtk.Toolbar): self.insert(self._invert, -1) self._invert.set_tooltip(_('Invert')) self._invert.connect('clicked', self._invert_control_cb) - self.wave.set_invert_state(False) + self.activity.wave.set_invert_state(False) separator = gtk.SeparatorToolItem() separator.props.draw = True @@ -99,7 +95,7 @@ class SensorToolbar(gtk.Toolbar): # Set up Logging Interval combo box self.loginterval_img = gtk.Image() - self.loginterval_img.set_from_file(config.ICONS_DIR+'/sample_rate.svg') + self.loginterval_img.set_from_file(ICONS_DIR+'/sample_rate.svg') self.loginterval_img_tool = gtk.ToolItem() self.loginterval_img_tool.add(self.loginterval_img) self.insert(self.loginterval_img_tool,-1) @@ -141,18 +137,15 @@ class SensorToolbar(gtk.Toolbar): def set_sample_value(self, label=""): """ Write a sample value to the toolbar label """ - self.sample_value.set_text(label) + self.sample_value.set_text(str(label)) self.sample_value.show() def record_control(self, data=None): """Depending upon the selected interval, does either a logging session, or just logs the current buffer""" - # config.LOGGING_IN_SESSION appears to be a duplicate of - # self.logging_status. - # - if config.LOGGING_IN_SESSION == False: - Xscale = (1.00/self.ag.get_sampling_rate()) + if self.activity.LOGGING_IN_SESSION == False: + Xscale = (1.00/self.activity.audiograb.get_sampling_rate()) Yscale = 0.0 interval = self.interval_convert() try: @@ -160,21 +153,18 @@ class SensorToolbar(gtk.Toolbar): username = client.get_string("/desktop/suagr/user/nick") except: username = profile.get_nick_name() - self.ji.start_new_session(username, Xscale, Yscale, + self.activity.ji.start_new_session(username, Xscale, Yscale, self.logginginterval_status) - self.ag.set_logging_params(True, interval, False) - config.LOGGING_IN_SESSION = True - # self.logging_status = True + self.activity.audiograb.set_logging_params(True, interval, False) + self.activity.LOGGING_IN_SESSION = True self._record.set_icon('record-stop') self._record.show() self._record.set_tooltip(_('Stop Recording')) else: - # if self.logging_status == True: - self.ag.set_logging_params(False) - time.sleep(0.2) - self.ji.stop_session() - config.LOGGING_IN_SESSION = False - # self.logging_status = False + self.activity.audiograb.set_logging_params(False) + sleep(0.2) + self.activity.ji.stop_session() + self.activity.LOGGING_IN_SESSION = False self._record.set_icon('media-record') self._record.show() self._record.set_tooltip(_('Start Recording')) @@ -203,6 +193,11 @@ class SensorToolbar(gtk.Toolbar): def set_resistance_voltage_mode(self, data=None, mode_to_set='resistance'): """ Callback for Resistance/Voltage Buttons """ + + # Make sure the current context is for sensor capture. + if self.activity.CONTEXT != 'sensor': + self.activity.set_sensor_context() + self.set_mode(mode_to_set) if mode_to_set == 'resistance': self._resistance.set_icon('bias-on2') @@ -210,26 +205,31 @@ class SensorToolbar(gtk.Toolbar): self._resistance.show() self._voltage.show() self._update_string_for_textbox() - return False + self.activity.mode_image.set_from_file(ICONS_DIR +\ + '/bias-on2.svg') elif mode_to_set == 'voltage': self._resistance.set_icon('bias-on') self._voltage.set_icon('bias-off2') self._resistance.show() self._voltage.show() self._update_string_for_textbox() - return False + self.activity.mode_image.set_from_file(ICONS_DIR +\ + '/bias-off2.svg') else: logging.error("unknown mode %s" % (mode_to_set)) - return False + if self.activity.new_sugar_system: + self.activity.sound_toolbar._time.set_icon('domain-time') + self.activity.sound_toolbar._freq.set_icon('domain-freq') + return False def _invert_control_cb(self, data=None): """ Callback for Invert Button """ - if self.wave.get_invert_state()==True: - self.wave.set_invert_state(False) + if self.activity.wave.get_invert_state()==True: + self.activity.wave.set_invert_state(False) self._invert.set_icon('invert') self._invert.show() else: - self.wave.set_invert_state(True) + self.activity.wave.set_invert_state(True) self._invert.set_icon('invert2') self._invert.show() self._update_string_for_textbox() @@ -238,19 +238,19 @@ class SensorToolbar(gtk.Toolbar): def set_mode(self, mode='resistance'): """ Set the mixer settings to match the current mode. """ self.mode = mode - self.ag.set_sensor_type(self.mode) + self.activity.audiograb.set_sensor_type(self.mode) return def context_off(self): """ Called when sensor toolbar is no longer selected. """ - self.ag.pause_grabbing() + self.activity.audiograb.pause_grabbing() def context_on(self): """ Called when sensor toolbar is selected. """ - self.ag.resume_grabbing() - self.ag.set_sensor_type(self.mode) + self.activity.audiograb.resume_grabbing() + self.activity.audiograb.set_sensor_type(self.mode) self._update_string_for_textbox() - self.wave.set_trigger(self.wave.TRIGGER_NONE) + self.activity.wave.set_trigger(self.activity.wave.TRIGGER_NONE) def _update_string_for_textbox(self): """ Update the status field at the bottom of the canvas. """ @@ -260,6 +260,6 @@ class SensorToolbar(gtk.Toolbar): self.string_for_textbox += self._STR_R else: self.string_for_textbox += self._STR_V - if self.wave.get_invert_state()==True: + if self.activity.wave.get_invert_state()==True: self.string_for_textbox += self._STR_I - self.textbox_copy.set_data_params(0, self.string_for_textbox) + self.activity.text_box.set_data_params(0, self.string_for_textbox) |