diff options
author | Benjamin Schwartz <bens@alum.mit.edu> | 2009-07-08 02:47:36 (GMT) |
---|---|---|
committer | Benjamin Schwartz <bens@alum.mit.edu> | 2009-07-08 02:47:36 (GMT) |
commit | f39485dcc33730b2f6957b6b221dae3a649c730f (patch) | |
tree | 18da43fe085c93eb2bca705574ce01b075304624 /calibration_toolbar.py | |
parent | 2115b4fef610fd83d853d2d3faecbdb0b9c92ad9 (diff) |
Add calibration offset features to improve support for non-XO platforms. The offset is configured to the default value for the XO, so the default behavior is unchanged.
Diffstat (limited to 'calibration_toolbar.py')
-rw-r--r-- | calibration_toolbar.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/calibration_toolbar.py b/calibration_toolbar.py new file mode 100644 index 0000000..7b57cf1 --- /dev/null +++ b/calibration_toolbar.py @@ -0,0 +1,58 @@ +# Copyright 2009 Benjamin M. Schwartz +# +# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +import gtk +import arange +import locale +from gettext import gettext + +class CalibrationToolbar(gtk.Toolbar): + + def __init__(self): + gtk.Toolbar.__init__(self) + + offset_label = gtk.Label(gettext("Calibration Offset (meters): ")) + self._offset_field = gtk.Entry() + self._offset_field.set_max_length(10) + self._offset_field.set_width_chars(10) + + bigbox = gtk.HBox() + + bigbox.pack_start(offset_label, expand=False, fill=False) + bigbox.pack_end(self._offset_field, expand=False, fill=False) + + self.set_offset(arange.OLPC_OFFSET) + + tool_item = gtk.ToolItem() + tool_item.add(bigbox) + tool_item.set_expand(False) + self.insert(tool_item, 0) + tool_item.show() + + def get_offset(self): + try: + t = locale.atof(self._offset_field.get_text()) + except: + t = 0 + finally: + return t + + def set_offset(self, t): + try: + self._offset_field.set_text(locale.str(t)) + return True + except: + return False |