Browse Source

Query for allowable types first, but make this optional

Yentl Van Tendeloo 8 years ago
parent
commit
d55c219554
1 changed files with 22 additions and 2 deletions
  1. 22 2
      classes/window/main_window.xml

+ 22 - 2
classes/window/main_window.xml

@@ -155,19 +155,39 @@
                 </state>
 
                 <state id="got_model">
-                    <transition event="close_window" target="../prompt_metamodel">
+                    <transition event="close_window" target="../search_metamodels">
                         <raise event="delete_instance" scope="cd">
                             <parameter expr="self.subwindow"/>
                         </raise>
                     </transition>
                 </state>
 
+                <state id="search_metamodels">
+                    <onentry>
+                        <raise event="mv_request" scope="broad">
+                            <parameter expr="'model_types'"/>
+                            <parameter expr="[self.current_model]"/>
+                        </raise>
+                    </onentry>
+
+                    <transition event="mv_response" target="../prompt_metamodel">
+                        <parameter name="result"/>
+                        <script>
+                            print("Allowable types for this model: " + str(result))
+                            if len(result) > 0:
+                                self.metamodel = next(iter(result))
+                            else:
+                                self.metamodel = ''
+                        </script>
+                    </transition>
+                </state>
+
                 <state id="prompt_metamodel">
                     <onentry>
                         <raise event="create_instance" scope="cd">
                             <parameter expr="'subwindow'"/>
                             <parameter expr="'PromptWindow'"/>
-                            <parameter expr="{'Metamodel name': ''}"/>
+                            <parameter expr="{'Metamodel name': self.metamodel}"/>
                             <parameter expr="{}"/>
                         </raise>
                     </onentry>