--- a/svghmi/widget_button.ysl2 Tue Aug 18 11:42:28 2020 +0200
+++ b/svghmi/widget_button.ysl2 Wed Sep 16 09:41:52 2020 +0200
@@ -5,23 +5,40 @@
class ButtonWidget extends Widget{
frequency = 5;
state = 0;
+ plc_lock = false;
active_style = undefined;
inactive_style = undefined;
+ dispatch(value) {
+ if(value){
+ this.button_release();
+ }
+ }
+
on_mouse_down(evt) {
if (this.active_style && this.inactive_style) {
this.active_elt.setAttribute("style", this.active_style);
this.inactive_elt.setAttribute("style", "display:none");
}
this.apply_hmi_value(0, 1);
+ this.plc_lock = false;
}
on_mouse_up(evt) {
- if (this.active_style && this.inactive_style) {
- this.active_elt.setAttribute("style", "display:none");
- this.inactive_elt.setAttribute("style", this.inactive_style);
- }
- this.apply_hmi_value(0, 0);
+ this.button_release();
+ }
+
+ button_release(){
+ if(!this.plc_lock){
+ this.plc_lock = true;
+ }
+ else{
+ if (this.active_style && this.inactive_style) {
+ this.active_elt.setAttribute("style", "display:none");
+ this.inactive_elt.setAttribute("style", this.inactive_style);
+ }
+ this.apply_hmi_value(0, 0);
+ }
}
init() {