svghmi/svghmi.js
branchsvghmi
changeset 3010 893cc309f5e2
parent 3000 a9a45977bac0
child 3018 22b969b409b0
equal deleted inserted replaced
3009:7c6960f09881 3010:893cc309f5e2
   393 
   393 
   394 };
   394 };
   395 
   395 
   396 var xmlns = "http://www.w3.org/2000/svg";
   396 var xmlns = "http://www.w3.org/2000/svg";
   397 var edit_callback;
   397 var edit_callback;
   398 function edit_value(path, valuetype, callback, initial) {
   398 function edit_value(path, valuetype, callback, initial, size) {
   399 
   399 
   400     let [keypadid, xcoord, ycoord] = keypads[valuetype];
   400     let [keypadid, xcoord, ycoord] = keypads[valuetype];
   401     console.log('XXX TODO : Edit value', path, valuetype, callback, initial, keypadid);
   401     console.log('XXX TODO : Edit value', path, valuetype, callback, initial, keypadid);
   402     edit_callback = callback;
   402     edit_callback = callback;
   403     let widget = hmi_widgets[keypadid];
   403     let widget = hmi_widgets[keypadid];
   404     widget.start_edit(path, valuetype, callback, initial);
   404     widget.start_edit(path, valuetype, callback, initial, size);
   405 };
   405 };
   406 
   406 
   407 var current_modal; /* TODO stack ?*/
   407 var current_modal; /* TODO stack ?*/
   408 
   408 
   409 function show_modal() {
   409 function show_modal(size) {
   410     let [element, parent] = detachable_elements[this.element.id];
   410     let [element, parent] = detachable_elements[this.element.id];
   411 
   411 
   412     tmpgrp = document.createElementNS(xmlns,"g");
   412     tmpgrp = document.createElementNS(xmlns,"g");
   413     tmpgrpattr = document.createAttribute("transform");
   413     tmpgrpattr = document.createAttribute("transform");
   414 
       
   415     let [xcoord,ycoord] = this.coordinates;
   414     let [xcoord,ycoord] = this.coordinates;
   416     let [xdest,ydest] = page_desc[current_visible_page].bbox;
   415     let [xdest,ydest] = page_desc[current_visible_page].bbox;
   417     tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
   416     if (typeof size === 'undefined'){
       
   417         tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
       
   418     }
       
   419     else{
       
   420         tmpgrpattr.value = "translate("+String(xdest-xcoord+size.x)+","+String(ydest-ycoord+size.y)+")";
       
   421     }
       
   422 
   418     tmpgrp.setAttributeNode(tmpgrpattr);
   423     tmpgrp.setAttributeNode(tmpgrpattr);
   419 
   424 
   420     tmpgrp.appendChild(element);
   425     tmpgrp.appendChild(element);
   421     parent.appendChild(tmpgrp);
   426     parent.appendChild(tmpgrp);
   422 
   427