Browse Source

Fix updating triggers in toggle button

Yentl Van Tendeloo 7 years ago
parent
commit
6ea1a5774c
2 changed files with 20 additions and 1 deletions
  1. 9 0
      classes/widgets/toggle_button.xml
  2. 11 1
      frontend.py

+ 9 - 0
classes/widgets/toggle_button.xml

@@ -93,6 +93,15 @@
                     self.tooltip.hidetip()
                     self.tooltip.hidetip()
                 </script>
                 </script>
             </transition>
             </transition>
+
+            <transition event="change_triggers" target='ready/history'>
+                <parameter name="on_activate"/>
+                <parameter name="on_deactivate"/>
+                <script>
+                    self.on_activate = on_activate
+                    self.on_deactivate = on_deactivate
+                </script>
+            </transition>
         </state>
         </state>
     </scxml>
     </scxml>
 </class>
 </class>

+ 11 - 1
frontend.py

@@ -1,7 +1,7 @@
 """
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
 
-Date:   Mon Oct 16 08:57:24 2017
+Date:   Mon Oct 16 09:00:32 2017
 
 
 Model author: Yentl Van Tendeloo
 Model author: Yentl Van Tendeloo
 Model name:   Modelverse Visual Editor - Tkinter Version 
 Model name:   Modelverse Visual Editor - Tkinter Version 
@@ -8518,6 +8518,10 @@ class ToggleButton(RuntimeClassBase, tk.Button, SCCDWidget):
         _main_1.setTrigger(Event("leave", "input"))
         _main_1.setTrigger(Event("leave", "input"))
         _main_1.setGuard(self._main_1_guard)
         _main_1.setGuard(self._main_1_guard)
         self.states["/main"].addTransition(_main_1)
         self.states["/main"].addTransition(_main_1)
+        _main_2 = Transition(self, self.states["/main"], [self.states["/main/ready/history"]])
+        _main_2.setAction(self._main_2_exec)
+        _main_2.setTrigger(Event("change_triggers", None))
+        self.states["/main"].addTransition(_main_2)
     
     
     def _main_ready_active_enter(self):
     def _main_ready_active_enter(self):
         self.configure(state=tk.ACTIVE, relief=tk.SUNKEN)
         self.configure(state=tk.ACTIVE, relief=tk.SUNKEN)
@@ -8541,6 +8545,12 @@ class ToggleButton(RuntimeClassBase, tk.Button, SCCDWidget):
         tagorid = parameters[0]
         tagorid = parameters[0]
         return tagorid == id(self) and self.tooltip is not None
         return tagorid == id(self) and self.tooltip is not None
     
     
+    def _main_2_exec(self, parameters):
+        on_activate = parameters[0]
+        on_deactivate = parameters[1]
+        self.on_activate = on_activate
+        self.on_deactivate = on_deactivate
+    
     def _main_initializing_0_exec(self, parameters):
     def _main_initializing_0_exec(self, parameters):
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("tk_widget", None, [self])]))
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("tk_widget", None, [self])]))