Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Activity.py
diff options
context:
space:
mode:
authorChristophe Gueret <christophe.gueret@gmail.com>2013-01-13 13:59:36 (GMT)
committer Christophe Gueret <christophe.gueret@gmail.com>2013-01-13 13:59:36 (GMT)
commitc15a9c80602255561686f6e3bca20f93e59bb803 (patch)
tree383496e705d16781d86916443e48e736829d99da /Activity.py
First commitHEADv1master
Diffstat (limited to 'Activity.py')
-rw-r--r--Activity.py83
1 files changed, 83 insertions, 0 deletions
diff --git a/Activity.py b/Activity.py
new file mode 100644
index 0000000..f0ba268
--- /dev/null
+++ b/Activity.py
@@ -0,0 +1,83 @@
+'''
+Created on 5 Nov 2012
+
+@author: cgueret
+'''
+from gi.repository import Gtk
+
+from sugar3.activity import activity
+from sugar3.graphics.toolbarbox import ToolbarBox
+from sugar3.activity.widgets import ActivityButton
+from sugar3.activity.widgets import TitleEntry
+from sugar3.activity.widgets import StopButton
+from sugar3.activity.widgets import DescriptionItem
+from Application import Main
+import simplejson
+
+class QuizActivity(activity.Activity):
+ def __init__(self, handle):
+ '''
+ Initialise the activity
+ '''
+ activity.Activity.__init__(self, handle)
+
+ # Create the main part of the application
+ self._application = Main()
+
+ # toolbar with the new toolbar redesign
+ toolbar_box = ToolbarBox()
+
+ activity_button = ActivityButton(self)
+ toolbar_box.toolbar.insert(activity_button, 0)
+ activity_button.show()
+
+ title_entry = TitleEntry(self)
+ toolbar_box.toolbar.insert(title_entry, -1)
+ title_entry.show()
+
+ description_item = DescriptionItem(self)
+ toolbar_box.toolbar.insert(description_item, -1)
+ description_item.show()
+
+ separator = Gtk.SeparatorToolItem()
+ separator.props.draw = False
+ separator.set_expand(True)
+ toolbar_box.toolbar.insert(separator, -1)
+ separator.show()
+
+ stop_button = StopButton(self)
+ toolbar_box.toolbar.insert(stop_button, -1)
+ stop_button.show()
+
+ self.set_toolbar_box(toolbar_box)
+ toolbar_box.show()
+
+ # Set the canvas
+ self.set_canvas(self._application.get_widget())
+ self.canvas.show()
+
+ def write_file(self, file_path):
+ if not self.metadata['mime_type']:
+ self.metadata['mime_type'] = 'text/plain'
+
+ data = {}
+ data['last_score'] = self._application.get_score()
+
+ fd = open(file_path, 'w')
+ text = simplejson.dumps(data)
+ fd.write(text)
+ fd.close()
+
+ def read_file(self, file_path):
+ if self.metadata['mime_type'] != 'text/plain':
+ return
+
+ fd = open(file_path, 'r')
+ text = fd.read()
+ data = simplejson.loads(text)
+ fd.close()
+
+ if 'last_score' in data:
+ self._application.set_score(int(data['last_score']))
+ else:
+ self._application.set_score(0)