Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sensor_toolbar.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-06-30 17:29:42 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-06-30 17:29:42 (GMT)
commit80d1f37f02c0713dc7dc401b02b15364c2276019 (patch)
treeb0d59de9374f02c22e589fde31536188c8b8082c /sensor_toolbar.py
parentee578a5eb9a728be6cce94b56f1a7ce0e25b87fd (diff)
support for 0.86+ toolbars; general cleanup
Diffstat (limited to 'sensor_toolbar.py')
-rw-r--r--sensor_toolbar.py90
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)