Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtlePondActivity.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-12-16 02:18:31 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-12-16 02:18:31 (GMT)
commit53754e5186c75be8e3b43c69f0c8990f251596af (patch)
tree91a38ec8785402b5592c77925ed71ffdb2e87e1d /TurtlePondActivity.py
parent681e144e710e67aaf5be9581b7a6752fbfd1d194 (diff)
add levels
Diffstat (limited to 'TurtlePondActivity.py')
-rw-r--r--TurtlePondActivity.py48
1 files changed, 43 insertions, 5 deletions
diff --git a/TurtlePondActivity.py b/TurtlePondActivity.py
index 3d8fffa..65700ee 100644
--- a/TurtlePondActivity.py
+++ b/TurtlePondActivity.py
@@ -35,7 +35,7 @@ from sugar.datastore import datastore
from sugar.graphics.objectchooser import ObjectChooser
from toolbar_utils import button_factory, image_factory, label_factory, \
- separator_factory
+ separator_factory, radio_factory
from gettext import gettext as _
import locale
@@ -48,10 +48,11 @@ from utils import svg_str_to_pixbuf
import logging
_logger = logging.getLogger('turtle-in-a-pond-activity')
-
-SERVICE = 'org.sugarlabs.TurtlePondActivity'
-IFACE = SERVICE
-PATH = '/org/augarlabs/TurtlePondActivity'
+BEGINNER = 0
+INTERMEDIATE = 1
+EXPERT = 2
+CUSTOM = 3
+LEVEL_LABELS = [_('beginner'), _('intermediate'), _('expert'), _('custom')]
class TurtlePondActivity(activity.Activity):
@@ -113,6 +114,37 @@ class TurtlePondActivity(activity.Activity):
'new-game', self.toolbar, self._new_game_cb,
tooltip=_('Start a new game.'))
+ separator_factory(self.toolbar, False, True)
+
+ self.beginner_button = radio_factory(
+ 'beginner',
+ self.toolbar,
+ self._level_cb,
+ cb_arg=BEGINNER,
+ tooltip=LEVEL_LABELS[BEGINNER],
+ group=None)
+ self.intermediate_button = radio_factory(
+ 'intermediate',
+ self.toolbar,
+ self._level_cb,
+ cb_arg=INTERMEDIATE,
+ tooltip=LEVEL_LABELS[INTERMEDIATE],
+ group=self.beginner_button)
+ self.expert_button = radio_factory(
+ 'expert',
+ self.toolbar,
+ self._level_cb,
+ cb_arg=EXPERT,
+ tooltip=LEVEL_LABELS[EXPERT],
+ group=self.beginner_button)
+ self.custom_button = radio_factory(
+ 'view-source',
+ self.toolbar,
+ self._level_cb,
+ cb_arg=CUSTOM,
+ tooltip=LEVEL_LABELS[CUSTOM],
+ group=self.beginner_button)
+
self.status = label_factory(self.toolbar, '')
if _have_toolbox:
@@ -134,6 +166,10 @@ class TurtlePondActivity(activity.Activity):
toolbox.toolbar.insert(stop_button, -1)
stop_button.show()
+ def _level_cb(self, button, level):
+ self._game.level = level
+ self._game.new_game()
+
def _new_game_cb(self, button=None):
''' Start a new game. '''
self._game.new_game()
@@ -155,6 +191,8 @@ class TurtlePondActivity(activity.Activity):
''' Load Python code from the Journal. '''
self._chooser('org.laptop.Pippy',
self._load_python_code_from_journal)
+ self._game.level = CUSTOM
+ # FIXME: set radio button
self._game.new_game()
def _load_python_code_from_journal(self, dsobject):