svghmi/widget_dropdown.ysl2
branchsvghmi
changeset 2922 ddce4ebdf010
child 2923 5ec1c07ce582
equal deleted inserted replaced
2921:2670f5c53caf 2922:ddce4ebdf010
       
     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