371
|
1 |
// import Nevow.Athena
|
|
2 |
// import Divmod.Base
|
|
3 |
function init() {
|
|
4 |
Nevow.Athena.Widget.fromAthenaID(1).callRemote('HMIexec', 'initClient');
|
|
5 |
}
|
|
6 |
|
|
7 |
function updateAttr(id, param, value) {
|
|
8 |
Nevow.Athena.Widget.fromAthenaID(1).callRemote('HMIexec', 'setattr', id, param, value);
|
|
9 |
}
|
|
10 |
|
|
11 |
var svguiWidgets={};
|
|
12 |
|
|
13 |
var currentObject = null;
|
|
14 |
function setCurrentObject(obj) {
|
|
15 |
currentObject = obj;
|
|
16 |
}
|
|
17 |
function isCurrentObject(obj) {
|
|
18 |
return currentObject == obj;
|
|
19 |
}
|
|
20 |
|
|
21 |
function getSVGElementById(id) {
|
|
22 |
return document.getElementById(id);
|
|
23 |
}
|
|
24 |
|
|
25 |
function blockSVGElementDrag(element) {
|
|
26 |
element.addEventListener("draggesture", function(event){event.stopPropagation()}, true);
|
|
27 |
}
|
|
28 |
|
|
29 |
LiveSVGPage.LiveSVGWidget = Nevow.Athena.Widget.subclass('LiveSVGPage.LiveSVGWidget');
|
|
30 |
LiveSVGPage.LiveSVGWidget.methods(
|
|
31 |
function handleEvent(self, evt) {
|
|
32 |
if (currentObject != null) {
|
|
33 |
currentObject.handleEvent(evt);
|
|
34 |
}
|
|
35 |
},
|
|
36 |
|
|
37 |
function receiveData(self, data){
|
|
38 |
dataReceived = json_parse(data);
|
|
39 |
newState = json_parse(dataReceived.kwargs).state
|
|
40 |
svguiWidgets[dataReceived.back_id].updateState(newState);
|
|
41 |
//console.log("OBJET : " + dataReceived.back_id + " STATE : " + newState);
|
|
42 |
},
|
|
43 |
|
|
44 |
function SvguiButton(self,elt_back, args){
|
|
45 |
var btn = new svguilib.button(self, elt_back, args.sele_id, args.toggle, args.state, args.active);
|
|
46 |
return btn;
|
|
47 |
},
|
|
48 |
|
|
49 |
function SvguiTextCtrl(self, elt_back, args){
|
|
50 |
var txtCtrl = new svguilib.textControl(self, elt_back, args.state);
|
|
51 |
return txtCtrl;
|
|
52 |
},
|
|
53 |
|
|
54 |
function init(self, arg1){
|
|
55 |
//console.log("Object received : " + arg1);
|
|
56 |
for (ind in arg1) {
|
|
57 |
gad = json_parse(arg1[ind]);
|
|
58 |
args = json_parse(gad.kwargs);
|
|
59 |
gadget = self[gad.__class__](gad.back_id, args);
|
|
60 |
svguiWidgets[gadget.back_elt.id]=gadget;
|
|
61 |
//console.log('GADGET :' + gadget);
|
|
62 |
}
|
|
63 |
var elements = document.getElementsByTagName("svg");
|
|
64 |
for (var i = 0; i < elements.length; i++) {
|
|
65 |
elements[i].addEventListener("mouseup", self, false);
|
|
66 |
}
|
|
67 |
//console.log("SVGUIWIDGETS : " + svguiWidgets);
|
|
68 |
}
|
|
69 |
);
|
|
70 |
|
|
71 |
Divmod.Base.addLoadEvent(init); |