|
@@ -1,7 +1,7 @@
|
|
|
"""
|
|
|
Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
|
|
|
|
|
|
-Date: Tue Oct 17 10:04:30 2017
|
|
|
+Date: Tue Oct 17 14:42:55 2017
|
|
|
|
|
|
Model author: Yentl Van Tendeloo
|
|
|
Model name: Modelverse Visual Editor - Tkinter Version
|
|
@@ -6461,6 +6461,7 @@ class Browser(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
|
|
|
def _close_enter(self):
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("close_window", None, [])]))
|
|
|
+ print("CLOSE BROWSER")
|
|
|
|
|
|
def _root_0_exec(self, parameters):
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("browse_result", None, [self.current_location])]))
|
|
@@ -7285,97 +7286,107 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
# state /all/execute/in_context
|
|
|
self.states["/all/execute/in_context"] = State(18, "/all/execute/in_context", self)
|
|
|
|
|
|
+ # state /all/execute/alter_context_result
|
|
|
+ self.states["/all/execute/alter_context_result"] = State(19, "/all/execute/alter_context_result", self)
|
|
|
+
|
|
|
+ # state /all/execute/alter_context_result/check_next
|
|
|
+ self.states["/all/execute/alter_context_result/check_next"] = State(20, "/all/execute/alter_context_result/check_next", self)
|
|
|
+
|
|
|
+ # state /all/execute/alter_context_result/add
|
|
|
+ self.states["/all/execute/alter_context_result/add"] = State(21, "/all/execute/alter_context_result/add", self)
|
|
|
+ self.states["/all/execute/alter_context_result/add"].setEnter(self._all_execute_alter_context_result_add_enter)
|
|
|
+
|
|
|
# state /all/browse_activity
|
|
|
- self.states["/all/browse_activity"] = State(19, "/all/browse_activity", self)
|
|
|
+ self.states["/all/browse_activity"] = State(22, "/all/browse_activity", self)
|
|
|
|
|
|
# state /all/browse_activity/create_browser
|
|
|
- self.states["/all/browse_activity/create_browser"] = State(20, "/all/browse_activity/create_browser", self)
|
|
|
+ self.states["/all/browse_activity/create_browser"] = State(23, "/all/browse_activity/create_browser", self)
|
|
|
self.states["/all/browse_activity/create_browser"].setEnter(self._all_browse_activity_create_browser_enter)
|
|
|
|
|
|
# state /all/browse_activity/waiting_for_decision
|
|
|
- self.states["/all/browse_activity/waiting_for_decision"] = State(21, "/all/browse_activity/waiting_for_decision", self)
|
|
|
+ self.states["/all/browse_activity/waiting_for_decision"] = State(24, "/all/browse_activity/waiting_for_decision", self)
|
|
|
|
|
|
# state /all/redraw_signature
|
|
|
- self.states["/all/redraw_signature"] = State(22, "/all/redraw_signature", self)
|
|
|
+ self.states["/all/redraw_signature"] = State(25, "/all/redraw_signature", self)
|
|
|
|
|
|
# state /all/redraw_signature/clear_previous
|
|
|
- self.states["/all/redraw_signature/clear_previous"] = State(23, "/all/redraw_signature/clear_previous", self)
|
|
|
+ self.states["/all/redraw_signature/clear_previous"] = State(26, "/all/redraw_signature/clear_previous", self)
|
|
|
|
|
|
# state /all/redraw_signature/read_signature
|
|
|
- self.states["/all/redraw_signature/read_signature"] = State(24, "/all/redraw_signature/read_signature", self)
|
|
|
+ self.states["/all/redraw_signature/read_signature"] = State(27, "/all/redraw_signature/read_signature", self)
|
|
|
self.states["/all/redraw_signature/read_signature"].setEnter(self._all_redraw_signature_read_signature_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_input
|
|
|
- self.states["/all/redraw_signature/add_input"] = State(25, "/all/redraw_signature/add_input", self)
|
|
|
+ self.states["/all/redraw_signature/add_input"] = State(28, "/all/redraw_signature/add_input", self)
|
|
|
self.states["/all/redraw_signature/add_input"].setEnter(self._all_redraw_signature_add_input_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/check_next
|
|
|
- self.states["/all/redraw_signature/add_input/check_next"] = State(26, "/all/redraw_signature/add_input/check_next", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/check_next"] = State(29, "/all/redraw_signature/add_input/check_next", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/create_label
|
|
|
- self.states["/all/redraw_signature/add_input/create_label"] = State(27, "/all/redraw_signature/add_input/create_label", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/create_label"] = State(30, "/all/redraw_signature/add_input/create_label", self)
|
|
|
self.states["/all/redraw_signature/add_input/create_label"].setEnter(self._all_redraw_signature_add_input_create_label_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/pack_label
|
|
|
- self.states["/all/redraw_signature/add_input/pack_label"] = State(28, "/all/redraw_signature/add_input/pack_label", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/pack_label"] = State(31, "/all/redraw_signature/add_input/pack_label", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/create_entry
|
|
|
- self.states["/all/redraw_signature/add_input/create_entry"] = State(29, "/all/redraw_signature/add_input/create_entry", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/create_entry"] = State(32, "/all/redraw_signature/add_input/create_entry", self)
|
|
|
self.states["/all/redraw_signature/add_input/create_entry"].setEnter(self._all_redraw_signature_add_input_create_entry_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/pack_entry
|
|
|
- self.states["/all/redraw_signature/add_input/pack_entry"] = State(30, "/all/redraw_signature/add_input/pack_entry", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/pack_entry"] = State(33, "/all/redraw_signature/add_input/pack_entry", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/create_button
|
|
|
- self.states["/all/redraw_signature/add_input/create_button"] = State(31, "/all/redraw_signature/add_input/create_button", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/create_button"] = State(34, "/all/redraw_signature/add_input/create_button", self)
|
|
|
self.states["/all/redraw_signature/add_input/create_button"].setEnter(self._all_redraw_signature_add_input_create_button_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_input/pack_button
|
|
|
- self.states["/all/redraw_signature/add_input/pack_button"] = State(32, "/all/redraw_signature/add_input/pack_button", self)
|
|
|
+ self.states["/all/redraw_signature/add_input/pack_button"] = State(35, "/all/redraw_signature/add_input/pack_button", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_output
|
|
|
- self.states["/all/redraw_signature/add_output"] = State(33, "/all/redraw_signature/add_output", self)
|
|
|
+ self.states["/all/redraw_signature/add_output"] = State(36, "/all/redraw_signature/add_output", self)
|
|
|
self.states["/all/redraw_signature/add_output"].setEnter(self._all_redraw_signature_add_output_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/check_next
|
|
|
- self.states["/all/redraw_signature/add_output/check_next"] = State(34, "/all/redraw_signature/add_output/check_next", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/check_next"] = State(37, "/all/redraw_signature/add_output/check_next", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/create_label
|
|
|
- self.states["/all/redraw_signature/add_output/create_label"] = State(35, "/all/redraw_signature/add_output/create_label", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/create_label"] = State(38, "/all/redraw_signature/add_output/create_label", self)
|
|
|
self.states["/all/redraw_signature/add_output/create_label"].setEnter(self._all_redraw_signature_add_output_create_label_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/pack_label
|
|
|
- self.states["/all/redraw_signature/add_output/pack_label"] = State(36, "/all/redraw_signature/add_output/pack_label", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/pack_label"] = State(39, "/all/redraw_signature/add_output/pack_label", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/create_entry
|
|
|
- self.states["/all/redraw_signature/add_output/create_entry"] = State(37, "/all/redraw_signature/add_output/create_entry", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/create_entry"] = State(40, "/all/redraw_signature/add_output/create_entry", self)
|
|
|
self.states["/all/redraw_signature/add_output/create_entry"].setEnter(self._all_redraw_signature_add_output_create_entry_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/pack_entry
|
|
|
- self.states["/all/redraw_signature/add_output/pack_entry"] = State(38, "/all/redraw_signature/add_output/pack_entry", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/pack_entry"] = State(41, "/all/redraw_signature/add_output/pack_entry", self)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/create_button
|
|
|
- self.states["/all/redraw_signature/add_output/create_button"] = State(39, "/all/redraw_signature/add_output/create_button", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/create_button"] = State(42, "/all/redraw_signature/add_output/create_button", self)
|
|
|
self.states["/all/redraw_signature/add_output/create_button"].setEnter(self._all_redraw_signature_add_output_create_button_enter)
|
|
|
|
|
|
# state /all/redraw_signature/add_output/pack_button
|
|
|
- self.states["/all/redraw_signature/add_output/pack_button"] = State(40, "/all/redraw_signature/add_output/pack_button", self)
|
|
|
+ self.states["/all/redraw_signature/add_output/pack_button"] = State(43, "/all/redraw_signature/add_output/pack_button", self)
|
|
|
|
|
|
# state /all/browse_model
|
|
|
- self.states["/all/browse_model"] = State(41, "/all/browse_model", self)
|
|
|
+ self.states["/all/browse_model"] = State(44, "/all/browse_model", self)
|
|
|
|
|
|
# state /all/browse_model/create_browser
|
|
|
- self.states["/all/browse_model/create_browser"] = State(42, "/all/browse_model/create_browser", self)
|
|
|
+ self.states["/all/browse_model/create_browser"] = State(45, "/all/browse_model/create_browser", self)
|
|
|
self.states["/all/browse_model/create_browser"].setEnter(self._all_browse_model_create_browser_enter)
|
|
|
|
|
|
# state /all/browse_model/waiting_for_decision
|
|
|
- self.states["/all/browse_model/waiting_for_decision"] = State(43, "/all/browse_model/waiting_for_decision", self)
|
|
|
+ self.states["/all/browse_model/waiting_for_decision"] = State(46, "/all/browse_model/waiting_for_decision", self)
|
|
|
|
|
|
# state /all/closing
|
|
|
- self.states["/all/closing"] = State(44, "/all/closing", self)
|
|
|
+ self.states["/all/closing"] = State(47, "/all/closing", self)
|
|
|
|
|
|
# state /all/closed
|
|
|
- self.states["/all/closed"] = State(45, "/all/closed", self)
|
|
|
+ self.states["/all/closed"] = State(48, "/all/closed", self)
|
|
|
self.states["/all/closed"].setEnter(self._all_closed_enter)
|
|
|
|
|
|
# add children
|
|
@@ -7402,6 +7413,9 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
self.states["/all/execute"].addChild(self.states["/all/execute/check_args"])
|
|
|
self.states["/all/execute"].addChild(self.states["/all/execute/execute"])
|
|
|
self.states["/all/execute"].addChild(self.states["/all/execute/in_context"])
|
|
|
+ self.states["/all/execute"].addChild(self.states["/all/execute/alter_context_result"])
|
|
|
+ self.states["/all/execute/alter_context_result"].addChild(self.states["/all/execute/alter_context_result/check_next"])
|
|
|
+ self.states["/all/execute/alter_context_result"].addChild(self.states["/all/execute/alter_context_result/add"])
|
|
|
self.states["/all/browse_activity"].addChild(self.states["/all/browse_activity/create_browser"])
|
|
|
self.states["/all/browse_activity"].addChild(self.states["/all/browse_activity/waiting_for_decision"])
|
|
|
self.states["/all/redraw_signature"].addChild(self.states["/all/redraw_signature/clear_previous"])
|
|
@@ -7432,6 +7446,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
self.states["/all/create_activity_browse_button"].default_state = self.states["/all/create_activity_browse_button/create"]
|
|
|
self.states["/all/create_exec"].default_state = self.states["/all/create_exec/create"]
|
|
|
self.states["/all/execute"].default_state = self.states["/all/execute/check_args"]
|
|
|
+ self.states["/all/execute/alter_context_result"].default_state = self.states["/all/execute/alter_context_result/check_next"]
|
|
|
self.states["/all/browse_activity"].default_state = self.states["/all/browse_activity/create_browser"]
|
|
|
self.states["/all/redraw_signature"].default_state = self.states["/all/redraw_signature/clear_previous"]
|
|
|
self.states["/all/redraw_signature/add_input"].default_state = self.states["/all/redraw_signature/add_input/check_next"]
|
|
@@ -7524,10 +7539,29 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
self.states["/all/execute/execute"].addTransition(_all_execute_execute_0)
|
|
|
|
|
|
# transition /all/execute/in_context
|
|
|
- _all_execute_in_context_0 = Transition(self, self.states["/all/execute/in_context"], [self.states["/all/closing"]])
|
|
|
- _all_execute_in_context_0.setAction(self._all_execute_in_context_0_exec)
|
|
|
+ _all_execute_in_context_0 = Transition(self, self.states["/all/execute/in_context"], [self.states["/all/execute/alter_context_result"]])
|
|
|
_all_execute_in_context_0.setTrigger(Event("mv_response", None))
|
|
|
+ _all_execute_in_context_0.setGuard(self._all_execute_in_context_0_guard)
|
|
|
self.states["/all/execute/in_context"].addTransition(_all_execute_in_context_0)
|
|
|
+ _all_execute_in_context_1 = Transition(self, self.states["/all/execute/in_context"], [self.states["/all/ready"]])
|
|
|
+ _all_execute_in_context_1.setTrigger(Event("mv_response", None))
|
|
|
+ _all_execute_in_context_1.setGuard(self._all_execute_in_context_1_guard)
|
|
|
+ self.states["/all/execute/in_context"].addTransition(_all_execute_in_context_1)
|
|
|
+
|
|
|
+ # transition /all/execute/alter_context_result/check_next
|
|
|
+ _all_execute_alter_context_result_check_next_0 = Transition(self, self.states["/all/execute/alter_context_result/check_next"], [self.states["/all/execute/alter_context_result/add"]])
|
|
|
+ _all_execute_alter_context_result_check_next_0.setTrigger(None)
|
|
|
+ _all_execute_alter_context_result_check_next_0.setGuard(self._all_execute_alter_context_result_check_next_0_guard)
|
|
|
+ self.states["/all/execute/alter_context_result/check_next"].addTransition(_all_execute_alter_context_result_check_next_0)
|
|
|
+ _all_execute_alter_context_result_check_next_1 = Transition(self, self.states["/all/execute/alter_context_result/check_next"], [self.states["/all/ready"]])
|
|
|
+ _all_execute_alter_context_result_check_next_1.setTrigger(None)
|
|
|
+ _all_execute_alter_context_result_check_next_1.setGuard(self._all_execute_alter_context_result_check_next_1_guard)
|
|
|
+ self.states["/all/execute/alter_context_result/check_next"].addTransition(_all_execute_alter_context_result_check_next_1)
|
|
|
+
|
|
|
+ # transition /all/execute/alter_context_result/add
|
|
|
+ _all_execute_alter_context_result_add_0 = Transition(self, self.states["/all/execute/alter_context_result/add"], [self.states["/all/execute/alter_context_result/check_next"]])
|
|
|
+ _all_execute_alter_context_result_add_0.setTrigger(Event("mv_response", None))
|
|
|
+ self.states["/all/execute/alter_context_result/add"].addTransition(_all_execute_alter_context_result_add_0)
|
|
|
|
|
|
# transition /all/browse_activity/create_browser
|
|
|
_all_browse_activity_create_browser_0 = Transition(self, self.states["/all/browse_activity/create_browser"], [self.states["/all/browse_activity/waiting_for_decision"]])
|
|
@@ -7701,8 +7735,15 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, [self.stored_associations['input_%s' % i] for i in self.input_signature.keys()], Event("change_bg", None, ['light grey'])]))
|
|
|
|
|
|
def _all_execute_execute_enter(self):
|
|
|
+ print("Executing activity %s" % self.activity)
|
|
|
+ print(" Inputs " + str(self.exec_input_signature))
|
|
|
+ print(" Outputs " + str(self.exec_output_signature))
|
|
|
self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['transformation_execute', [self.activity, self.exec_input_signature, self.exec_output_signature]])]))
|
|
|
|
|
|
+ def _all_execute_alter_context_result_add_enter(self):
|
|
|
+ key, value = self.exec_output_signature.popitem()
|
|
|
+ self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['alter_context', [key, value]])]))
|
|
|
+
|
|
|
def _all_browse_activity_create_browser_enter(self):
|
|
|
self.big_step.outputEventOM(Event("create_instance", None, [self, 'browsers', 'Browser', 'Select activity to execute.', None]))
|
|
|
|
|
@@ -7790,9 +7831,12 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
def _all_ready_2_exec(self, parameters):
|
|
|
event_name = parameters[0]
|
|
|
value = parameters[1]
|
|
|
+ print("Setting " + str(event_name) + " to " + str(value))
|
|
|
if event_name.startswith('input_'):
|
|
|
+ print("INP")
|
|
|
self.exec_input_signature[event_name.split("input_", 1)[1]] = value
|
|
|
else:
|
|
|
+ print("OUTP")
|
|
|
self.exec_output_signature[event_name.split("output_", 1)[1]] = value
|
|
|
|
|
|
def _all_ready_3_guard(self, parameters):
|
|
@@ -7809,6 +7853,8 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
def _all_execute_check_args_1_exec(self, parameters):
|
|
|
actual = set(self.exec_input_signature.keys())
|
|
|
formal = set(self.input_signature.keys())
|
|
|
+ print("Actual: " + str(actual))
|
|
|
+ print("Formal: " + str(formal))
|
|
|
missing = formal - actual
|
|
|
print("Missing input values for: " + str(missing))
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, [self.stored_associations['input_%s' % i] for i in missing], Event("change_bg", None, ['red'])]))
|
|
@@ -7820,10 +7866,19 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
context = parameters[0]
|
|
|
self.current_context = context
|
|
|
|
|
|
- def _all_execute_in_context_0_exec(self, parameters):
|
|
|
+ def _all_execute_in_context_0_guard(self, parameters):
|
|
|
result = parameters[0]
|
|
|
- print("Finished execution: " + str(result))
|
|
|
- #TODO if true: alter_context for output models
|
|
|
+ return result == True
|
|
|
+
|
|
|
+ def _all_execute_in_context_1_guard(self, parameters):
|
|
|
+ result = parameters[0]
|
|
|
+ return result == False
|
|
|
+
|
|
|
+ def _all_execute_alter_context_result_check_next_0_guard(self, parameters):
|
|
|
+ return self.exec_output_signature
|
|
|
+
|
|
|
+ def _all_execute_alter_context_result_check_next_1_guard(self, parameters):
|
|
|
+ return not self.exec_output_signature
|
|
|
|
|
|
def _all_browse_activity_create_browser_0_exec(self, parameters):
|
|
|
assoc_name = parameters[0]
|
|
@@ -7928,9 +7983,14 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
|
|
|
def _all_browse_model_waiting_for_decision_0_exec(self, parameters):
|
|
|
model = parameters[0]
|
|
|
+ if self.current.startswith('input_'):
|
|
|
+ self.exec_input_signature[self.current.split("input_", 1)[1]] = model
|
|
|
+ else:
|
|
|
+ self.exec_output_signature[self.current.split("output_", 1)[1]] = model
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.stored_associations[self.current], Event("change_value", None, [model])]))
|
|
|
|
|
|
def _all_browse_model_waiting_for_decision_1_exec(self, parameters):
|
|
|
+ print("Got window close")
|
|
|
self.big_step.outputEventOM(Event("delete_instance", None, [self, 'browsers']))
|
|
|
|
|
|
def _all_closing_0_exec(self, parameters):
|
|
@@ -8936,6 +8996,7 @@ class Entry(RuntimeClassBase):
|
|
|
tagorid = parameters[0]
|
|
|
new_value = parameters[1]
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("changed_entry", None, [self.name, new_value])]))
|
|
|
+ print("Got entry change Tk event!")
|
|
|
|
|
|
def _main_ready_0_guard(self, parameters):
|
|
|
tagorid = parameters[0]
|
|
@@ -8952,6 +9013,7 @@ class Entry(RuntimeClassBase):
|
|
|
|
|
|
def _main_ready_3_exec(self, parameters):
|
|
|
new_value = parameters[0]
|
|
|
+ print("CHANGE VALUE IN ENTRY")
|
|
|
self.strvar.set(new_value)
|
|
|
|
|
|
def initializeStatechart(self):
|