progress_bar.xml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <class name="ProgressBar">
  2. <relationships>
  3. <inheritance class="SCCDWidget" priority="0"/>
  4. <inheritance class="ttk.Progressbar" priority="1"/>
  5. <association name="parent" class="A"/>
  6. </relationships>
  7. <constructor>
  8. <parameter name="params"/>
  9. <super class="ttk.Progressbar">
  10. <parameter expr="params['parent']"/>
  11. <parameter expr="**({'orient': tk.HORIZONTAL})"/>
  12. </super>
  13. <super class="SCCDWidget"/>
  14. <body>
  15. self.value = tk.DoubleVar()
  16. self.configure(variable=self.value)
  17. </body>
  18. </constructor>
  19. <destructor>
  20. <body>
  21. self.destroy()
  22. </body>
  23. </destructor>
  24. <scxml initial="root">
  25. <state id="root" initial="initializing">
  26. <state id="initializing">
  27. <transition target="../ready">
  28. <raise event="tk_widget" scope="narrow" target="'parent'">
  29. <parameter expr="self"/>
  30. </raise>
  31. </transition>
  32. </state>
  33. <state id="ready">
  34. <transition event="update_status" target=".">
  35. <parameter name="value"/>
  36. <parameter name="text"/>
  37. <script>
  38. #TODO update text as well
  39. self.value.set(value)
  40. print("%s percent -- %s" % (self.value.get(), text))
  41. </script>
  42. </transition>
  43. </state>
  44. </state>
  45. </scxml>
  46. </class>