dgaberscek@2977: // widget_tooglebutton.ysl2 dgaberscek@2977: dgaberscek@2977: template "widget[@type='ToggleButton']", mode="widget_defs" { dgaberscek@2977: param "hmi_element"; dgaberscek@2977: labels("active inactive"); dgaberscek@2977: | frequency: 5, dgaberscek@2977: | state: 0, dgaberscek@2977: | dispatch: function(value) { dgaberscek@2977: | this.state = value; dgaberscek@2977: | if (this.state) { dgaberscek@2977: | this.active_elt.setAttribute("style", this.active_style); dgaberscek@2977: | this.inactive_elt.setAttribute("style", "display:none"); dgaberscek@2977: | this.state = 0; dgaberscek@2977: | } else { dgaberscek@2977: | this.inactive_elt.setAttribute("style", this.inactive_style); dgaberscek@2977: | this.active_elt.setAttribute("style", "display:none"); dgaberscek@2977: | this.state = 1; dgaberscek@2977: | } dgaberscek@2977: | }, dgaberscek@2977: | on_click: function(evt) { dgaberscek@2977: | change_hmi_value(this.indexes[0], "="+this.state); dgaberscek@2977: | }, dgaberscek@2977: | active_style: undefined, dgaberscek@2977: | inactive_style: undefined, dgaberscek@2977: | init: function() { dgaberscek@2977: | this.active_style = this.active_elt.style.cssText; dgaberscek@2977: | this.inactive_style = this.inactive_elt.style.cssText; dgaberscek@2977: | this.element.setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_click(evt)"); dgaberscek@2977: | }, dgaberscek@2977: }