Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sensor_toolbar.py
diff options
context:
space:
mode:
Diffstat (limited to 'sensor_toolbar.py')
-rw-r--r--sensor_toolbar.py77
1 files changed, 40 insertions, 37 deletions
diff --git a/sensor_toolbar.py b/sensor_toolbar.py
index 711146e..c4d8eca 100644
--- a/sensor_toolbar.py
+++ b/sensor_toolbar.py
@@ -5,6 +5,7 @@
# Copyright (C) 2007, Arjun Sarwal
# Copyright (C) 2009-13 Walter Bender
# Copyright (C) 2009, Benjamin Berg, Sebastian Berg
+# Copyright (C) 2013, Ignacio Rodriguez
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,17 +17,18 @@
# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
-import gtk
-import gobject
+from gi.repository import Gtk
+from gi.repository import GObject
+from gi.repository import Gdk
import os
from gettext import gettext as _
from gettext import ngettext
from config import ICONS_DIR, CAPTURE_GAIN, MIC_BOOST, XO1, XO15, XO175, XO4
-from sugar.graphics.toolbutton import ToolButton
-from sugar.graphics.menuitem import MenuItem
-from sugar.graphics.radiotoolbutton import RadioToolButton
+from sugar3.graphics.toolbutton import ToolButton
+from sugar3.graphics.menuitem import MenuItem
+from sugar3.graphics.radiotoolbutton import RadioToolButton
import logging
log = logging.getLogger('measure-activity')
log.setLevel(logging.DEBUG)
@@ -42,7 +44,7 @@ def _is_xo(hw):
return hw in [XO1, XO15, XO175, XO4]
-class SensorToolbar(gtk.Toolbar):
+class SensorToolbar(Gtk.Toolbar):
''' The toolbar for specifiying the sensor: sound, resitance, or
voltage '''
@@ -69,7 +71,7 @@ of XO)") + ' '
def __init__(self, activity, channels):
''' By default, start with resistance mode '''
- gtk.Toolbar.__init__(self)
+ Gtk.Toolbar.__init__(self)
self.activity = activity
self._channels = channels
@@ -90,7 +92,7 @@ of XO)") + ' '
# Set up Time-domain Button
self.time = RadioToolButton(group=None)
- self.time.set_named_icon('media-audio')
+ self.time.set_icon_name('media-audio')
self.insert(self.time, -1)
self.time.set_tooltip(_('Sound'))
self.time.connect(
@@ -98,7 +100,7 @@ of XO)") + ' '
# Set up Resistance Button
self.resistance = RadioToolButton(group=self.time)
- self.resistance.set_named_icon('resistance')
+ self.resistance.set_icon_name('resistance')
if _is_xo(self.activity.hw):
self.insert(self.resistance, -1)
self.resistance.show()
@@ -109,7 +111,7 @@ of XO)") + ' '
# Set up Voltage Button
self.voltage = RadioToolButton(group=self.time)
- self.voltage.set_named_icon('voltage')
+ self.voltage.set_icon_name('voltage')
if _is_xo(self.activity.hw):
self.insert(self.voltage, -1)
self.voltage.set_tooltip(_('Voltage Sensor'))
@@ -117,13 +119,14 @@ of XO)") + ' '
self.analog_resistance_voltage_mode_cb,
'voltage')
- separator = gtk.SeparatorToolItem()
+ separator = Gtk.SeparatorToolItem()
separator.props.draw = True
self.insert(separator, -1)
self._log_value = LOG_TIMER_VALUES[1]
- self.log_label = gtk.Label(self._log_to_string(self._log_value))
- toolitem = gtk.ToolItem()
+ self.log_label = Gtk.Label(self._log_to_string(self._log_value))
+ self.log_label.modify_fg(Gtk.StateType.NORMAL, Gdk.color_parse('white'))
+ toolitem = Gtk.ToolItem()
toolitem.add(self.log_label)
self.insert(toolitem, -1)
@@ -139,18 +142,19 @@ of XO)") + ' '
self._record.set_tooltip(_('Start logging'))
self._record.connect('clicked', self.record_control_cb)
- separator = gtk.SeparatorToolItem()
+ separator = Gtk.SeparatorToolItem()
separator.props.draw = True
self.insert(separator, -1)
- toolitem = gtk.ToolItem()
- self.trigger_label = gtk.Label(_('Trigger'))
+ toolitem = Gtk.ToolItem()
+ self.trigger_label = Gtk.Label(_('Trigger'))
+ self.trigger_label.modify_fg(Gtk.StateType.NORMAL, Gdk.color_parse('white'))
toolitem.add(self.trigger_label)
self.insert(toolitem, -1)
# Set up Trigger Combo box
self.trigger_none = RadioToolButton()
- self.trigger_none.set_named_icon('trigger-none')
+ self.trigger_none.set_icon_name('trigger-none')
self.insert(self.trigger_none, -1)
self.trigger_none.set_tooltip(_('None'))
self.trigger_none.connect('clicked',
@@ -158,7 +162,7 @@ of XO)") + ' '
self.activity.wave.TRIGGER_NONE)
self.trigger_rise = RadioToolButton(group=self.trigger_none)
- self.trigger_rise.set_named_icon('trigger-rise')
+ self.trigger_rise.set_icon_name('trigger-rise')
self.insert(self.trigger_rise, -1)
self.trigger_rise.set_tooltip(_('Rising Edge'))
self.trigger_rise.connect('clicked',
@@ -166,7 +170,7 @@ of XO)") + ' '
self.activity.wave.TRIGGER_POS)
self.trigger_fall = RadioToolButton(group=self.trigger_none)
- self.trigger_fall.set_named_icon('trigger-fall')
+ self.trigger_fall.set_icon_name('trigger-fall')
self.insert(self.trigger_fall, -1)
self.trigger_fall.set_tooltip(_('Falling Edge'))
self.trigger_fall.connect('clicked',
@@ -188,7 +192,7 @@ of XO)") + ' '
self._log_value = LOG_TIMER_VALUES[idx]
self.log_label.set_text(self._log_to_string(self._log_value))
if hasattr(self, '_log_button'):
- self._log_button.set_icon('timer-%d' % (self._log_value))
+ self._log_button.set_icon_name('timer-%d' % (self._log_value))
def _log_selection_cb(self, widget):
if self._log_palette:
@@ -229,14 +233,13 @@ of XO)") + ' '
self._freq_stepper_up.connect('clicked', self._freq_stepper_up_cb)
self._freq_stepper_up.show()
- self.activity.adjustmentf = gtk.Adjustment(
+ self.activity.adjustmentf = Gtk.Adjustment.new(
0.5, self.LOWER, self.UPPER, 0.01, 0.1, 0)
self.activity.adjustmentf.connect('value_changed', self.cb_page_sizef)
- self._freq_range = gtk.HScale(self.activity.adjustmentf)
+ self._freq_range = Gtk.HScale.new(self.activity.adjustmentf)
self._freq_range.set_inverted(True)
self._freq_range.set_draw_value(False)
- self._freq_range.set_update_policy(gtk.UPDATE_CONTINUOUS)
self._freq_range.set_size_request(120, 15)
self._freq_range.show()
@@ -245,7 +248,7 @@ of XO)") + ' '
self._freq_stepper_down.connect('clicked', self._freq_stepper_down_cb)
self._freq_stepper_down.show()
- self._freq_range_tool = gtk.ToolItem()
+ self._freq_range_tool = Gtk.ToolItem()
self._freq_range_tool.add(self._freq_range)
self._freq_range_tool.show()
@@ -346,20 +349,20 @@ of XO)") + ' '
def cb_page_sizef(self, button=None):
''' Callback to scale the frequency range (zoom in and out) '''
if self._update_page_size_id:
- gobject.source_remove(self._update_page_size_id)
+ GObject.source_remove(self._update_page_size_id)
self._update_page_size_id =\
- gobject.timeout_add(250, self.update_page_size)
+ GObject.timeout_add(250, self.update_page_size)
return True
def update_page_size(self):
''' Set up the scaling of the display. '''
self._update_page_size_id = None
- new_value = round(self.activity.adjustmentf.value * 100.0) / 100.0
- if self.activity.adjustmentf.value != new_value:
- self.activity.adjustmentf.value = new_value
+ new_value = round(self.activity.adjustmentf.get_value() * 100.0) / 100.0
+ if self.activity.adjustmentf.get_value() != new_value:
+ self.activity.adjustmentf.set_value(new_value)
return False
- time_div = 0.001 * max(self.activity.adjustmentf.value, 0.05)
- freq_div = 1000 * max(self.activity.adjustmentf.value, 0.01)
+ time_div = 0.001 * max(self.activity.adjustmentf.get_value(), 0.05)
+ freq_div = 1000 * max(self.activity.adjustmentf.get_value(), 0.01)
self.activity.wave.set_div(time_div, freq_div)
self.update_string_for_textbox()
return False
@@ -367,13 +370,13 @@ of XO)") + ' '
def set_sound_context(self):
''' Called when analog sensing is selected '''
self.set_show_hide_windows(mode='sound')
- gobject.timeout_add(500, self.sound_context_on)
+ GObject.timeout_add(500, self.sound_context_on)
self.activity.CONTEXT = 'sound'
def set_sensor_context(self):
''' Called when digital sensing is selected '''
self.set_show_hide_windows(mode='sensor')
- gobject.timeout_add(500, self.sensor_context_on)
+ GObject.timeout_add(500, self.sensor_context_on)
self.activity.CONTEXT = 'sensor'
def set_show_hide_windows(self, mode='sound'):
@@ -412,10 +415,10 @@ of XO)") + ' '
def set_sample_value(self, value='', channel=0):
''' Write a sample value to the textbox. '''
- gtk.threads_enter()
+ Gtk.threads_enter()
self.values[channel] = value
self.update_string_for_textbox()
- gtk.threads_leave()
+ Gtk.threads_leave()
return
def record_control_cb(self, button=None):
@@ -423,7 +426,7 @@ of XO)") + ' '
session, or just logs the current buffer. '''
if self.activity.audiograb.we_are_logging:
self.activity.audiograb.set_logging_params(start_stop=False)
- self._record.set_icon('media-record')
+ self._record.set_icon_name('media-record')
self._record.show()
self._record.set_tooltip(_('Start Recording'))
else:
@@ -443,7 +446,7 @@ of XO)") + ' '
channels=self._channels, mode=self.mode)
self.activity.audiograb.set_logging_params(
start_stop=True, interval=interval, screenshot=False)
- self._record.set_icon('record-stop')
+ self._record.set_icon_name('record-stop')
self._record.show()
self._record.set_tooltip(_('Stop Recording'))
self.activity.new_recording = True