From 9379b317e95455db07fa91697d7407e57cb1d195 Mon Sep 17 00:00:00 2001 From: Pablo Moleri Date: Sun, 09 May 2010 23:47:25 +0000 Subject: New accessibility toolbar added. Card is highlighted with stronger colors. --- (limited to 'accessibilitytoolbar.py') diff --git a/accessibilitytoolbar.py b/accessibilitytoolbar.py new file mode 100644 index 0000000..96d54f9 --- /dev/null +++ b/accessibilitytoolbar.py @@ -0,0 +1,78 @@ +# Copyright (C) 2010 ceibalJAM! ceibaljam.org +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +import gtk +from os.path import join, dirname + +from gettext import gettext as _ + +from sugar import profile + +import logging +from gobject import SIGNAL_RUN_FIRST, TYPE_PYOBJECT + +_logger = logging.getLogger('memorize-activity') + +class AccessibilityToolbar(gtk.Toolbar): + __gtype_name__ = 'AccessibilityToolbar' + + __gsignals__ = { + 'accessibility_changed': (SIGNAL_RUN_FIRST, None, 2 * [TYPE_PYOBJECT]), + } + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + self.activity = activity + self._lock = True + self.jobject = None + + # Accessible mode checkbox + self._accessible = gtk.CheckButton(_('Accessible')) + self._accessible.connect('toggled', self._accessibility_changed) + self._add_widget(self._accessible) + + # Scanning speed scale + min = 1 + max = 5 + step = 1 + default = 2.5 + + self._speed_adj = gtk.Adjustment(default, min, max, step) + self._speed_bar = gtk.HScale(self._speed_adj) + self._speed_bar.set_draw_value(True) + self._speed_bar.set_update_policy(gtk.UPDATE_DISCONTINUOUS) + self._speed_bar.set_size_request(240,15) + self._speed_adj.connect("value_changed", self._accessibility_changed) + + # Add it to the toolbar + self._add_widget(self._speed_bar) + + def _add_widget(self, widget, expand=False): + tool_item = gtk.ToolItem() + tool_item.set_expand(expand) + tool_item.add(widget) + widget.show() + self.insert(tool_item, -1) + tool_item.show() + + def _game_reset_cb(self, widget): + self.emit('game_changed', None, None, 'reset', None, None) + + def _load_game(self, button): + pass + + def _accessibility_changed(self, widget): + self.emit("accessibility_changed", self._accessible.get_active(), self._speed_bar.get_value()) -- cgit v0.9.1