equal
deleted
inserted
replaced
|
1 // widget_dropdown.ysl2 |
|
2 |
|
3 template "widget[@type='DropDown']", mode="widget_defs" { |
|
4 param "hmi_element"; |
|
5 labels("text box"); |
|
6 | dispatch: function(value) { |
|
7 /* TODO : get selection text by index */ |
|
8 | this.text_elt.textContent = String(value); |
|
9 | }, |
|
10 | init: function() { |
|
11 | this.element.setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_click()"); |
|
12 | }, |
|
13 const "box_elt","$hmi_element/*[@inkscape:label='box'][1]"; |
|
14 const "g", "$geometry[@Id = $box_elt/@id]"; |
|
15 | original_box: [«$g/@x», «$g/@y», «$g/@w», «$g/@h»], |
|
16 | on_click: function() { |
|
17 | let [x,y,w,h] = page_desc[current_visible_page].bbox; |
|
18 | let p = new DOMPoint(this.box_elt.x.baseVal.value, this.box_elt.y.baseVal.value); |
|
19 | let k = DOMMatrix.fromMatrix(this.box_elt.getCTM()); |
|
20 | let l = DOMMatrix.fromMatrix(this.box_elt.getScreenCTM()); |
|
21 | console.log(p, k.transformPoint(p), l.transformPoint(p)); |
|
22 | }, |
|
23 } |
|
24 |