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 |