|
@@ -1,7 +1,7 @@
|
|
|
"""
|
|
"""
|
|
|
Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
|
|
Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
|
|
|
|
|
|
|
|
-Date: Mon Oct 9 13:35:39 2017
|
|
|
|
|
|
|
+Date: Mon Oct 9 15:39:54 2017
|
|
|
|
|
|
|
|
Model author: Yentl Van Tendeloo
|
|
Model author: Yentl Van Tendeloo
|
|
|
Model name: Modelverse Visual Editor - Tkinter Version
|
|
Model name: Modelverse Visual Editor - Tkinter Version
|
|
@@ -7180,24 +7180,35 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
# state /ready/process_events/ready
|
|
# state /ready/process_events/ready
|
|
|
self.states["/ready/process_events/ready"] = State(4, "/ready/process_events/ready", self)
|
|
self.states["/ready/process_events/ready"] = State(4, "/ready/process_events/ready", self)
|
|
|
|
|
|
|
|
|
|
+ # state /ready/process_events/creating_line
|
|
|
|
|
+ self.states["/ready/process_events/creating_line"] = State(5, "/ready/process_events/creating_line", self)
|
|
|
|
|
+ self.states["/ready/process_events/creating_line"].setEnter(self._ready_process_events_creating_line_enter)
|
|
|
|
|
+ self.states["/ready/process_events/creating_line"].setExit(self._ready_process_events_creating_line_exit)
|
|
|
|
|
+
|
|
|
|
|
+ # state /ready/process_events/creating_line/drawing
|
|
|
|
|
+ self.states["/ready/process_events/creating_line/drawing"] = State(6, "/ready/process_events/creating_line/drawing", self)
|
|
|
|
|
+
|
|
|
|
|
+ # state /ready/process_events/creating_line/create_in_mv
|
|
|
|
|
+ self.states["/ready/process_events/creating_line/create_in_mv"] = State(7, "/ready/process_events/creating_line/create_in_mv", self)
|
|
|
|
|
+
|
|
|
# state /ready/process_events/creating_group
|
|
# state /ready/process_events/creating_group
|
|
|
- self.states["/ready/process_events/creating_group"] = State(5, "/ready/process_events/creating_group", self)
|
|
|
|
|
|
|
+ self.states["/ready/process_events/creating_group"] = State(8, "/ready/process_events/creating_group", self)
|
|
|
|
|
|
|
|
# state /ready/process_events/wait_canvas_element_ready
|
|
# state /ready/process_events/wait_canvas_element_ready
|
|
|
- self.states["/ready/process_events/wait_canvas_element_ready"] = State(6, "/ready/process_events/wait_canvas_element_ready", self)
|
|
|
|
|
|
|
+ self.states["/ready/process_events/wait_canvas_element_ready"] = State(9, "/ready/process_events/wait_canvas_element_ready", self)
|
|
|
|
|
|
|
|
# state /ready/process_events/creating_element
|
|
# state /ready/process_events/creating_element
|
|
|
- self.states["/ready/process_events/creating_element"] = State(7, "/ready/process_events/creating_element", self)
|
|
|
|
|
|
|
+ self.states["/ready/process_events/creating_element"] = State(10, "/ready/process_events/creating_element", self)
|
|
|
self.states["/ready/process_events/creating_element"].setEnter(self._ready_process_events_creating_element_enter)
|
|
self.states["/ready/process_events/creating_element"].setEnter(self._ready_process_events_creating_element_enter)
|
|
|
|
|
|
|
|
# state /ready/process_events/waiting_for_clear
|
|
# state /ready/process_events/waiting_for_clear
|
|
|
- self.states["/ready/process_events/waiting_for_clear"] = State(8, "/ready/process_events/waiting_for_clear", self)
|
|
|
|
|
|
|
+ self.states["/ready/process_events/waiting_for_clear"] = State(11, "/ready/process_events/waiting_for_clear", self)
|
|
|
|
|
|
|
|
# state /ready/update_loading
|
|
# state /ready/update_loading
|
|
|
- self.states["/ready/update_loading"] = State(9, "/ready/update_loading", self)
|
|
|
|
|
|
|
+ self.states["/ready/update_loading"] = State(12, "/ready/update_loading", self)
|
|
|
|
|
|
|
|
# state /ready/update_loading/updating
|
|
# state /ready/update_loading/updating
|
|
|
- self.states["/ready/update_loading/updating"] = State(10, "/ready/update_loading/updating", self)
|
|
|
|
|
|
|
+ self.states["/ready/update_loading/updating"] = State(13, "/ready/update_loading/updating", self)
|
|
|
self.states["/ready/update_loading/updating"].setEnter(self._ready_update_loading_updating_enter)
|
|
self.states["/ready/update_loading/updating"].setEnter(self._ready_update_loading_updating_enter)
|
|
|
self.states["/ready/update_loading/updating"].setExit(self._ready_update_loading_updating_exit)
|
|
self.states["/ready/update_loading/updating"].setExit(self._ready_update_loading_updating_exit)
|
|
|
|
|
|
|
@@ -7207,14 +7218,18 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
self.states["/ready"].addChild(self.states["/ready/process_events"])
|
|
self.states["/ready"].addChild(self.states["/ready/process_events"])
|
|
|
self.states["/ready"].addChild(self.states["/ready/update_loading"])
|
|
self.states["/ready"].addChild(self.states["/ready/update_loading"])
|
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/ready"])
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/ready"])
|
|
|
|
|
+ self.states["/ready/process_events"].addChild(self.states["/ready/process_events/creating_line"])
|
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/creating_group"])
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/creating_group"])
|
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/wait_canvas_element_ready"])
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/wait_canvas_element_ready"])
|
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/creating_element"])
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/creating_element"])
|
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/waiting_for_clear"])
|
|
self.states["/ready/process_events"].addChild(self.states["/ready/process_events/waiting_for_clear"])
|
|
|
|
|
+ self.states["/ready/process_events/creating_line"].addChild(self.states["/ready/process_events/creating_line/drawing"])
|
|
|
|
|
+ self.states["/ready/process_events/creating_line"].addChild(self.states["/ready/process_events/creating_line/create_in_mv"])
|
|
|
self.states["/ready/update_loading"].addChild(self.states["/ready/update_loading/updating"])
|
|
self.states["/ready/update_loading"].addChild(self.states["/ready/update_loading/updating"])
|
|
|
self.states[""].fixTree()
|
|
self.states[""].fixTree()
|
|
|
self.states[""].default_state = self.states["/main"]
|
|
self.states[""].default_state = self.states["/main"]
|
|
|
self.states["/ready/process_events"].default_state = self.states["/ready/process_events/ready"]
|
|
self.states["/ready/process_events"].default_state = self.states["/ready/process_events/ready"]
|
|
|
|
|
+ self.states["/ready/process_events/creating_line"].default_state = self.states["/ready/process_events/creating_line/drawing"]
|
|
|
self.states["/ready/update_loading"].default_state = self.states["/ready/update_loading/updating"]
|
|
self.states["/ready/update_loading"].default_state = self.states["/ready/update_loading/updating"]
|
|
|
|
|
|
|
|
# transition /main
|
|
# transition /main
|
|
@@ -7237,18 +7252,17 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
_ready_process_events_ready_2.setTrigger(Event("right-click", None))
|
|
_ready_process_events_ready_2.setTrigger(Event("right-click", None))
|
|
|
_ready_process_events_ready_2.setGuard(self._ready_process_events_ready_2_guard)
|
|
_ready_process_events_ready_2.setGuard(self._ready_process_events_ready_2_guard)
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_2)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_2)
|
|
|
- _ready_process_events_ready_3 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/creating_group"]])
|
|
|
|
|
|
|
+ _ready_process_events_ready_3 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/creating_line"]])
|
|
|
_ready_process_events_ready_3.setAction(self._ready_process_events_ready_3_exec)
|
|
_ready_process_events_ready_3.setAction(self._ready_process_events_ready_3_exec)
|
|
|
- _ready_process_events_ready_3.setTrigger(Event("define_group", None))
|
|
|
|
|
|
|
+ _ready_process_events_ready_3.setTrigger(Event("create_line", None))
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_3)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_3)
|
|
|
- _ready_process_events_ready_4 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
|
|
|
|
|
+ _ready_process_events_ready_4 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/creating_group"]])
|
|
|
_ready_process_events_ready_4.setAction(self._ready_process_events_ready_4_exec)
|
|
_ready_process_events_ready_4.setAction(self._ready_process_events_ready_4_exec)
|
|
|
- _ready_process_events_ready_4.setTrigger(Event("define_contains", None))
|
|
|
|
|
|
|
+ _ready_process_events_ready_4.setTrigger(Event("define_group", None))
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_4)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_4)
|
|
|
_ready_process_events_ready_5 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
_ready_process_events_ready_5 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
|
_ready_process_events_ready_5.setAction(self._ready_process_events_ready_5_exec)
|
|
_ready_process_events_ready_5.setAction(self._ready_process_events_ready_5_exec)
|
|
|
- _ready_process_events_ready_5.setTrigger(Event("draw_canvas", None))
|
|
|
|
|
- _ready_process_events_ready_5.setGuard(self._ready_process_events_ready_5_guard)
|
|
|
|
|
|
|
+ _ready_process_events_ready_5.setTrigger(Event("define_contains", None))
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_5)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_5)
|
|
|
_ready_process_events_ready_6 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
_ready_process_events_ready_6 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
|
_ready_process_events_ready_6.setAction(self._ready_process_events_ready_6_exec)
|
|
_ready_process_events_ready_6.setAction(self._ready_process_events_ready_6_exec)
|
|
@@ -7257,12 +7271,32 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_6)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_6)
|
|
|
_ready_process_events_ready_7 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
_ready_process_events_ready_7 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
|
_ready_process_events_ready_7.setAction(self._ready_process_events_ready_7_exec)
|
|
_ready_process_events_ready_7.setAction(self._ready_process_events_ready_7_exec)
|
|
|
- _ready_process_events_ready_7.setTrigger(Event("instance_created", None))
|
|
|
|
|
|
|
+ _ready_process_events_ready_7.setTrigger(Event("draw_canvas", None))
|
|
|
|
|
+ _ready_process_events_ready_7.setGuard(self._ready_process_events_ready_7_guard)
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_7)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_7)
|
|
|
_ready_process_events_ready_8 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
_ready_process_events_ready_8 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
|
_ready_process_events_ready_8.setAction(self._ready_process_events_ready_8_exec)
|
|
_ready_process_events_ready_8.setAction(self._ready_process_events_ready_8_exec)
|
|
|
- _ready_process_events_ready_8.setTrigger(Event("moved_group", None))
|
|
|
|
|
|
|
+ _ready_process_events_ready_8.setTrigger(Event("instance_created", None))
|
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_8)
|
|
self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_8)
|
|
|
|
|
+ _ready_process_events_ready_9 = Transition(self, self.states["/ready/process_events/ready"], [self.states["/ready/process_events/ready"]])
|
|
|
|
|
+ _ready_process_events_ready_9.setAction(self._ready_process_events_ready_9_exec)
|
|
|
|
|
+ _ready_process_events_ready_9.setTrigger(Event("moved_group", None))
|
|
|
|
|
+ self.states["/ready/process_events/ready"].addTransition(_ready_process_events_ready_9)
|
|
|
|
|
+
|
|
|
|
|
+ # transition /ready/process_events/creating_line/drawing
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_0 = Transition(self, self.states["/ready/process_events/creating_line/drawing"], [self.states["/ready/process_events/creating_line/drawing"]])
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_0.setAction(self._ready_process_events_creating_line_drawing_0_exec)
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_0.setTrigger(Event("motion", None))
|
|
|
|
|
+ self.states["/ready/process_events/creating_line/drawing"].addTransition(_ready_process_events_creating_line_drawing_0)
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_1 = Transition(self, self.states["/ready/process_events/creating_line/drawing"], [self.states["/ready/process_events/ready"]])
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_1.setAction(self._ready_process_events_creating_line_drawing_1_exec)
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_1.setTrigger(Event("right-click", None))
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_1.setGuard(self._ready_process_events_creating_line_drawing_1_guard)
|
|
|
|
|
+ self.states["/ready/process_events/creating_line/drawing"].addTransition(_ready_process_events_creating_line_drawing_1)
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_2 = Transition(self, self.states["/ready/process_events/creating_line/drawing"], [self.states["/ready/process_events/creating_line/create_in_mv"]])
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_2.setAction(self._ready_process_events_creating_line_drawing_2_exec)
|
|
|
|
|
+ _ready_process_events_creating_line_drawing_2.setTrigger(Event("create_line", None))
|
|
|
|
|
+ self.states["/ready/process_events/creating_line/drawing"].addTransition(_ready_process_events_creating_line_drawing_2)
|
|
|
|
|
|
|
|
# transition /ready/process_events/creating_group
|
|
# transition /ready/process_events/creating_group
|
|
|
_ready_process_events_creating_group_0 = Transition(self, self.states["/ready/process_events/creating_group"], [self.states["/ready/process_events/wait_canvas_element_ready"]])
|
|
_ready_process_events_creating_group_0 = Transition(self, self.states["/ready/process_events/creating_group"], [self.states["/ready/process_events/wait_canvas_element_ready"]])
|
|
@@ -7298,6 +7332,12 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
_ready_update_loading_updating_0.setTrigger(Event("_0after"))
|
|
_ready_update_loading_updating_0.setTrigger(Event("_0after"))
|
|
|
self.states["/ready/update_loading/updating"].addTransition(_ready_update_loading_updating_0)
|
|
self.states["/ready/update_loading/updating"].addTransition(_ready_update_loading_updating_0)
|
|
|
|
|
|
|
|
|
|
+ def _ready_process_events_creating_line_enter(self):
|
|
|
|
|
+ self.tmp_line = self.create_line(self.creating_line[2][0], self.creating_line[2][1], self.last_x, self.last_y)
|
|
|
|
|
+
|
|
|
|
|
+ def _ready_process_events_creating_line_exit(self):
|
|
|
|
|
+ self.delete(self.tmp_line)
|
|
|
|
|
+
|
|
|
def _ready_process_events_creating_element_enter(self):
|
|
def _ready_process_events_creating_element_enter(self):
|
|
|
self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['instantiate', [current_model, self.currently_selected, None, '']])]))
|
|
self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['instantiate', [current_model, self.currently_selected, None, '']])]))
|
|
|
self.elems.append([0, self.create_image(self.last_x, self.last_y, image=self.loading[0])])
|
|
self.elems.append([0, self.create_image(self.last_x, self.last_y, image=self.loading[0])])
|
|
@@ -7322,47 +7362,84 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
self.currently_selected = element_name
|
|
self.currently_selected = element_name
|
|
|
|
|
|
|
|
def _ready_process_events_ready_2_exec(self, parameters):
|
|
def _ready_process_events_ready_2_exec(self, parameters):
|
|
|
|
|
+ ID = parameters[0]
|
|
|
self.create_location = (self.last_x, self.last_y)
|
|
self.create_location = (self.last_x, self.last_y)
|
|
|
|
|
|
|
|
def _ready_process_events_ready_2_guard(self, parameters):
|
|
def _ready_process_events_ready_2_guard(self, parameters):
|
|
|
- return self.currently_selected is not None
|
|
|
|
|
|
|
+ ID = parameters[0]
|
|
|
|
|
+ return self.currently_selected is not None and id(self) == ID
|
|
|
|
|
|
|
|
def _ready_process_events_ready_3_exec(self, parameters):
|
|
def _ready_process_events_ready_3_exec(self, parameters):
|
|
|
|
|
+ cs_element = parameters[0]
|
|
|
|
|
+ as_element = parameters[1]
|
|
|
|
|
+ coordinates = parameters[2]
|
|
|
|
|
+ self.creating_line = (cs_element, as_element, coordinates)
|
|
|
|
|
+
|
|
|
|
|
+ def _ready_process_events_ready_4_exec(self, parameters):
|
|
|
element = parameters[0]
|
|
element = parameters[0]
|
|
|
self.creating_id = element["id"]
|
|
self.creating_id = element["id"]
|
|
|
self.group_location[element['id']] = (element['x'], element['y'])
|
|
self.group_location[element['id']] = (element['x'], element['y'])
|
|
|
self.big_step.outputEventOM(Event("create_instance", None, [self, 'elements', 'CanvasElement', self, (element['x'], element['y']), element['id'], element['__asid']]))
|
|
self.big_step.outputEventOM(Event("create_instance", None, [self, 'elements', 'CanvasElement', self, (element['x'], element['y']), element['id'], element['__asid']]))
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_4_exec(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_5_exec(self, parameters):
|
|
|
element = parameters[0]
|
|
element = parameters[0]
|
|
|
self.element_group[element["__target"]] = element["__source"]
|
|
self.element_group[element["__target"]] = element["__source"]
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_5_exec(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_6_exec(self, parameters):
|
|
|
element = parameters[0]
|
|
element = parameters[0]
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.assoc_links[self.element_group[element['id']]], Event("draw_element", None, [element])]))
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.assoc_links[self.element_group[element['id']]], Event("draw_element", None, [element])]))
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_5_guard(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_6_guard(self, parameters):
|
|
|
element = parameters[0]
|
|
element = parameters[0]
|
|
|
return element['type'] != 'ConnectingLine'
|
|
return element['type'] != 'ConnectingLine'
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_6_exec(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_7_exec(self, parameters):
|
|
|
element = parameters[0]
|
|
element = parameters[0]
|
|
|
self.big_step.outputEventOM(Event("create_instance", None, [self, 'connecting_lines', 'ConnectingLine', self, element]))
|
|
self.big_step.outputEventOM(Event("create_instance", None, [self, 'connecting_lines', 'ConnectingLine', self, element]))
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_6_guard(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_7_guard(self, parameters):
|
|
|
element = parameters[0]
|
|
element = parameters[0]
|
|
|
return element['type'] == 'ConnectingLine'
|
|
return element['type'] == 'ConnectingLine'
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_7_exec(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_8_exec(self, parameters):
|
|
|
result = parameters[0]
|
|
result = parameters[0]
|
|
|
self.big_step.outputEventOM(Event("start_instance", None, [self, result]))
|
|
self.big_step.outputEventOM(Event("start_instance", None, [self, result]))
|
|
|
|
|
|
|
|
- def _ready_process_events_ready_8_exec(self, parameters):
|
|
|
|
|
|
|
+ def _ready_process_events_ready_9_exec(self, parameters):
|
|
|
group_element = parameters[0]
|
|
group_element = parameters[0]
|
|
|
new_location = parameters[1]
|
|
new_location = parameters[1]
|
|
|
self.group_location[group_element] = new_location
|
|
self.group_location[group_element] = new_location
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'connecting_lines', Event("moved_element", None, [group_element, new_location])]))
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'connecting_lines', Event("moved_element", None, [group_element, new_location])]))
|
|
|
|
|
|
|
|
|
|
+ def _ready_process_events_creating_line_drawing_0_exec(self, parameters):
|
|
|
|
|
+ x, y, _, _ = self.coords(self.tmp_line)
|
|
|
|
|
+ if x > self.last_x:
|
|
|
|
|
+ self.last_x += 2
|
|
|
|
|
+ else:
|
|
|
|
|
+ self.last_x -= 2
|
|
|
|
|
+
|
|
|
|
|
+ if y > self.last_y:
|
|
|
|
|
+ self.last_y += 2
|
|
|
|
|
+ else:
|
|
|
|
|
+ self.last_y -= 2
|
|
|
|
|
+
|
|
|
|
|
+ self.coords(self.tmp_line, x, y, self.last_x, self.last_y)
|
|
|
|
|
+ pass
|
|
|
|
|
+
|
|
|
|
|
+ def _ready_process_events_creating_line_drawing_1_exec(self, parameters):
|
|
|
|
|
+ ID = parameters[0]
|
|
|
|
|
+ print("Release on canvas " + str(ID))
|
|
|
|
|
+
|
|
|
|
|
+ def _ready_process_events_creating_line_drawing_1_guard(self, parameters):
|
|
|
|
|
+ ID = parameters[0]
|
|
|
|
|
+ return ID == id(self)
|
|
|
|
|
+
|
|
|
|
|
+ def _ready_process_events_creating_line_drawing_2_exec(self, parameters):
|
|
|
|
|
+ cs_element = parameters[0]
|
|
|
|
|
+ as_element = parameters[1]
|
|
|
|
|
+ origin_cs, origin_as, _ = self.creating_line
|
|
|
|
|
+ self.creating_line = (origin_cs, origin_as, cs_element, as_element)
|
|
|
|
|
+
|
|
|
def _ready_process_events_creating_group_0_exec(self, parameters):
|
|
def _ready_process_events_creating_group_0_exec(self, parameters):
|
|
|
assoc_name = parameters[0]
|
|
assoc_name = parameters[0]
|
|
|
self.big_step.outputEventOM(Event("start_instance", None, [self, assoc_name]))
|
|
self.big_step.outputEventOM(Event("start_instance", None, [self, assoc_name]))
|
|
@@ -7856,6 +7933,11 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
|
|
|
_main_2.setTrigger(Event("middle-click", None))
|
|
_main_2.setTrigger(Event("middle-click", None))
|
|
|
_main_2.setGuard(self._main_2_guard)
|
|
_main_2.setGuard(self._main_2_guard)
|
|
|
self.states["/main"].addTransition(_main_2)
|
|
self.states["/main"].addTransition(_main_2)
|
|
|
|
|
+ _main_3 = Transition(self, self.states["/main"], [self.states["/main"]])
|
|
|
|
|
+ _main_3.setAction(self._main_3_exec)
|
|
|
|
|
+ _main_3.setTrigger(Event("right-click", None))
|
|
|
|
|
+ _main_3.setGuard(self._main_3_guard)
|
|
|
|
|
+ self.states["/main"].addTransition(_main_3)
|
|
|
|
|
|
|
|
# transition /dragging
|
|
# transition /dragging
|
|
|
_dragging_0 = Transition(self, self.states["/dragging"], [self.states["/dragging"]])
|
|
_dragging_0 = Transition(self, self.states["/dragging"], [self.states["/dragging"]])
|
|
@@ -7998,6 +8080,15 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
|
|
|
ID = parameters[0]
|
|
ID = parameters[0]
|
|
|
return id(self) == ID
|
|
return id(self) == ID
|
|
|
|
|
|
|
|
|
|
+ def _main_3_exec(self, parameters):
|
|
|
|
|
+ ID = parameters[0]
|
|
|
|
|
+ print("Right click in element " + str(self.cs_element))
|
|
|
|
|
+ self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("create_line", None, [self.cs_element, self.as_element, (self.last_x, self.last_y)])]))
|
|
|
|
|
+
|
|
|
|
|
+ def _main_3_guard(self, parameters):
|
|
|
|
|
+ ID = parameters[0]
|
|
|
|
|
+ return id(self) == ID
|
|
|
|
|
+
|
|
|
def _dragging_0_exec(self, parameters):
|
|
def _dragging_0_exec(self, parameters):
|
|
|
ID = parameters[0]
|
|
ID = parameters[0]
|
|
|
new_x = self.coordinates[0] + (self.last_x - self.original_coords[0])
|
|
new_x = self.coordinates[0] + (self.last_x - self.original_coords[0])
|