svghmi/widget_button.ysl2
branchwxPython4
changeset 3426 c2c366964913
parent 3419 76995a304fe0
child 3520 b27e50143083
equal deleted inserted replaced
3425:ee3b84d09ccf 3426:c2c366964913
   144 template "fsm", mode="actions" {
   144 template "fsm", mode="actions" {
   145     apply "state", mode="actions";
   145     apply "state", mode="actions";
   146 }
   146 }
   147 template "state", mode="actions" {
   147 template "state", mode="actions" {
   148     |     «@name»_action(){
   148     |     «@name»_action(){
   149     | console.log("Entering state «@name»");
   149     // | console.log("Entering state «@name»", this.frequency);
   150     apply "*", mode="actions";
   150     apply "*", mode="actions";
   151     |     }
   151     |     }
   152 }
   152 }
   153 template "show", mode="actions" {
   153 template "show", mode="actions" {
   154     |         this.display = "«@eltname»";
   154     |         this.display = "«@eltname»";
   161 }
   161 }
   162 
   162 
   163 
   163 
   164 function "generated_button_class" {
   164 function "generated_button_class" {
   165     param "fsm";
   165     param "fsm";
   166     |     frequency = 5;
       
   167 
   166 
   168     |     display = "inactive";
   167     |     display = "inactive";
   169     |     state = "init";
   168     |     state = "init";
   170 
   169 
   171     |     dispatch(value) {
   170     |     dispatch(value) {
   200     |     }
   199     |     }
   201 }
   200 }
   202 
   201 
   203 
   202 
   204 widget_class("Button"){
   203 widget_class("Button"){
       
   204     |     frequency = 5;
   205     const "fsm","exsl:node-set($_button_fsm)";
   205     const "fsm","exsl:node-set($_button_fsm)";
   206     call "generated_button_class" with "fsm", "$fsm";
   206     call "generated_button_class" with "fsm", "$fsm";
   207 }
   207 }
   208 
   208 
   209 widget_defs("Button") {
   209 widget_defs("Button") {
   210     optional_labels("active inactive");
   210     optional_labels("active inactive");
   211 }
   211 }
   212 
   212 
   213 widget_class("PushButton"){
   213 widget_class("PushButton"){
       
   214     |     frequency = 20;
   214     const "fsm","exsl:node-set($_push_button_fsm)";
   215     const "fsm","exsl:node-set($_push_button_fsm)";
   215     call "generated_button_class" with "fsm", "$fsm";
   216     call "generated_button_class" with "fsm", "$fsm";
   216 }
   217 }
   217 
   218 
   218 widget_defs("PushButton") {
   219 widget_defs("PushButton") {