浏览代码

Fix updating triggers in toggle button

Yentl Van Tendeloo 8 年之前
父节点
当前提交
6ea1a5774c
共有 2 个文件被更改,包括 20 次插入1 次删除
  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])]))