|
@@ -19,6 +19,7 @@
|
|
|
self.toolbar_frame.pack(fill=tk.X)
|
|
|
self.canvas_frame.pack(fill=tk.BOTH, expand=tk.TRUE)
|
|
|
self.progressbar_frame.pack(fill=tk.X)
|
|
|
+ self.model_loaded = False
|
|
|
</body>
|
|
|
</constructor>
|
|
|
|
|
@@ -48,36 +49,10 @@
|
|
|
</state>
|
|
|
|
|
|
<state id="pack_generic">
|
|
|
- <transition event="tk_widget" target="../canvas">
|
|
|
- <parameter name="tk_elem"/>
|
|
|
- <script>
|
|
|
- tk_elem.pack(side=tk.LEFT, fill=tk.X, expand=tk.TRUE)
|
|
|
- </script>
|
|
|
- </transition>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="canvas">
|
|
|
- <onentry>
|
|
|
- <raise event="create_instance" scope="cd">
|
|
|
- <parameter expr="'canvas'"/>
|
|
|
- <parameter expr="'Canvas'"/>
|
|
|
- <parameter expr="self.canvas_frame"/>
|
|
|
- </raise>
|
|
|
- </onentry>
|
|
|
-
|
|
|
- <transition event="instance_created" target="../pack_canvas">
|
|
|
- <parameter name="association_name"/>
|
|
|
- <raise event="start_instance" scope="cd">
|
|
|
- <parameter expr="association_name"/>
|
|
|
- </raise>
|
|
|
- </transition>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="pack_canvas">
|
|
|
<transition event="tk_widget" target="../progressbar">
|
|
|
<parameter name="tk_elem"/>
|
|
|
<script>
|
|
|
- tk_elem.pack(fill=tk.BOTH, expand=tk.TRUE)
|
|
|
+ tk_elem.pack(anchor=tk.NW)
|
|
|
</script>
|
|
|
</transition>
|
|
|
</state>
|
|
@@ -103,7 +78,7 @@
|
|
|
<transition event="tk_widget" target="../../running">
|
|
|
<parameter name="tk_elem"/>
|
|
|
<script>
|
|
|
- tk_elem.pack(fill=tk.X, expand=tk.TRUE)
|
|
|
+ tk_elem.pack(side=tk.BOTTOM, fill=tk.X, expand=tk.TRUE)
|
|
|
</script>
|
|
|
</transition>
|
|
|
</state>
|
|
@@ -120,6 +95,54 @@
|
|
|
<transition event="create_new_model" target="../create_new_model"/>
|
|
|
<transition event="open_model" target="../open_model"/>
|
|
|
<transition event="rerender_model" target="../rerender_model"/>
|
|
|
+ <transition event="verify" target="../verify_model"/>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="verify_model" initial="request">
|
|
|
+ <state id="request">
|
|
|
+ <onentry>
|
|
|
+ <raise event="mv_request" scope="broad">
|
|
|
+ <parameter expr="'verify'"/>
|
|
|
+ <parameter expr="[current_model, current_metamodel]"/>
|
|
|
+ </raise>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <transition event="mv_progress" target=".">
|
|
|
+ <parameter name="result"/>
|
|
|
+
|
|
|
+ <raise event="update_status" scope="narrow" target="'progress_bar'">
|
|
|
+ <parameter expr="result * 100"/>
|
|
|
+ <parameter expr="'Verifying...'"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+
|
|
|
+ <transition event="mv_response" target="../show_result">
|
|
|
+ <parameter name="result"/>
|
|
|
+ <raise event="create_instance" scope="cd">
|
|
|
+ <parameter expr="'subwindow'"/>
|
|
|
+ <parameter expr="'Popup'"/>
|
|
|
+ <parameter expr="result"/>
|
|
|
+ </raise>
|
|
|
+
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="show_result">
|
|
|
+ <transition event="instance_created" target="../wait_for_close">
|
|
|
+ <parameter name="assoc_name"/>
|
|
|
+ <raise event="start_instance" scope="cd">
|
|
|
+ <parameter expr="assoc_name"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="wait_for_close">
|
|
|
+ <transition event="close_window" target="../../idle">
|
|
|
+ <raise event="delete_instance" scope="cd">
|
|
|
+ <parameter expr="'subwindow'"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
</state>
|
|
|
|
|
|
<state id="open_model" initial="query_model">
|
|
@@ -405,7 +428,122 @@
|
|
|
</state>
|
|
|
</state>
|
|
|
|
|
|
- <state id="rerender_model" initial="request_render">
|
|
|
+ <state id="rerender_model" initial="initial_render">
|
|
|
+ <state id="initial_render">
|
|
|
+ <transition cond="self.model_loaded" target="../request_render"/>
|
|
|
+ <transition cond="not self.model_loaded" target="../canvas">
|
|
|
+ <script>
|
|
|
+ self.model_loaded = True
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="canvas">
|
|
|
+ <onentry>
|
|
|
+ <raise event="create_instance" scope="cd">
|
|
|
+ <parameter expr="'canvas'"/>
|
|
|
+ <parameter expr="'Canvas'"/>
|
|
|
+ <parameter expr="self.canvas_frame"/>
|
|
|
+ </raise>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <transition event="instance_created" target="../pack_canvas">
|
|
|
+ <parameter name="association_name"/>
|
|
|
+ <raise event="start_instance" scope="cd">
|
|
|
+ <parameter expr="association_name"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="pack_canvas">
|
|
|
+ <transition event="tk_widget" target="../model_toolbars">
|
|
|
+ <parameter name="tk_elem"/>
|
|
|
+ <script>
|
|
|
+ tk_elem.pack(fill=tk.BOTH, expand=tk.TRUE)
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="model_toolbars" initial="mm_toolbar">
|
|
|
+ <state id="mm_toolbar">
|
|
|
+ <onentry>
|
|
|
+ <raise event="create_instance" scope="cd">
|
|
|
+ <parameter expr="'toolbars'"/>
|
|
|
+ <parameter expr="'MetamodellingToolbar'"/>
|
|
|
+ <parameter expr="self.toolbar_frame"/>
|
|
|
+ </raise>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <transition event="instance_created" target="../pack_mm_toolbar">
|
|
|
+ <parameter name="association_name"/>
|
|
|
+ <raise event="start_instance" scope="cd">
|
|
|
+ <parameter expr="association_name"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="pack_mm_toolbar">
|
|
|
+ <transition event="tk_widget" target="../cs_toolbar">
|
|
|
+ <parameter name="tk_elem"/>
|
|
|
+ <script>
|
|
|
+ tk_elem.pack(anchor=tk.W)
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="cs_toolbar">
|
|
|
+ <onentry>
|
|
|
+ <raise event="create_instance" scope="cd">
|
|
|
+ <parameter expr="'toolbars'"/>
|
|
|
+ <parameter expr="'ConcreteSyntaxToolbar'"/>
|
|
|
+ <parameter expr="self.toolbar_frame"/>
|
|
|
+ </raise>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <transition event="instance_created" target="../pack_cs_toolbar">
|
|
|
+ <parameter name="association_name"/>
|
|
|
+ <raise event="start_instance" scope="cd">
|
|
|
+ <parameter expr="association_name"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="pack_cs_toolbar">
|
|
|
+ <transition event="tk_widget" target="../dsl_toolbar">
|
|
|
+ <parameter name="tk_elem"/>
|
|
|
+ <script>
|
|
|
+ tk_elem.pack(anchor=tk.W)
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="dsl_toolbar">
|
|
|
+ <onentry>
|
|
|
+ <raise event="create_instance" scope="cd">
|
|
|
+ <parameter expr="'toolbars'"/>
|
|
|
+ <parameter expr="'DSLToolbar'"/>
|
|
|
+ <parameter expr="self.toolbar_frame"/>
|
|
|
+ </raise>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <transition event="instance_created" target="../pack_dsl_toolbar">
|
|
|
+ <parameter name="association_name"/>
|
|
|
+ <raise event="start_instance" scope="cd">
|
|
|
+ <parameter expr="association_name"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="pack_dsl_toolbar">
|
|
|
+ <transition event="tk_widget" target="../../request_render">
|
|
|
+ <parameter name="tk_elem"/>
|
|
|
+ <script>
|
|
|
+ tk_elem.pack(anchor=tk.W)
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+ </state>
|
|
|
+
|
|
|
<state id="request_render">
|
|
|
<onentry>
|
|
|
<raise event="mv_request" scope="broad">
|