Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-05-01 16:57:01 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-05-01 16:57:01 (GMT)
commit001c1c86a893ebc6cb43492a93ada38b91335bc8 (patch)
tree9356da3787545f035d5c5d02f8030a95e0d8d4b6
parent2a80845610a864a53de2b5fc5b96dac8149b66a0 (diff)
Implement DS supportHEADmaster
-rw-r--r--SWFEdit.as40
-rwxr-xr-xactivity/activity.info4
-rwxr-xr-xswfeditactivity.py15
3 files changed, 42 insertions, 17 deletions
diff --git a/SWFEdit.as b/SWFEdit.as
index bc35970..131a2e3 100644
--- a/SWFEdit.as
+++ b/SWFEdit.as
@@ -1,18 +1,36 @@
class SWFEdit {
static function main(mc)
{
- var json = new JSON();
- trace(json);
+ if( mc.object_id ) {
+ trace(mc.object_id);
+ var ds = new DataStore(mc.object_id);
+ trace("ds: " + ds);
+ trace("title: " + ds.metadata["title"]);
+ trace("file_data: " + ds.file_data);
+ }
- trace(mc.object_id);
- var ds = new DataStore(mc.object_id);
- trace("ds: " + ds);
- trace("title: " + ds.metadata["title"]);
- trace("file_data: " + ds.file_data);
+ mc.createTextField('label', 3, 0, 0, 200, 200);
+ mc.label.type = 'input';
+ mc.label.border = true;
+ mc.label.text = 'Hello!';
- _root.createTextField('label', 3, 0, 0, 200, 200);
- _root.label.type = 'input';
- _root.label.border = true;
- _root.label.text = 'Hello!';
+ mc.set_data = function (data)
+ {
+ trace('set_data called: ' + data);
+ var json = new JSON();
+ this.label.text = json.parse(data).data
+ }
+
+ mc.get_data = function ()
+ {
+ trace('get_data called');
+
+ var data = new Object();
+ data.metadata = new Object();
+ data.data = this.label.text;
+
+ var json = new JSON();
+ return json.stringify(data);
+ }
}
}
diff --git a/activity/activity.info b/activity/activity.info
index af84062..b102f2e 100755
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -1,6 +1,6 @@
[Activity]
name = SWFEdit
activity_version = 1
-service_name = org.sugarlabs.EditSWF
+service_name = org.sugarlabs.SWFEdit
icon = activity-edit
-class = editswfactivity.EditSWFActivity
+class = swfeditactivity.SWFEditActivity
diff --git a/swfeditactivity.py b/swfeditactivity.py
index 51cec96..19dd378 100755
--- a/swfeditactivity.py
+++ b/swfeditactivity.py
@@ -14,7 +14,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import os
-import cjson
+import logging
+import simplejson
import gtk
import gnash
@@ -47,12 +48,18 @@ class SWFEditActivity(activity.Activity):
text = f.read()
f.close()
- args = {'metadata': self.metadata,
+ metadata = {}
+ for key in self.metadata.keys():
+ if key == 'preview':
+ continue
+ metadata[key] = self.metadata[key]
+
+ args = {'metadata': metadata,
'data': text}
- self._canvas.call('set_data', cjson.encode(args))
+ self.canvas.call('set_data', simplejson.dumps(args))
def write_file(self, file_path):
- data = cjson.decode(self._canvas.call('get_data'))
+ data = simplejson.loads(self.canvas.call('get_data'))
for key, value in data['metadata'].items():
self.metadata[key] = value