From 001c1c86a893ebc6cb43492a93ada38b91335bc8 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Fri, 01 May 2009 16:57:01 +0000 Subject: Implement DS support --- 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 -- cgit v0.9.1