main_window.xml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <class name="MainWindow">
  2. <relationships>
  3. <inheritance class="tk.Toplevel" priority="1"/>
  4. <inheritance class="MvKWidget" priority="0"/>
  5. <association name="parent" class="A"/>
  6. <association name="toolbars" class="Toolbar"/>
  7. <association name="browsers" class="Browser"/>
  8. </relationships>
  9. <constructor>
  10. <super class="tk.TopLevel"/>
  11. <super class="MvKWidget"/>
  12. <body>
  13. self.current_model = None
  14. </body>
  15. </constructor>
  16. <destructor>
  17. <body>
  18. self.destroy()
  19. </body>
  20. </destructor>
  21. <scxml initial="init">
  22. <state id="init" initial="generic_toolbar">
  23. <state id="generic_toolbar">
  24. <onentry>
  25. <raise event="create_instance" scope="cd">
  26. <parameter expr="'toolbars'"/>
  27. <parameter expr="'GenericToolbar'"/>
  28. <parameter expr="self"/>
  29. </raise>
  30. </onentry>
  31. <transition event="instance_created" target="../canvas">
  32. <parameter name="association_name"/>
  33. <raise event="start_instance" scope="cd">
  34. <parameter expr="association_name"/>
  35. </raise>
  36. </transition>
  37. </state>
  38. <state id="canvas">
  39. <!--
  40. <onentry>
  41. <raise event="create_instance" scope="cd">
  42. <parameter expr="canvas"/>
  43. <parameter expr="Canvas"/>
  44. </raise>
  45. </onentry>
  46. <transition event="instance_created" target="../../running">
  47. <parameter name="association_name"/>
  48. <raise event="start_instance" scope="cd">
  49. <parameter expr="association_name"/>
  50. </raise>
  51. </transition>
  52. -->
  53. <!-- TODO remove -->
  54. <transition target="../../running"/>
  55. </state>
  56. </state>
  57. <state id="running" initial="idle">
  58. <state id="idle">
  59. <transition event="create_new_model" target="../create_new_model"/>
  60. </state>
  61. <state id="create_new_model" initial="query_metamodel">
  62. <state id="query_metamodel">
  63. <onentry>
  64. <raise event="create_instance" scope="cd">
  65. <parameter expr="'browsers'"/>
  66. <parameter expr="'Browser'"/>
  67. <parameter expr="'Select metamodel to instantiate'"/>
  68. <parameter expr="'formalisms/SimpleClassDiagrams'"/>
  69. </raise>
  70. </onentry>
  71. <transition event="instance_created" target="../wait_for_metamodel">
  72. <parameter name="association_name"/>
  73. <raise event="start_instance" scope="cd">
  74. <parameter expr="association_name"/>
  75. </raise>
  76. </transition>
  77. </state>
  78. <state id="wait_for_metamodel">
  79. </state>
  80. </state>
  81. <transition event="window-close" target="../close"/>
  82. </state>
  83. <state id="close">
  84. <onentry>
  85. <raise event="close_window" scope="narrow" target="'parent'"/>
  86. </onentry>
  87. </state>
  88. </scxml>
  89. </class>