svghmi/widget_tooglebutton.ysl2
author dgaberscek
Tue, 26 May 2020 10:59:01 +0200
branchsvghmi
changeset 2977 82f062408e70
child 3004 705e34c6fe93
permissions -rw-r--r--
SVGHMI: Added widget toggleButton.
2977
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     1
// widget_tooglebutton.ysl2
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     2
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     3
template "widget[@type='ToggleButton']", mode="widget_defs" {
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     4
    param "hmi_element";
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     5
    labels("active inactive");
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     6
    |     frequency: 5,
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     7
    |     state: 0,
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     8
    |     dispatch: function(value) {
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
     9
    |         this.state = value;
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    10
    |         if (this.state) {
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    11
    |             this.active_elt.setAttribute("style", this.active_style);
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    12
    |             this.inactive_elt.setAttribute("style", "display:none");
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    13
    |             this.state = 0;
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    14
    |         } else {
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    15
    |             this.inactive_elt.setAttribute("style", this.inactive_style);
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    16
    |             this.active_elt.setAttribute("style", "display:none");
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    17
    |             this.state = 1;
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    18
    |         }
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    19
    |     },
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    20
    |     on_click: function(evt) {
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    21
    |         change_hmi_value(this.indexes[0], "="+this.state);
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    22
    |     },
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    23
    |     active_style: undefined,
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    24
    |     inactive_style: undefined,
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    25
    |     init: function() {
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    26
    |         this.active_style = this.active_elt.style.cssText;
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    27
    |         this.inactive_style = this.inactive_elt.style.cssText;
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    28
    |         this.element.setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_click(evt)");
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    29
    |     },
82f062408e70 SVGHMI: Added widget toggleButton.
dgaberscek
parents:
diff changeset
    30
}