|
|
@@ -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: Mon Oct 2 11:56:15 2017
|
|
|
+Date: Mon Oct 2 12:47:20 2017
|
|
|
|
|
|
Model author: Yentl Van Tendeloo
|
|
|
Model name: Modelverse Visual Editor - Tkinter Version
|
|
|
@@ -6763,13 +6763,17 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
source_y = self.group_location[element['__source']][1] + element['offsetSourceY']
|
|
|
target_x = self.group_location[element['__target']][0] + element['offsetTargetX']
|
|
|
target_y = self.group_location[element['__target']][1] + element['offsetTargetY']
|
|
|
+ middle_x = (source_x + target_x) / 2
|
|
|
+ middle_y = (source_y + target_y) / 2
|
|
|
|
|
|
self.connecting_lines.setdefault(element['__source'], []).append(element)
|
|
|
self.connecting_lines.setdefault(element['__target'], []).append(element)
|
|
|
|
|
|
- line = self.create_line(source_x, source_y, target_x, target_y, fill=element['lineColour'], width=element['lineWidth'], arrow=tk.LAST if element['arrow'] else tk.NONE)
|
|
|
- element['elem'] = line
|
|
|
- self.lines.add(line)
|
|
|
+ line1 = self.create_line(source_x, source_y, middle_x, middle_y, fill=element['lineColour'], width=element['lineWidth'], arrow=tk.LAST if element['arrow'] else tk.NONE)
|
|
|
+ line2 = self.create_line(middle_x, middle_y, target_x, target_y, fill=element['lineColour'], width=element['lineWidth'])
|
|
|
+ element['elem'] = (line1, line2)
|
|
|
+ self.lines.add(line1)
|
|
|
+ self.lines.add(line2)
|
|
|
|
|
|
def _ready_4_guard(self, parameters):
|
|
|
element = parameters[0]
|
|
|
@@ -6783,19 +6787,23 @@ class Canvas(RuntimeClassBase, tk.Canvas, SCCDWidget):
|
|
|
lines_to_move = self.connecting_lines[group_element]
|
|
|
|
|
|
for line_element in lines_to_move:
|
|
|
- source_x, source_y, target_x, target_y = self.coords(line_element['elem'])
|
|
|
+ source_x, source_y, _, _ = self.coords(line_element['elem'][0])
|
|
|
+ _, _, target_x, target_y = self.coords(line_element['elem'][1])
|
|
|
|
|
|
if line_element['__source'] == group_element:
|
|
|
# Moved source
|
|
|
source_x = self.group_location[group_element][0] + line_element['offsetSourceX']
|
|
|
source_y = self.group_location[group_element][1] + line_element['offsetSourceY']
|
|
|
-
|
|
|
if line_element['__target'] == group_element:
|
|
|
# Moved target
|
|
|
target_x = self.group_location[group_element][0] + line_element['offsetTargetX']
|
|
|
target_y = self.group_location[group_element][1] + line_element['offsetTargetY']
|
|
|
|
|
|
- self.coords(line_element['elem'], source_x, source_y, target_x, target_y)
|
|
|
+ middle_x = (source_x + target_x) / 2
|
|
|
+ middle_y = (source_y + target_y) / 2
|
|
|
+
|
|
|
+ self.coords(line_element['elem'][0], source_x, source_y, middle_x, middle_y)
|
|
|
+ self.coords(line_element['elem'][1], middle_x, middle_y, target_x, target_y)
|
|
|
|
|
|
def _creating_group_0_exec(self, parameters):
|
|
|
assoc_name = parameters[0]
|