plugins/python/modules/svgui/livesvg.js
changeset 381 5c0f34a9ab00
parent 371 b7cb57a2da08
--- a/plugins/python/modules/svgui/livesvg.js	Thu Aug 13 11:48:55 2009 +0200
+++ b/plugins/python/modules/svgui/livesvg.js	Fri Aug 14 16:26:19 2009 +0200
@@ -1,14 +1,11 @@
 // import Nevow.Athena
 // import Divmod.Base
-function init() {
-  Nevow.Athena.Widget.fromAthenaID(1).callRemote('HMIexec', 'initClient');
-}
 
 function updateAttr(id, param, value) {
   Nevow.Athena.Widget.fromAthenaID(1).callRemote('HMIexec', 'setattr', id, param, value);
 }
 
-var svguiWidgets={};
+var svguiWidgets = new Array();
 
 var currentObject = null;
 function setCurrentObject(obj) {
@@ -28,6 +25,7 @@
 
 LiveSVGPage.LiveSVGWidget = Nevow.Athena.Widget.subclass('LiveSVGPage.LiveSVGWidget');
 LiveSVGPage.LiveSVGWidget.methods(
+
     function handleEvent(self, evt) {
         if (currentObject != null) {
             currentObject.handleEvent(evt);
@@ -36,28 +34,20 @@
 
     function receiveData(self, data){
         dataReceived = json_parse(data);
-        newState = json_parse(dataReceived.kwargs).state
-        svguiWidgets[dataReceived.back_id].updateState(newState);
+        gadget = svguiWidgets[dataReceived.id]
+        if (gadget) {
+        	gadget.updateValues(json_parse(dataReceived.kwargs));
+        }
         //console.log("OBJET : " + dataReceived.back_id + " STATE : " + newState);
     },
     
-    function SvguiButton(self,elt_back, args){
-        var btn = new svguilib.button(self, elt_back, args.sele_id, args.toggle, args.state, args.active);
-        return btn;
-    },
-    
-    function SvguiTextCtrl(self, elt_back, args){
-        var txtCtrl = new svguilib.textControl(self, elt_back, args.state);
-        return txtCtrl;
-    },
-
     function init(self, arg1){
         //console.log("Object received : " + arg1);
         for (ind in arg1) {
             gad = json_parse(arg1[ind]);
             args = json_parse(gad.kwargs);
-            gadget = self[gad.__class__](gad.back_id, args);
-            svguiWidgets[gadget.back_elt.id]=gadget;
+            gadget = new svguilib[gad.__class__](self, gad.id, args);
+            svguiWidgets[gadget.id]=gadget;
             //console.log('GADGET :' + gadget);
         }
         var elements = document.getElementsByTagName("svg");
@@ -67,5 +57,3 @@
         //console.log("SVGUIWIDGETS : " + svguiWidgets);
     }
 );
-
-Divmod.Base.addLoadEvent(init);
\ No newline at end of file