button.xml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <class name="Button">
  2. <relationships>
  3. <association name="parent" class="A"/>
  4. <inheritance class="MvKWidget" priority='0'/>
  5. <inheritance class="tk.Button" priority='1'/>
  6. </relationships>
  7. <constructor>
  8. <parameter name="constructor_parameters" type='dict' default='{}' />
  9. <super class="tk.Button">
  10. <parameter expr="constructor_parameters['parent']"/>
  11. <parameter expr="**(constructor_parameters['visual'].get_params())"/>
  12. </super>
  13. <super class="MvKWidget">
  14. </super>
  15. <body>
  16. self.event_parameters = constructor_parameters["event_parameters"]
  17. self.tooltip = ToolTip(self, constructor_parameters["tooltip_text"])
  18. self.visual = constructor_parameters["visual"]
  19. self.pack()
  20. </body>
  21. </constructor>
  22. <destructor>
  23. <body>
  24. self.destroy()
  25. </body>
  26. </destructor>
  27. <scxml initial="main">
  28. <state id="main" initial='initializing'>
  29. <state id="initializing">
  30. <transition port='input' event="left-click" target='.' cond='tagorid == id(self)'>
  31. <parameter name='tagorid' type='int' default='None' />
  32. <raise event="button_pressed" scope="narrow" target="'parent'">
  33. <parameter expr="self.event_parameters" />
  34. </raise>
  35. </transition>
  36. <transition port='input' event="enter" target='.' cond='tagorid == id(self)'>
  37. <parameter name='tagorid' type='int' default='None' />
  38. <script>
  39. self.tooltip.showtip()
  40. </script>
  41. </transition>
  42. <transition port='input' event="leave" target='.' cond='tagorid == id(self)'>
  43. <parameter name='tagorid' type='int' default='None' />
  44. <script>
  45. self.tooltip.hidetip()
  46. </script>
  47. </transition>
  48. </state>
  49. </state>
  50. </scxml>
  51. </class>