diff options
Diffstat (limited to 'CardSortActivity.py')
-rw-r--r-- | CardSortActivity.py | 267 |
1 files changed, 98 insertions, 169 deletions
diff --git a/CardSortActivity.py b/CardSortActivity.py index 91abbd1..44ce8ae 100644 --- a/CardSortActivity.py +++ b/CardSortActivity.py @@ -1,5 +1,6 @@ -#Copyright (c) 2009-11 Walter Bender - +# -*- coding: utf-8 -*- +# Copyright (c) 2009-11 Walter Bender +# Copyright (c) 2012 Ignacio RodrÃguez # 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 3 of the License, or @@ -9,25 +10,21 @@ # along with this library; if not, write to the Free Software # Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA +from gi.repository import Gtk, Gdk, GObject import pygtk pygtk.require('2.0') -import gtk -import gobject -import sugar -from sugar.activity import activity -try: # 0.86+ toolbar widgets - from sugar.bundle.activitybundle import ActivityBundle - from sugar.activity.widgets import ActivityToolbarButton - from sugar.activity.widgets import StopButton - from sugar.graphics.toolbarbox import ToolbarBox - from sugar.graphics.toolbarbox import ToolbarButton -except ImportError: - pass -from sugar.graphics.toolbutton import ToolButton -from sugar.graphics.menuitem import MenuItem -from sugar.graphics.icon import Icon -from sugar.datastore import datastore +import sugar3 +from sugar3.activity import activity +from sugar3.bundle.activitybundle import ActivityBundle +from sugar3.activity.widgets import ActivityToolbarButton +from sugar3.activity.widgets import StopButton +from sugar3.graphics.toolbarbox import ToolbarBox +from sugar3.graphics.toolbarbox import ToolbarButton +from sugar3.graphics.toolbutton import ToolButton +from sugar3.graphics.menuitem import MenuItem +from sugar3.graphics.icon import Icon +from sugar3.datastore import datastore from gettext import gettext as _ import locale @@ -48,87 +45,73 @@ class CardSortActivity(activity.Activity): def __init__(self, handle): super(CardSortActivity,self).__init__(handle) - try: - # Use 0.86 toolbar design - toolbar_box = ToolbarBox() - - # Buttons added to the Activity toolbar - activity_button = ActivityToolbarButton(self) - toolbar_box.toolbar.insert(activity_button, 0) - activity_button.show() - - # 2x2 Button - self.grid2x2 = ToolButton( "2x2on" ) - self.grid2x2.set_tooltip(_('2x2')) - self.grid2x2.props.sensitive = True - self.grid2x2.connect('clicked', self._grid2x2_cb) - toolbar_box.toolbar.insert(self.grid2x2, -1) - self.grid2x2.show() - - # 3x2 Button - self.grid3x2 = ToolButton( "3x2off" ) - self.grid3x2.set_tooltip(_('3x2')) - self.grid3x2.props.sensitive = True - self.grid3x2.connect('clicked', self._grid3x2_cb) - toolbar_box.toolbar.insert(self.grid3x2, -1) - self.grid3x2.show() - - # 2x3 Button - self.grid2x3 = ToolButton( "2x3off" ) - self.grid2x3.set_tooltip(_('2x3')) - self.grid2x3.props.sensitive = True - self.grid2x3.connect('clicked', self._grid2x3_cb) - toolbar_box.toolbar.insert(self.grid2x3, -1) - self.grid2x3.show() - - # 3x3 Button - self.grid3x3 = ToolButton( "3x3off" ) - self.grid3x3.set_tooltip(_('3x3')) - self.grid3x3.props.sensitive = True - self.grid3x3.connect('clicked', self._grid3x3_cb) - toolbar_box.toolbar.insert(self.grid3x3, -1) - self.grid3x3.show() - - separator = gtk.SeparatorToolItem() - separator.show() - toolbar_box.toolbar.insert(separator, -1) - - # Label for showing status - self.results_label = gtk.Label(_("click to rotate; drag to swap")) - self.results_label.show() - results_toolitem = gtk.ToolItem() - results_toolitem.add(self.results_label) - toolbar_box.toolbar.insert(results_toolitem,-1) - - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_expand(True) - separator.show() - toolbar_box.toolbar.insert(separator, -1) - - # The ever-present Stop Button - stop_button = StopButton(self) - stop_button.props.accelerator = '<Ctrl>Q' - toolbar_box.toolbar.insert(stop_button, -1) - stop_button.show() - - self.set_toolbar_box(toolbar_box) - toolbar_box.show() - - except NameError: - # Use pre-0.86 toolbar design - self.toolbox = activity.ActivityToolbox(self) - self.set_toolbox(self.toolbox) - - self.projectToolbar = ProjectToolbar(self) - self.toolbox.add_toolbar( _('Project'), self.projectToolbar ) - - self.toolbox.show() - - # Create a canvas - canvas = gtk.DrawingArea() - canvas.set_size_request(gtk.gdk.screen_width(), - gtk.gdk.screen_height()) + toolbar_box = ToolbarBox() + activity_button = ActivityToolbarButton(self) + toolbar_box.toolbar.insert(activity_button, 0) + activity_button.show() + + # 2x2 Button + self.grid2x2 = ToolButton( "2x2on" ) + self.grid2x2.set_tooltip(_('2x2')) + self.grid2x2.props.sensitive = True + self.grid2x2.connect('clicked', self._grid2x2_cb) + toolbar_box.toolbar.insert(self.grid2x2, -1) + self.grid2x2.show() + + # 3x2 Button + self.grid3x2 = ToolButton( "3x2off" ) + self.grid3x2.set_tooltip(_('3x2')) + self.grid3x2.props.sensitive = True + self.grid3x2.connect('clicked', self._grid3x2_cb) + toolbar_box.toolbar.insert(self.grid3x2, -1) + self.grid3x2.show() + + # 2x3 Button + self.grid2x3 = ToolButton( "2x3off" ) + self.grid2x3.set_tooltip(_('2x3')) + self.grid2x3.props.sensitive = True + self.grid2x3.connect('clicked', self._grid2x3_cb) + toolbar_box.toolbar.insert(self.grid2x3, -1) + self.grid2x3.show() + + # 3x3 Button + self.grid3x3 = ToolButton( "3x3off" ) + self.grid3x3.set_tooltip(_('3x3')) + self.grid3x3.props.sensitive = True + self.grid3x3.connect('clicked', self._grid3x3_cb) + toolbar_box.toolbar.insert(self.grid3x3, -1) + self.grid3x3.show() + + separator = Gtk.SeparatorToolItem() + separator.show() + toolbar_box.toolbar.insert(separator, -1) + + # Label for showing status + self.results_label = Gtk.Label(_("click to rotate; drag to swap")) + self.results_label.show() + results_toolitem = Gtk.ToolItem() + results_toolitem.add(self.results_label) + toolbar_box.toolbar.insert(results_toolitem,-1) + + separator = Gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + separator.show() + toolbar_box.toolbar.insert(separator, -1) + + # The ever-present Stop Button + stop_button = StopButton(self) + stop_button.props.accelerator = '<Ctrl>Q' + toolbar_box.toolbar.insert(stop_button, -1) + stop_button.show() + + self.set_toolbar_box(toolbar_box) + toolbar_box.show() + + # Create a canvas + canvas = Gtk.DrawingArea() + canvas.set_size_request(Gdk.Screen.width(), + Gdk.Screen.height()) self.set_canvas(canvas) canvas.show() self.show_all() @@ -160,10 +143,10 @@ class CardSortActivity(activity.Activity): return True def show_grid2x2(self): - self.grid2x2.set_icon("2x2on") - self.grid3x2.set_icon("3x2off") - self.grid2x3.set_icon("2x3off") - self.grid3x3.set_icon("3x3off") + self.grid2x2.set_icon_name("2x2on") + self.grid3x2.set_icon_name("3x2off") + self.grid2x3.set_icon_name("2x3off") + self.grid3x3.set_icon_name("3x3off") self.game.test = self.game.grid.test2x2 self.game.grid.reset2x2(self.game) self.metadata['grid'] = "2x2" @@ -173,10 +156,10 @@ class CardSortActivity(activity.Activity): return True def show_grid3x2(self): - self.grid2x2.set_icon("2x2off") - self.grid3x2.set_icon("3x2on") - self.grid2x3.set_icon("2x3off") - self.grid3x3.set_icon("3x3off") + self.grid2x2.set_icon_name("2x2off") + self.grid3x2.set_icon_name("3x2on") + self.grid2x3.set_icon_name("2x3off") + self.grid3x3.set_icon_name("3x3off") self.game.test = self.game.grid.test3x2 self.game.grid.reset3x2(self.game) self.metadata['grid'] = "3x2" @@ -186,10 +169,10 @@ class CardSortActivity(activity.Activity): return True def show_grid2x3(self): - self.grid2x2.set_icon("2x2off") - self.grid3x2.set_icon("3x2off") - self.grid2x3.set_icon("2x3on") - self.grid3x3.set_icon("3x3off") + self.grid2x2.set_icon_name("2x2off") + self.grid3x2.set_icon_name("3x2off") + self.grid2x3.set_icon_name("2x3on") + self.grid3x3.set_icon_name("3x3off") self.game.test = self.game.grid.test2x3 self.game.grid.reset2x3(self.game) self.metadata['grid'] = "2x3" @@ -199,10 +182,10 @@ class CardSortActivity(activity.Activity): return True def show_grid3x3(self): - self.grid2x2.set_icon("2x2off") - self.grid3x2.set_icon("3x2off") - self.grid2x3.set_icon("2x3off") - self.grid3x3.set_icon("3x3on") + self.grid2x2.set_icon_name("2x2off") + self.grid3x2.set_icon_name("3x2off") + self.grid2x3.set_icon_name("2x3off") + self.grid3x3.set_icon_name("3x3on") self.game.test = self.game.grid.test3x3 self.game.grid.reset3x3(self.game) self.metadata['grid'] = "3x3" @@ -213,57 +196,3 @@ class CardSortActivity(activity.Activity): def write_file(self, file_path): pass -# -# Project toolbar for pre-0.86 toolbars -# -class ProjectToolbar(gtk.Toolbar): - - def __init__(self, pc): - gtk.Toolbar.__init__(self) - self.activity = pc - - # 2x2 Button - self.activity.grid2x2 = ToolButton( "2x2on" ) - self.activity.grid2x2.set_tooltip(_('2x2')) - self.activity.grid2x2.props.sensitive = True - self.activity.grid2x2.connect('clicked', self.activity._grid2x2_cb) - self.insert(self.activity.grid2x2, -1) - self.activity.grid2x2.show() - - # 3x2 Button - self.activity.grid3x2 = ToolButton( "3x2off" ) - self.activity.grid3x2.set_tooltip(_('3x2')) - self.activity.grid3x2.props.sensitive = True - self.activity.grid3x2.connect('clicked', self.activity._grid3x2_cb) - self.insert(self.activity.grid3x2, -1) - self.activity.grid3x2.show() - - # 2x3 Button - self.activity.grid2x3 = ToolButton( "2x3off" ) - self.activity.grid2x3.set_tooltip(_('2x3')) - self.activity.grid2x3.props.sensitive = True - self.activity.grid2x3.connect('clicked', self.activity._grid2x3_cb) - self.insert(self.activity.grid2x3, -1) - self.activity.grid2x3.show() - - # 3x3 Button - self.activity.grid3x3 = ToolButton( "3x3off" ) - self.activity.grid3x3.set_tooltip(_('3x3')) - self.activity.grid3x3.props.sensitive = True - self.activity.grid3x3.connect('clicked', self.activity._grid3x3_cb) - self.insert(self.activity.grid3x3, -1) - self.activity.grid3x3.show() - - separator = gtk.SeparatorToolItem() - separator.set_draw(True) - self.insert(separator, -1) - separator.show() - - # Label for showing status - self.activity.results_label = gtk.Label(\ - _("click to rotate; drag to swap")) - self.activity.results_label.show() - self.activity.results_toolitem = gtk.ToolItem() - self.activity.results_toolitem.add(self.activity.results_label) - self.insert(self.activity.results_toolitem, -1) - self.activity.results_toolitem.show() |