svghmi/svghmi.js
branchsvghmi
changeset 3018 22b969b409b0
parent 3006 bbffdefd2eed
parent 3010 893cc309f5e2
child 3019 497aac6522a3
equal deleted inserted replaced
3008:dabad70db1bf 3018:22b969b409b0
   372 
   372 
   373 };
   373 };
   374 
   374 
   375 var xmlns = "http://www.w3.org/2000/svg";
   375 var xmlns = "http://www.w3.org/2000/svg";
   376 var edit_callback;
   376 var edit_callback;
   377 function edit_value(path, valuetype, callback, initial) {
   377 function edit_value(path, valuetype, callback, initial, size) {
   378 
   378 
   379     let [keypadid, xcoord, ycoord] = keypads[valuetype];
   379     let [keypadid, xcoord, ycoord] = keypads[valuetype];
   380     console.log('XXX TODO : Edit value', path, valuetype, callback, initial, keypadid);
   380     console.log('XXX TODO : Edit value', path, valuetype, callback, initial, keypadid);
   381     edit_callback = callback;
   381     edit_callback = callback;
   382     let widget = hmi_widgets[keypadid];
   382     let widget = hmi_widgets[keypadid];
   383     widget.start_edit(path, valuetype, callback, initial);
   383     widget.start_edit(path, valuetype, callback, initial, size);
   384 };
   384 };
   385 
   385 
   386 var current_modal; /* TODO stack ?*/
   386 var current_modal; /* TODO stack ?*/
   387 
   387 
   388 function show_modal() {
   388 function show_modal(size) {
   389     let [element, parent] = detachable_elements[this.element.id];
   389     let [element, parent] = detachable_elements[this.element.id];
   390 
   390 
   391     tmpgrp = document.createElementNS(xmlns,"g");
   391     tmpgrp = document.createElementNS(xmlns,"g");
   392     tmpgrpattr = document.createAttribute("transform");
   392     tmpgrpattr = document.createAttribute("transform");
   393 
       
   394     let [xcoord,ycoord] = this.coordinates;
   393     let [xcoord,ycoord] = this.coordinates;
   395     let [xdest,ydest] = page_desc[current_visible_page].bbox;
   394     let [xdest,ydest] = page_desc[current_visible_page].bbox;
   396     tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
   395     if (typeof size === 'undefined'){
       
   396         tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
       
   397     }
       
   398     else{
       
   399         tmpgrpattr.value = "translate("+String(xdest-xcoord+size.x)+","+String(ydest-ycoord+size.y)+")";
       
   400     }
       
   401 
   397     tmpgrp.setAttributeNode(tmpgrpattr);
   402     tmpgrp.setAttributeNode(tmpgrpattr);
   398 
   403 
   399     tmpgrp.appendChild(element);
   404     tmpgrp.appendChild(element);
   400     parent.appendChild(tmpgrp);
   405     parent.appendChild(tmpgrp);
   401 
   406