blob: f0ba268e12c083bc45c953b94013aeca0379e8e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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)
|