changeset 121 | 40b91ba978db |
parent 118 | 0c53d6a36013 |
child 122 | e6faee0c271b |
120:add8e391e00c | 121:40b91ba978db |
---|---|
65 if values[1] == "program": |
65 if values[1] == "program": |
66 message = wx.MessageDialog(self.ParentWindow, "Programs can't be used by other POUs!", "Error", wx.OK|wx.ICON_ERROR) |
66 message = wx.MessageDialog(self.ParentWindow, "Programs can't be used by other POUs!", "Error", wx.OK|wx.ICON_ERROR) |
67 message.ShowModal() |
67 message.ShowModal() |
68 message.Destroy() |
68 message.Destroy() |
69 elif values[1] in ["function", "functionBlock", "program"]: |
69 elif values[1] in ["function", "functionBlock", "program"]: |
70 name, type = self.ParentWindow.Controler.GetCurrentElementEditingType() |
70 name, type = self.ParentWindow.Controler.GetEditedElementType(self.TagName) |
71 if name == values[0]: |
71 if name == values[0]: |
72 message = wx.MessageDialog(self.ParentWindow, "\"%s\" can't use itself!"%name, "Error", wx.OK|wx.ICON_ERROR) |
72 message = wx.MessageDialog(self.ParentWindow, "\"%s\" can't use itself!"%name, "Error", wx.OK|wx.ICON_ERROR) |
73 message.ShowModal() |
73 message.ShowModal() |
74 message.Destroy() |
74 message.Destroy() |
75 elif type == "function" and values[1] != "function": |
75 elif type == "function" and values[1] != "function": |
91 block = FBD_Block(self.ParentWindow, values[0], blockname, id) |
91 block = FBD_Block(self.ParentWindow, values[0], blockname, id) |
92 block.SetPosition(x, y) |
92 block.SetPosition(x, y) |
93 width, height = block.GetMinSize() |
93 width, height = block.GetMinSize() |
94 block.SetSize(width, height) |
94 block.SetSize(width, height) |
95 self.ParentWindow.AddBlock(block) |
95 self.ParentWindow.AddBlock(block) |
96 self.ParentWindow.Controler.AddCurrentElementEditingBlock(id, values[0], blockname) |
96 self.ParentWindow.Controler.AddEditedElementBlock(self.TagName, id, values[0], blockname) |
97 self.ParentWindow.RefreshBlockModel(block) |
97 self.ParentWindow.RefreshBlockModel(block) |
98 self.ParentWindow.RefreshBuffer() |
98 self.ParentWindow.RefreshBuffer() |
99 self.ParentWindow.RefreshScrollBars() |
99 self.ParentWindow.RefreshScrollBars() |
100 self.ParentWindow.ParentWindow.RefreshEditor() |
100 self.ParentWindow.ParentWindow.RefreshEditor() |
101 self.ParentWindow.Refresh() |
101 self.ParentWindow.Refresh() |
102 elif values[1] != "location": |
102 elif values[1] != "location": |
103 id = self.ParentWindow.GetNewId() |
103 if values[3] == self.ParentWindow.GetTagName(): |
104 if values[1] == "Output": |
104 id = self.ParentWindow.GetNewId() |
105 var_type = OUTPUT |
105 if values[1] == "Output": |
106 elif values[1] == "InOut": |
106 var_type = OUTPUT |
107 var_type = INPUT |
107 elif values[1] == "InOut": |
108 else: |
108 var_type = INPUT |
109 var_type = INPUT |
109 else: |
110 variable = FBD_Variable(self.ParentWindow, var_type, values[0], values[2], id) |
110 var_type = INPUT |
111 variable.SetPosition(x, y) |
111 variable = FBD_Variable(self.ParentWindow, var_type, values[0], values[2], id) |
112 width, height = variable.GetMinSize() |
112 variable.SetPosition(x, y) |
113 variable.SetSize(width, height) |
113 width, height = variable.GetMinSize() |
114 self.ParentWindow.AddBlock(variable) |
114 variable.SetSize(width, height) |
115 self.ParentWindow.Controler.AddCurrentElementEditingVariable(id, var_type) |
115 self.ParentWindow.AddBlock(variable) |
116 self.ParentWindow.RefreshVariableModel(variable) |
116 self.ParentWindow.Controler.AddEditedElementVariable(self.TagName, id, var_type) |
117 self.ParentWindow.RefreshBuffer() |
117 self.ParentWindow.RefreshVariableModel(variable) |
118 self.ParentWindow.RefreshScrollBars() |
118 self.ParentWindow.RefreshBuffer() |
119 self.ParentWindow.Refresh() |
119 self.ParentWindow.RefreshScrollBars() |
120 self.ParentWindow.Refresh() |
|
121 else: |
|
122 message = wx.MessageDialog(self.ParentWindow, "Variable don't belong to this POU!", "Error", wx.OK|wx.ICON_ERROR) |
|
123 message.ShowModal() |
|
124 message.Destroy() |
|
120 |
125 |
126 if wx.VERSION >= (2, 8, 0): |
|
127 import wx.aui |
|
128 |
|
129 class MDIViewer(wx.aui.AuiMDIChildFrame): |
|
130 def __init__(self, parent, tagname, window, controler): |
|
131 wx.aui.AuiMDIChildFrame.__init__(self, parent, -1, title = "") |
|
132 |
|
133 sizer = wx.BoxSizer(wx.HORIZONTAL) |
|
134 |
|
135 self.Viewer = Viewer(self, tagname, window, controler) |
|
136 |
|
137 sizer.AddWindow(self.Viewer, 1, border=0, flag=wx.GROW) |
|
138 |
|
139 self.SetSizer(sizer) |
|
140 |
|
141 def GetViewer(self): |
|
142 return self.Viewer |
|
121 |
143 |
122 """ |
144 """ |
123 Class that implements a Viewer based on a wx.ScrolledWindow for drawing and |
145 Class that implements a Viewer based on a wx.ScrolledWindow for drawing and |
124 manipulating graphic elements |
146 manipulating graphic elements |
125 """ |
147 """ |
195 self.ContextualMenu = wx.Menu(title='') |
217 self.ContextualMenu = wx.Menu(title='') |
196 |
218 |
197 self._init_coll_ContextualMenu_Items(self.ContextualMenu) |
219 self._init_coll_ContextualMenu_Items(self.ContextualMenu) |
198 |
220 |
199 # Create a new Viewer |
221 # Create a new Viewer |
200 def __init__(self, parent, window, controler): |
222 def __init__(self, parent, tagname, window, controler): |
201 wx.ScrolledWindow.__init__(self, parent, pos=wx.Point(0, 0), size=wx.Size(0, 0), |
223 wx.ScrolledWindow.__init__(self, parent, pos=wx.Point(0, 0), size=wx.Size(0, 0), |
202 style=wx.SUNKEN_BORDER | wx.HSCROLL | wx.VSCROLL) |
224 style=wx.SUNKEN_BORDER | wx.HSCROLL | wx.VSCROLL) |
203 self._init_menus() |
225 self._init_menus() |
204 # Adding a rubberband to Viewer |
226 # Adding a rubberband to Viewer |
205 self.rubberBand = RubberBand(drawingSurface=self) |
227 self.rubberBand = RubberBand(drawingSurface=self) |
207 self.ResetView() |
229 self.ResetView() |
208 self.Scaling = None |
230 self.Scaling = None |
209 #self.Scaling = (8, 8) |
231 #self.Scaling = (8, 8) |
210 self.DrawGrid = True |
232 self.DrawGrid = True |
211 self.current_id = 0 |
233 self.current_id = 0 |
234 self.TagName = tagname |
|
212 |
235 |
213 # Initialize Block, Wire and Comment numbers |
236 # Initialize Block, Wire and Comment numbers |
214 self.block_id = self.wire_id = self.comment_id = 0 |
237 self.block_id = self.wire_id = self.comment_id = 0 |
215 |
238 |
216 # Initialize Viewer mode to Selection mode |
239 # Initialize Viewer mode to Selection mode |
233 self.Bind(wx.EVT_CHAR, self.OnChar) |
256 self.Bind(wx.EVT_CHAR, self.OnChar) |
234 if wx.VERSION < (2, 7, 0): |
257 if wx.VERSION < (2, 7, 0): |
235 self.Bind(wx.EVT_SCROLLWIN, self.OnMoveWindow) |
258 self.Bind(wx.EVT_SCROLLWIN, self.OnMoveWindow) |
236 self.Bind(wx.EVT_SIZE, self.OnMoveWindow) |
259 self.Bind(wx.EVT_SIZE, self.OnMoveWindow) |
237 |
260 |
261 def SetTagName(self, tagname): |
|
262 self.TagName = tagname |
|
263 |
|
264 def GetTagName(self): |
|
265 return self.TagName |
|
266 |
|
267 def IsViewing(self, tagname): |
|
268 return self.TagName == tagname |
|
269 |
|
238 # Returns a new id |
270 # Returns a new id |
239 def GetNewId(self): |
271 def GetNewId(self): |
240 self.current_id += 1 |
272 self.current_id += 1 |
241 return self.current_id |
273 return self.current_id |
242 |
274 |
312 self.Blocks = {} |
344 self.Blocks = {} |
313 self.Wires = {} |
345 self.Wires = {} |
314 self.Comments = {} |
346 self.Comments = {} |
315 self.SelectedElement = None |
347 self.SelectedElement = None |
316 |
348 |
317 # Verify wires type compatibility |
|
318 def VerifyVariableTypeCompatibility(self): |
|
319 to_delete = [] |
|
320 for wire in self.Wires: |
|
321 if not wire.IsConnectedCompatible(): |
|
322 to_delete.append(wire) |
|
323 for wire in to_delete: |
|
324 wire.Delete() |
|
325 |
|
326 # Remove all elements |
349 # Remove all elements |
327 def CleanView(self): |
350 def CleanView(self): |
328 for block in self.Blocks.keys(): |
351 for block in self.Blocks.keys(): |
329 block.Clean() |
352 block.Clean() |
330 self.ResetView() |
353 self.ResetView() |
367 instance = True |
390 instance = True |
368 # List of ids of already loaded blocks |
391 # List of ids of already loaded blocks |
369 ids = [] |
392 ids = [] |
370 # Load Blocks until they are all loaded |
393 # Load Blocks until they are all loaded |
371 while instance: |
394 while instance: |
372 instance = self.Controler.GetCurrentElementEditingInstanceInfos(exclude=ids) |
395 instance = self.Controler.GetEditedElementInstanceInfos(self.TagName, exclude=ids) |
373 if instance: |
396 if instance: |
374 self.loadInstance(instance, ids) |
397 self.loadInstance(instance, ids) |
375 self.RefreshScrollBars() |
398 self.RefreshScrollBars() |
399 |
|
400 to_delete = [] |
|
401 for wire in self.Wires: |
|
402 if not wire.IsConnectedCompatible(): |
|
403 to_delete.append(wire) |
|
404 for wire in to_delete: |
|
405 wire.Delete() |
|
406 |
|
376 self.Refresh(False) |
407 self.Refresh(False) |
377 |
408 |
378 def RefreshScrollBars(self): |
409 def RefreshScrollBars(self): |
379 xstart, ystart = self.GetViewStart() |
410 xstart, ystart = self.GetViewStart() |
380 window_size = self.GetClientSize() |
411 window_size = self.GetClientSize() |
635 def CreateWires(self, start_connector, links, ids): |
666 def CreateWires(self, start_connector, links, ids): |
636 for link in links: |
667 for link in links: |
637 refLocalId = link["refLocalId"] |
668 refLocalId = link["refLocalId"] |
638 if refLocalId != None: |
669 if refLocalId != None: |
639 if refLocalId not in ids: |
670 if refLocalId not in ids: |
640 new_instance = self.Controler.GetCurrentElementEditingInstanceInfos(refLocalId) |
671 new_instance = self.Controler.GetEditedElementInstanceInfos(self.TagName, refLocalId) |
641 if new_instance: |
672 if new_instance: |
642 self.loadInstance(new_instance, ids) |
673 self.loadInstance(new_instance, ids) |
643 connected = self.FindElementById(refLocalId) |
674 connected = self.FindElementById(refLocalId) |
644 if connected: |
675 if connected: |
645 points = link["points"] |
676 points = link["points"] |
705 # Popup menu functions |
736 # Popup menu functions |
706 #------------------------------------------------------------------------------- |
737 #------------------------------------------------------------------------------- |
707 |
738 |
708 def PopupBlockMenu(self, connector = None): |
739 def PopupBlockMenu(self, connector = None): |
709 if connector is not None and connector.IsCompatible("BOOL"): |
740 if connector is not None and connector.IsCompatible("BOOL"): |
710 type = self.Controler.GetCurrentElementEditingType() |
741 type = self.Controler.GetEditedElementType(self.TagName) |
711 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS0, True) |
742 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS0, True) |
712 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS1, True) |
743 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS1, True) |
713 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS2, type != "function") |
744 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS2, type != "function") |
714 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS3, type != "function") |
745 self.ContextualMenu.Enable(ID_FBDVIEWERCONTEXTUALMENUITEMS3, type != "function") |
715 else: |
746 else: |
834 self.SelectedElement = None |
865 self.SelectedElement = None |
835 self.RefreshBuffer() |
866 self.RefreshBuffer() |
836 event.Skip() |
867 event.Skip() |
837 |
868 |
838 def OnClearExecutionOrderMenu(self, event): |
869 def OnClearExecutionOrderMenu(self, event): |
839 self.Controler.ClearCurrentExecutionOrder() |
870 self.Controler.ClearEditedElementExecutionOrder(self.TagName) |
840 self.RefreshBuffer() |
871 self.RefreshBuffer() |
841 self.RefreshView() |
872 self.RefreshView() |
842 |
873 |
843 def OnResetExecutionOrderMenu(self, event): |
874 def OnResetExecutionOrderMenu(self, event): |
844 self.Controler.ResetCurrentExecutionOrder() |
875 self.Controler.ResetEditedElementExecutionOrder(self.TagName) |
845 self.RefreshBuffer() |
876 self.RefreshBuffer() |
846 self.RefreshView() |
877 self.RefreshView() |
847 |
878 |
848 #------------------------------------------------------------------------------- |
879 #------------------------------------------------------------------------------- |
849 # Mouse event functions |
880 # Mouse event functions |
1111 # Model adding functions |
1142 # Model adding functions |
1112 #------------------------------------------------------------------------------- |
1143 #------------------------------------------------------------------------------- |
1113 |
1144 |
1114 def AddNewBlock(self, bbox): |
1145 def AddNewBlock(self, bbox): |
1115 dialog = BlockPropertiesDialog(self.ParentWindow) |
1146 dialog = BlockPropertiesDialog(self.ParentWindow) |
1116 dialog.SetBlockList(self.Controler.GetBlockTypes()) |
1147 dialog.SetBlockList(self.Controler.GetBlockTypes(self.TagName)) |
1117 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1148 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1118 dialog.SetPouElementNames(self.Controler.GetCurrentElementEditingVariables()) |
1149 dialog.SetPouElementNames(self.Controler.GetEditedElementVariables(self.TagName)) |
1119 dialog.SetMinBlockSize((bbox.width, bbox.height)) |
1150 dialog.SetMinBlockSize((bbox.width, bbox.height)) |
1120 if dialog.ShowModal() == wx.ID_OK: |
1151 if dialog.ShowModal() == wx.ID_OK: |
1121 id = self.GetNewId() |
1152 id = self.GetNewId() |
1122 values = dialog.GetValues() |
1153 values = dialog.GetValues() |
1123 if "name" in values: |
1154 if "name" in values: |
1125 else: |
1156 else: |
1126 block = FBD_Block(self, values["type"], "", id, values["extension"], values["inputs"]) |
1157 block = FBD_Block(self, values["type"], "", id, values["extension"], values["inputs"]) |
1127 block.SetPosition(bbox.x, bbox.y) |
1158 block.SetPosition(bbox.x, bbox.y) |
1128 block.SetSize(values["width"], values["height"]) |
1159 block.SetSize(values["width"], values["height"]) |
1129 self.AddBlock(block) |
1160 self.AddBlock(block) |
1130 self.Controler.AddCurrentElementEditingBlock(id, values["type"], values.get("name", None)) |
1161 self.Controler.AddEditedElementBlock(self.TagName, id, values["type"], values.get("name", None)) |
1131 self.RefreshBlockModel(block) |
1162 self.RefreshBlockModel(block) |
1132 self.RefreshBuffer() |
1163 self.RefreshBuffer() |
1133 self.RefreshScrollBars() |
1164 self.RefreshScrollBars() |
1134 self.ParentWindow.RefreshEditor() |
1165 self.ParentWindow.RefreshEditor() |
1135 self.Refresh(False) |
1166 self.Refresh(False) |
1137 |
1168 |
1138 def AddNewVariable(self, bbox): |
1169 def AddNewVariable(self, bbox): |
1139 dialog = VariablePropertiesDialog(self.ParentWindow) |
1170 dialog = VariablePropertiesDialog(self.ParentWindow) |
1140 dialog.SetMinVariableSize((bbox.width, bbox.height)) |
1171 dialog.SetMinVariableSize((bbox.width, bbox.height)) |
1141 varlist = [] |
1172 varlist = [] |
1142 vars = self.Controler.GetCurrentElementEditingInterfaceVars() |
1173 vars = self.Controler.GetEditedElementInterfaceVars(self.TagName) |
1143 if vars: |
1174 if vars: |
1144 for var in vars: |
1175 for var in vars: |
1145 if var["Edit"]: |
1176 if var["Edit"]: |
1146 varlist.append((var["Name"], var["Class"], var["Type"])) |
1177 varlist.append((var["Name"], var["Class"], var["Type"])) |
1147 returntype = self.Controler.GetCurrentElementEditingInterfaceReturnType() |
1178 returntype = self.Controler.GetEditedElementInterfaceReturnType(self.TagName) |
1148 if returntype: |
1179 if returntype: |
1149 varlist.append((self.Controler.GetCurrentElementEditingName(), "Output", returntype)) |
1180 varlist.append((self.Controler.GetEditedElementName(self.TagName), "Output", returntype)) |
1150 dialog.SetVariables(varlist) |
1181 dialog.SetVariables(varlist) |
1151 if dialog.ShowModal() == wx.ID_OK: |
1182 if dialog.ShowModal() == wx.ID_OK: |
1152 id = self.GetNewId() |
1183 id = self.GetNewId() |
1153 values = dialog.GetValues() |
1184 values = dialog.GetValues() |
1154 variable = FBD_Variable(self, values["type"], values["name"], values["value_type"], id) |
1185 variable = FBD_Variable(self, values["type"], values["name"], values["value_type"], id) |
1155 variable.SetPosition(bbox.x, bbox.y) |
1186 variable.SetPosition(bbox.x, bbox.y) |
1156 variable.SetSize(values["width"], values["height"]) |
1187 variable.SetSize(values["width"], values["height"]) |
1157 self.AddBlock(variable) |
1188 self.AddBlock(variable) |
1158 self.Controler.AddCurrentElementEditingVariable(id, values["type"]) |
1189 self.Controler.AddEditedElementVariable(self.TagName, id, values["type"]) |
1159 self.RefreshVariableModel(variable) |
1190 self.RefreshVariableModel(variable) |
1160 self.RefreshBuffer() |
1191 self.RefreshBuffer() |
1161 self.RefreshScrollBars() |
1192 self.RefreshScrollBars() |
1162 self.Refresh(False) |
1193 self.Refresh(False) |
1163 dialog.Destroy() |
1194 dialog.Destroy() |
1170 values = dialog.GetValues() |
1201 values = dialog.GetValues() |
1171 connection = FBD_Connector(self, values["type"], values["name"], id) |
1202 connection = FBD_Connector(self, values["type"], values["name"], id) |
1172 connection.SetPosition(bbox.x, bbox.y) |
1203 connection.SetPosition(bbox.x, bbox.y) |
1173 connection.SetSize(values["width"], values["height"]) |
1204 connection.SetSize(values["width"], values["height"]) |
1174 self.AddBlock(connection) |
1205 self.AddBlock(connection) |
1175 self.Controler.AddCurrentElementEditingConnection(id, values["type"]) |
1206 self.Controler.AddEditedElementConnection(self.TagName, id, values["type"]) |
1176 self.RefreshConnectionModel(connection) |
1207 self.RefreshConnectionModel(connection) |
1177 self.RefreshBuffer() |
1208 self.RefreshBuffer() |
1178 self.RefreshScrollBars() |
1209 self.RefreshScrollBars() |
1179 self.Refresh(False) |
1210 self.Refresh(False) |
1180 dialog.Destroy() |
1211 dialog.Destroy() |
1190 comment = Comment(self, value, id) |
1221 comment = Comment(self, value, id) |
1191 comment.SetPosition(bbox.x, bbox.y) |
1222 comment.SetPosition(bbox.x, bbox.y) |
1192 min_width, min_height = comment.GetMinSize() |
1223 min_width, min_height = comment.GetMinSize() |
1193 comment.SetSize(max(min_width,bbox.width),max(min_height,bbox.height)) |
1224 comment.SetSize(max(min_width,bbox.width),max(min_height,bbox.height)) |
1194 self.AddComment(comment) |
1225 self.AddComment(comment) |
1195 self.Controler.AddCurrentElementEditingComment(id) |
1226 self.Controler.AddEditedElementComment(self.TagName, id) |
1196 self.RefreshCommentModel(comment) |
1227 self.RefreshCommentModel(comment) |
1197 self.RefreshBuffer() |
1228 self.RefreshBuffer() |
1198 self.RefreshScrollBars() |
1229 self.RefreshScrollBars() |
1199 self.Refresh(False) |
1230 self.Refresh(False) |
1200 dialog.Destroy() |
1231 dialog.Destroy() |
1201 |
1232 |
1202 def AddNewContact(self, bbox): |
1233 def AddNewContact(self, bbox): |
1203 dialog = LDElementDialog(self.ParentWindow, "contact") |
1234 dialog = LDElementDialog(self.ParentWindow, "contact") |
1204 varlist = [] |
1235 varlist = [] |
1205 vars = self.Controler.GetCurrentElementEditingInterfaceVars() |
1236 vars = self.Controler.GetEditedElementInterfaceVars(self.TagName) |
1206 if vars: |
1237 if vars: |
1207 for var in vars: |
1238 for var in vars: |
1208 if var["Class"] != "Output" and var["Type"] == "BOOL": |
1239 if var["Class"] != "Output" and var["Type"] == "BOOL": |
1209 varlist.append(var["Name"]) |
1240 varlist.append(var["Name"]) |
1210 dialog.SetVariables(varlist) |
1241 dialog.SetVariables(varlist) |
1215 values = dialog.GetValues() |
1246 values = dialog.GetValues() |
1216 contact = LD_Contact(self, values["type"], values["name"], id) |
1247 contact = LD_Contact(self, values["type"], values["name"], id) |
1217 contact.SetPosition(bbox.x, bbox.y) |
1248 contact.SetPosition(bbox.x, bbox.y) |
1218 contact.SetSize(values["width"], values["height"]) |
1249 contact.SetSize(values["width"], values["height"]) |
1219 self.AddBlock(contact) |
1250 self.AddBlock(contact) |
1220 self.Controler.AddCurrentElementEditingContact(id) |
1251 self.Controler.AddEditedElementContact(self.TagName, id) |
1221 self.RefreshContactModel(contact) |
1252 self.RefreshContactModel(contact) |
1222 self.RefreshBuffer() |
1253 self.RefreshBuffer() |
1223 self.RefreshScrollBars() |
1254 self.RefreshScrollBars() |
1224 self.Refresh(False) |
1255 self.Refresh(False) |
1225 dialog.Destroy() |
1256 dialog.Destroy() |
1226 |
1257 |
1227 def AddNewCoil(self, bbox): |
1258 def AddNewCoil(self, bbox): |
1228 dialog = LDElementDialog(self.ParentWindow, "coil") |
1259 dialog = LDElementDialog(self.ParentWindow, "coil") |
1229 varlist = [] |
1260 varlist = [] |
1230 vars = self.Controler.GetCurrentElementEditingInterfaceVars() |
1261 vars = self.Controler.GetEditedElementInterfaceVars(self.TagName) |
1231 if vars: |
1262 if vars: |
1232 for var in vars: |
1263 for var in vars: |
1233 if var["Class"] != "Input" and var["Type"] == "BOOL": |
1264 if var["Class"] != "Input" and var["Type"] == "BOOL": |
1234 varlist.append(var["Name"]) |
1265 varlist.append(var["Name"]) |
1235 returntype = self.Controler.GetCurrentElementEditingInterfaceReturnType() |
1266 returntype = self.Controler.GetEditedElementInterfaceReturnType(self.TagName) |
1236 if returntype == "BOOL": |
1267 if returntype == "BOOL": |
1237 varlist.append(self.Controler.GetCurrentElementEditingName()) |
1268 varlist.append(self.Controler.GetEditedElementName(self.TagName)) |
1238 dialog.SetVariables(varlist) |
1269 dialog.SetVariables(varlist) |
1239 dialog.SetValues({"name":"","type":COIL_NORMAL}) |
1270 dialog.SetValues({"name":"","type":COIL_NORMAL}) |
1240 dialog.SetElementSize((bbox.width, bbox.height)) |
1271 dialog.SetElementSize((bbox.width, bbox.height)) |
1241 if dialog.ShowModal() == wx.ID_OK: |
1272 if dialog.ShowModal() == wx.ID_OK: |
1242 id = self.GetNewId() |
1273 id = self.GetNewId() |
1243 values = dialog.GetValues() |
1274 values = dialog.GetValues() |
1244 coil = LD_Coil(self, values["type"], values["name"], id) |
1275 coil = LD_Coil(self, values["type"], values["name"], id) |
1245 coil.SetPosition(bbox.x, bbox.y) |
1276 coil.SetPosition(bbox.x, bbox.y) |
1246 coil.SetSize(values["width"], values["height"]) |
1277 coil.SetSize(values["width"], values["height"]) |
1247 self.AddBlock(coil) |
1278 self.AddBlock(coil) |
1248 self.Controler.AddCurrentElementEditingCoil(id) |
1279 self.Controler.AddEditedElementCoil(self.TagName, id) |
1249 self.RefreshCoilModel(coil) |
1280 self.RefreshCoilModel(coil) |
1250 self.RefreshBuffer() |
1281 self.RefreshBuffer() |
1251 self.RefreshScrollBars() |
1282 self.RefreshScrollBars() |
1252 self.Refresh(False) |
1283 self.Refresh(False) |
1253 dialog.Destroy() |
1284 dialog.Destroy() |
1260 values = dialog.GetValues() |
1291 values = dialog.GetValues() |
1261 powerrail = LD_PowerRail(self, values["type"], id, [True for i in xrange(values["number"])]) |
1292 powerrail = LD_PowerRail(self, values["type"], id, [True for i in xrange(values["number"])]) |
1262 powerrail.SetPosition(bbox.x, bbox.y) |
1293 powerrail.SetPosition(bbox.x, bbox.y) |
1263 powerrail.SetSize(values["width"], values["height"]) |
1294 powerrail.SetSize(values["width"], values["height"]) |
1264 self.AddBlock(powerrail) |
1295 self.AddBlock(powerrail) |
1265 self.Controler.AddCurrentElementEditingPowerRail(id, values["type"]) |
1296 self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"]) |
1266 self.RefreshPowerRailModel(powerrail) |
1297 self.RefreshPowerRailModel(powerrail) |
1267 self.RefreshBuffer() |
1298 self.RefreshBuffer() |
1268 self.RefreshScrollBars() |
1299 self.RefreshScrollBars() |
1269 self.Refresh(False) |
1300 self.Refresh(False) |
1270 dialog.Destroy() |
1301 dialog.Destroy() |
1271 |
1302 |
1272 def AddNewStep(self, bbox, initial = False): |
1303 def AddNewStep(self, bbox, initial = False): |
1273 dialog = StepContentDialog(self.ParentWindow, initial) |
1304 dialog = StepContentDialog(self.ParentWindow, initial) |
1274 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1305 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1275 dialog.SetVariables(self.Controler.GetCurrentElementEditingInterfaceVars()) |
1306 dialog.SetVariables(self.Controler.GetEditedElementInterfaceVars(self.TagName)) |
1276 dialog.SetStepNames([block.GetName() for block in self.Blocks if isinstance(block, SFC_Step)]) |
1307 dialog.SetStepNames([block.GetName() for block in self.Blocks if isinstance(block, SFC_Step)]) |
1277 dialog.SetMinStepSize((bbox.width, bbox.height)) |
1308 dialog.SetMinStepSize((bbox.width, bbox.height)) |
1278 if dialog.ShowModal() == wx.ID_OK: |
1309 if dialog.ShowModal() == wx.ID_OK: |
1279 id = self.GetNewId() |
1310 id = self.GetNewId() |
1280 values = dialog.GetValues() |
1311 values = dialog.GetValues() |
1293 step.RemoveAction() |
1324 step.RemoveAction() |
1294 step.SetPosition(bbox.x, bbox.y) |
1325 step.SetPosition(bbox.x, bbox.y) |
1295 min_width, min_height = step.GetMinSize() |
1326 min_width, min_height = step.GetMinSize() |
1296 step.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1327 step.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1297 self.AddBlock(step) |
1328 self.AddBlock(step) |
1298 self.Controler.AddCurrentElementEditingStep(id) |
1329 self.Controler.AddEditedElementStep(self.TagName, id) |
1299 self.RefreshStepModel(step) |
1330 self.RefreshStepModel(step) |
1300 self.RefreshBuffer() |
1331 self.RefreshBuffer() |
1301 self.RefreshScrollBars() |
1332 self.RefreshScrollBars() |
1302 self.Refresh(False) |
1333 self.Refresh(False) |
1303 dialog.Destroy() |
1334 dialog.Destroy() |
1304 |
1335 |
1305 def AddNewTransition(self, bbox): |
1336 def AddNewTransition(self, bbox): |
1306 dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) |
1337 dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) |
1307 dialog.SetTransitions(self.Controler.GetCurrentElementEditingTransitions()) |
1338 dialog.SetTransitions(self.Controler.GetEditedElementTransitions(self.TagName)) |
1308 if dialog.ShowModal() == wx.ID_OK: |
1339 if dialog.ShowModal() == wx.ID_OK: |
1309 id = self.GetNewId() |
1340 id = self.GetNewId() |
1310 values = dialog.GetValues() |
1341 values = dialog.GetValues() |
1311 transition = SFC_Transition(self, values["type"], values["value"], values["priority"], id) |
1342 transition = SFC_Transition(self, values["type"], values["value"], values["priority"], id) |
1312 transition.SetPosition(bbox.x, bbox.y) |
1343 transition.SetPosition(bbox.x, bbox.y) |
1313 min_width, min_height = transition.GetMinSize() |
1344 min_width, min_height = transition.GetMinSize() |
1314 transition.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1345 transition.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1315 self.AddBlock(transition) |
1346 self.AddBlock(transition) |
1316 self.Controler.AddCurrentElementEditingTransition(id) |
1347 self.Controler.AddEditedElementTransition(self.TagName, id) |
1317 self.RefreshTransitionModel(transition) |
1348 self.RefreshTransitionModel(transition) |
1318 self.RefreshBuffer() |
1349 self.RefreshBuffer() |
1319 self.RefreshScrollBars() |
1350 self.RefreshScrollBars() |
1320 self.Refresh(False) |
1351 self.Refresh(False) |
1321 dialog.Destroy() |
1352 dialog.Destroy() |
1329 divergence = SFC_Divergence(self, values["type"], values["number"], id) |
1360 divergence = SFC_Divergence(self, values["type"], values["number"], id) |
1330 divergence.SetPosition(bbox.x, bbox.y) |
1361 divergence.SetPosition(bbox.x, bbox.y) |
1331 min_width, min_height = divergence.GetMinSize(True) |
1362 min_width, min_height = divergence.GetMinSize(True) |
1332 divergence.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1363 divergence.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1333 self.AddBlock(divergence) |
1364 self.AddBlock(divergence) |
1334 self.Controler.AddCurrentElementEditingDivergence(id, values["type"]) |
1365 self.Controler.AddEditedElementDivergence(self.TagName, id, values["type"]) |
1335 self.RefreshDivergenceModel(divergence) |
1366 self.RefreshDivergenceModel(divergence) |
1336 self.RefreshBuffer() |
1367 self.RefreshBuffer() |
1337 self.RefreshScrollBars() |
1368 self.RefreshScrollBars() |
1338 self.Refresh(False) |
1369 self.Refresh(False) |
1339 dialog.Destroy() |
1370 dialog.Destroy() |
1350 jump = SFC_Jump(self, value, id) |
1381 jump = SFC_Jump(self, value, id) |
1351 jump.SetPosition(bbox.x, bbox.y) |
1382 jump.SetPosition(bbox.x, bbox.y) |
1352 min_width, min_height = jump.GetMinSize() |
1383 min_width, min_height = jump.GetMinSize() |
1353 jump.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1384 jump.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1354 self.AddBlock(jump) |
1385 self.AddBlock(jump) |
1355 self.Controler.AddCurrentElementEditingJump(id) |
1386 self.Controler.AddEditedElementJump(self.TagName, id) |
1356 self.RefreshJumpModel(jump) |
1387 self.RefreshJumpModel(jump) |
1357 self.RefreshBuffer() |
1388 self.RefreshBuffer() |
1358 self.RefreshScrollBars() |
1389 self.RefreshScrollBars() |
1359 self.Refresh() |
1390 self.Refresh() |
1360 dialog.Destroy() |
1391 dialog.Destroy() |
1361 |
1392 |
1362 def AddNewActionBlock(self, bbox): |
1393 def AddNewActionBlock(self, bbox): |
1363 dialog = ActionBlockDialog(self.ParentWindow) |
1394 dialog = ActionBlockDialog(self.ParentWindow) |
1364 dialog.SetQualifierList(self.Controler.GetQualifierTypes()) |
1395 dialog.SetQualifierList(self.Controler.GetQualifierTypes()) |
1365 dialog.SetActionList(self.Controler.GetCurrentElementEditingActions()) |
1396 dialog.SetActionList(self.Controler.GetEditedElementActions(self.TagName)) |
1366 dialog.SetVariableList(self.Controler.GetCurrentElementEditingInterfaceVars()) |
1397 dialog.SetVariableList(self.Controler.GetEditedElementInterfaceVars(self.TagName)) |
1367 if dialog.ShowModal() == wx.ID_OK: |
1398 if dialog.ShowModal() == wx.ID_OK: |
1368 actions = dialog.GetValues() |
1399 actions = dialog.GetValues() |
1369 id = self.GetNewId() |
1400 id = self.GetNewId() |
1370 actionblock = SFC_ActionBlock(self, actions, id) |
1401 actionblock = SFC_ActionBlock(self, actions, id) |
1371 actionblock.SetPosition(bbox.x, bbox.y) |
1402 actionblock.SetPosition(bbox.x, bbox.y) |
1372 min_width, min_height = actionblock.GetMinSize() |
1403 min_width, min_height = actionblock.GetMinSize() |
1373 actionblock.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1404 actionblock.SetSize(max(bbox.width, min_width), max(bbox.height, min_height)) |
1374 self.AddBlock(actionblock) |
1405 self.AddBlock(actionblock) |
1375 self.Controler.AddCurrentElementEditingActionBlock(id) |
1406 self.Controler.AddEditedElementActionBlock(self.TagName, id) |
1376 self.RefreshActionBlockModel(actionblock) |
1407 self.RefreshActionBlockModel(actionblock) |
1377 self.RefreshBuffer() |
1408 self.RefreshBuffer() |
1378 self.RefreshScrollBars() |
1409 self.RefreshScrollBars() |
1379 self.Refresh() |
1410 self.Refresh() |
1380 dialog.Destroy() |
1411 dialog.Destroy() |
1383 # Edit element content functions |
1414 # Edit element content functions |
1384 #------------------------------------------------------------------------------- |
1415 #------------------------------------------------------------------------------- |
1385 |
1416 |
1386 def EditBlockContent(self, block): |
1417 def EditBlockContent(self, block): |
1387 dialog = BlockPropertiesDialog(self.ParentWindow) |
1418 dialog = BlockPropertiesDialog(self.ParentWindow) |
1388 dialog.SetBlockList(self.Controler.GetBlockTypes()) |
1419 dialog.SetBlockList(self.Controler.GetBlockTypes(self.TagName)) |
1389 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1420 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1390 variable_names = self.Controler.GetCurrentElementEditingVariables() |
1421 variable_names = self.Controler.GetEditedElementVariables(self.TagName) |
1391 if block.GetName() != "": |
1422 if block.GetName() != "": |
1392 variable_names.remove(block.GetName()) |
1423 variable_names.remove(block.GetName()) |
1393 dialog.SetPouElementNames(variable_names) |
1424 dialog.SetPouElementNames(variable_names) |
1394 dialog.SetMinBlockSize(block.GetSize()) |
1425 dialog.SetMinBlockSize(block.GetSize()) |
1395 old_values = {"name" : block.GetName(), "type" : block.GetType(), "inputs" : block.GetInputTypes(), |
1426 old_values = {"name" : block.GetName(), "type" : block.GetType(), "inputs" : block.GetInputTypes(), |
1413 |
1444 |
1414 def EditVariableContent(self, variable): |
1445 def EditVariableContent(self, variable): |
1415 dialog = VariablePropertiesDialog(self.ParentWindow) |
1446 dialog = VariablePropertiesDialog(self.ParentWindow) |
1416 dialog.SetMinVariableSize(variable.GetSize()) |
1447 dialog.SetMinVariableSize(variable.GetSize()) |
1417 varlist = [] |
1448 varlist = [] |
1418 vars = self.Controler.GetCurrentElementEditingInterfaceVars() |
1449 vars = self.Controler.GetEditedElementInterfaceVars(self.TagName) |
1419 if vars: |
1450 if vars: |
1420 for var in vars: |
1451 for var in vars: |
1421 if var["Edit"]: |
1452 if var["Edit"]: |
1422 varlist.append((var["Name"], var["Class"], var["Type"])) |
1453 varlist.append((var["Name"], var["Class"], var["Type"])) |
1423 returntype = self.Controler.GetCurrentElementEditingInterfaceReturnType() |
1454 returntype = self.Controler.GetEditedElementInterfaceReturnType(self.TagName) |
1424 if returntype: |
1455 if returntype: |
1425 varlist.append((self.Controler.GetCurrentElementEditingName(), "Output", returntype)) |
1456 varlist.append((self.Controler.GetEditedElementName(self.TagName), "Output", returntype)) |
1426 dialog.SetVariables(varlist) |
1457 dialog.SetVariables(varlist) |
1427 old_values = {"name" : variable.GetName(), "type" : variable.GetType(), |
1458 old_values = {"name" : variable.GetName(), "type" : variable.GetType(), |
1428 "executionOrder" : variable.GetExecutionOrder()} |
1459 "executionOrder" : variable.GetExecutionOrder()} |
1429 dialog.SetValues(old_values) |
1460 dialog.SetValues(old_values) |
1430 if dialog.ShowModal() == wx.ID_OK: |
1461 if dialog.ShowModal() == wx.ID_OK: |
1433 variable.SetType(new_values["type"], new_values["value_type"]) |
1464 variable.SetType(new_values["type"], new_values["value_type"]) |
1434 variable.SetSize(new_values["width"], new_values["height"]) |
1465 variable.SetSize(new_values["width"], new_values["height"]) |
1435 variable.SetExecutionOrder(new_values["executionOrder"]) |
1466 variable.SetExecutionOrder(new_values["executionOrder"]) |
1436 if old_values["type"] != new_values["type"]: |
1467 if old_values["type"] != new_values["type"]: |
1437 id = variable.GetId() |
1468 id = variable.GetId() |
1438 self.Controler.RemoveCurrentElementEditingInstance(id) |
1469 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1439 self.Controler.AddCurrentElementEditingVariable(id, new_values["type"]) |
1470 self.Controler.AddEditedElementVariable(self.TagName, id, new_values["type"]) |
1440 self.RefreshVariableModel(variable) |
1471 self.RefreshVariableModel(variable) |
1441 if old_values["executionOrder"] != new_values["executionOrder"]: |
1472 if old_values["executionOrder"] != new_values["executionOrder"]: |
1442 self.RefreshView() |
1473 self.RefreshView() |
1443 self.RefreshBuffer() |
1474 self.RefreshBuffer() |
1444 self.RefreshScrollBars() |
1475 self.RefreshScrollBars() |
1456 connection.SetName(values["name"]) |
1487 connection.SetName(values["name"]) |
1457 connection.SetType(values["type"]) |
1488 connection.SetType(values["type"]) |
1458 connection.SetSize(values["width"], values["height"]) |
1489 connection.SetSize(values["width"], values["height"]) |
1459 if old_type != values["type"]: |
1490 if old_type != values["type"]: |
1460 id = connection.GetId() |
1491 id = connection.GetId() |
1461 self.Controler.RemoveCurrentElementEditingInstance(id) |
1492 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1462 self.Controler.AddCurrentElementEditingConnection(id, values["type"]) |
1493 self.Controler.AddEditedElementConnection(self.TagName, id, values["type"]) |
1463 self.RefreshConnectionModel(connection) |
1494 self.RefreshConnectionModel(connection) |
1464 self.RefreshBuffer() |
1495 self.RefreshBuffer() |
1465 self.RefreshScrollBars() |
1496 self.RefreshScrollBars() |
1466 self.Refresh(False) |
1497 self.Refresh(False) |
1467 dialog.Destroy() |
1498 dialog.Destroy() |
1468 |
1499 |
1469 def EditContactContent(self, contact): |
1500 def EditContactContent(self, contact): |
1470 dialog = LDElementDialog(self.ParentWindow, "contact") |
1501 dialog = LDElementDialog(self.ParentWindow, "contact") |
1471 varlist = [] |
1502 varlist = [] |
1472 vars = self.Controler.GetCurrentElementEditingInterfaceVars() |
1503 vars = self.Controler.GetEditedElementInterfaceVars(self.TagName) |
1473 if vars: |
1504 if vars: |
1474 for var in vars: |
1505 for var in vars: |
1475 if var["Class"] != "Output" and var["Type"] == "BOOL": |
1506 if var["Class"] != "Output" and var["Type"] == "BOOL": |
1476 varlist.append(var["Name"]) |
1507 varlist.append(var["Name"]) |
1477 dialog.SetVariables(varlist) |
1508 dialog.SetVariables(varlist) |
1490 dialog.Destroy() |
1521 dialog.Destroy() |
1491 |
1522 |
1492 def EditCoilContent(self, coil): |
1523 def EditCoilContent(self, coil): |
1493 dialog = LDElementDialog(self.ParentWindow, "coil") |
1524 dialog = LDElementDialog(self.ParentWindow, "coil") |
1494 varlist = [] |
1525 varlist = [] |
1495 vars = self.Controler.GetCurrentElementEditingInterfaceVars() |
1526 vars = self.Controler.GetEditedElementInterfaceVars(self.TagName) |
1496 if vars: |
1527 if vars: |
1497 for var in vars: |
1528 for var in vars: |
1498 if var["Class"] != "Input" and var["Type"] == "BOOL": |
1529 if var["Class"] != "Input" and var["Type"] == "BOOL": |
1499 varlist.append(var["Name"]) |
1530 varlist.append(var["Name"]) |
1500 returntype = self.Controler.GetCurrentElementEditingInterfaceReturnType() |
1531 returntype = self.Controler.GetEditedElementInterfaceReturnType(self.TagName) |
1501 if returntype == "BOOL": |
1532 if returntype == "BOOL": |
1502 varlist.append(self.Controler.GetCurrentElementEditingName()) |
1533 varlist.append(self.Controler.GetEditedElementName(self.TagName)) |
1503 dialog.SetVariables(varlist) |
1534 dialog.SetVariables(varlist) |
1504 values = {"name" : coil.GetName(), "type" : coil.GetType()} |
1535 values = {"name" : coil.GetName(), "type" : coil.GetType()} |
1505 dialog.SetValues(values) |
1536 dialog.SetValues(values) |
1506 dialog.SetElementSize(coil.GetSize()) |
1537 dialog.SetElementSize(coil.GetSize()) |
1507 if dialog.ShowModal() == wx.ID_OK: |
1538 if dialog.ShowModal() == wx.ID_OK: |
1523 values = dialog.GetValues() |
1554 values = dialog.GetValues() |
1524 powerrail.SetType(values["type"], [True for i in xrange(values["number"])]) |
1555 powerrail.SetType(values["type"], [True for i in xrange(values["number"])]) |
1525 powerrail.SetSize(values["width"], values["height"]) |
1556 powerrail.SetSize(values["width"], values["height"]) |
1526 if old_type != values["type"]: |
1557 if old_type != values["type"]: |
1527 id = powerrail.GetId() |
1558 id = powerrail.GetId() |
1528 self.Controler.RemoveCurrentElementEditingInstance(id) |
1559 self.Controler.RemoveEditedElementInstance(self.TagName, id) |
1529 self.Controler.AddCurrentElementEditingPowerRail(id, values["type"]) |
1560 self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"]) |
1530 self.RefreshPowerRailModel(powerrail) |
1561 self.RefreshPowerRailModel(powerrail) |
1531 self.RefreshBuffer() |
1562 self.RefreshBuffer() |
1532 self.RefreshScrollBars() |
1563 self.RefreshScrollBars() |
1533 self.Refresh(False) |
1564 self.Refresh(False) |
1534 dialog.Destroy() |
1565 dialog.Destroy() |
1535 |
1566 |
1536 def EditStepContent(self, step): |
1567 def EditStepContent(self, step): |
1537 dialog = StepContentDialog(self.ParentWindow, step.GetInitial()) |
1568 dialog = StepContentDialog(self.ParentWindow, step.GetInitial()) |
1538 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1569 dialog.SetPouNames(self.Controler.GetProjectPouNames()) |
1539 dialog.SetVariables(self.Controler.GetCurrentElementEditingInterfaceVars()) |
1570 dialog.SetVariables(self.Controler.GetEditedElementInterfaceVars(self.TagName)) |
1540 dialog.SetStepNames([block.GetName() for block in self.Blocks if isinstance(block, SFC_Step) and block.GetName() != step.GetName()]) |
1571 dialog.SetStepNames([block.GetName() for block in self.Blocks if isinstance(block, SFC_Step) and block.GetName() != step.GetName()]) |
1541 dialog.SetMinStepSize(step.GetSize()) |
1572 dialog.SetMinStepSize(step.GetSize()) |
1542 values = {"name" : step.GetName()} |
1573 values = {"name" : step.GetName()} |
1543 connectors = step.GetConnectors() |
1574 connectors = step.GetConnectors() |
1544 values["input"] = connectors["input"] != None |
1575 values["input"] = connectors["input"] != None |
1566 self.RefreshScrollBars() |
1597 self.RefreshScrollBars() |
1567 self.Refresh(False) |
1598 self.Refresh(False) |
1568 |
1599 |
1569 def EditTransitionContent(self, transition): |
1600 def EditTransitionContent(self, transition): |
1570 dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) |
1601 dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) |
1571 dialog.SetTransitions(self.Controler.GetCurrentElementEditingTransitions()) |
1602 dialog.SetTransitions(self.Controler.GetEditedElementTransitions(self.TagName)) |
1572 dialog.SetValues({"type":transition.GetType(),"value":transition.GetCondition(), "priority":transition.GetPriority()}) |
1603 dialog.SetValues({"type":transition.GetType(),"value":transition.GetCondition(), "priority":transition.GetPriority()}) |
1573 dialog.SetElementSize(transition.GetSize()) |
1604 dialog.SetElementSize(transition.GetSize()) |
1574 if dialog.ShowModal() == wx.ID_OK: |
1605 if dialog.ShowModal() == wx.ID_OK: |
1575 values = dialog.GetValues() |
1606 values = dialog.GetValues() |
1576 transition.SetType(values["type"],values["value"]) |
1607 transition.SetType(values["type"],values["value"]) |
1598 dialog.Destroy() |
1629 dialog.Destroy() |
1599 |
1630 |
1600 def EditActionBlockContent(self, actionblock): |
1631 def EditActionBlockContent(self, actionblock): |
1601 dialog = ActionBlockDialog(self.ParentWindow) |
1632 dialog = ActionBlockDialog(self.ParentWindow) |
1602 dialog.SetQualifierList(self.Controler.GetQualifierTypes()) |
1633 dialog.SetQualifierList(self.Controler.GetQualifierTypes()) |
1603 dialog.SetActionList(self.Controler.GetCurrentElementEditingActions()) |
1634 dialog.SetActionList(self.Controler.GetEditedElementActions(self.TagName)) |
1604 dialog.SetVariableList(self.Controler.GetCurrentElementEditingInterfaceVars()) |
1635 dialog.SetVariableList(self.Controler.GetEditedElementInterfaceVars(self.TagName)) |
1605 dialog.SetValues(actionblock.GetActions()) |
1636 dialog.SetValues(actionblock.GetActions()) |
1606 if dialog.ShowModal() == wx.ID_OK: |
1637 if dialog.ShowModal() == wx.ID_OK: |
1607 actions = dialog.GetValues() |
1638 actions = dialog.GetValues() |
1608 actionblock.SetActions(actions) |
1639 actionblock.SetActions(actions) |
1609 actionblock.RefreshModel() |
1640 actionblock.RefreshModel() |
1637 infos["name"] = block.GetName() |
1668 infos["name"] = block.GetName() |
1638 infos["executionOrder"] = block.GetExecutionOrder() |
1669 infos["executionOrder"] = block.GetExecutionOrder() |
1639 infos["x"], infos["y"] = block.GetPosition() |
1670 infos["x"], infos["y"] = block.GetPosition() |
1640 infos["width"], infos["height"] = block.GetSize() |
1671 infos["width"], infos["height"] = block.GetSize() |
1641 infos["connectors"] = block.GetConnectors() |
1672 infos["connectors"] = block.GetConnectors() |
1642 self.Controler.SetCurrentElementEditingBlockInfos(blockid, infos) |
1673 self.Controler.SetEditedElementBlockInfos(self.TagName, blockid, infos) |
1643 |
1674 |
1644 def RefreshVariableModel(self, variable): |
1675 def RefreshVariableModel(self, variable): |
1645 variableid = variable.GetId() |
1676 variableid = variable.GetId() |
1646 infos = {} |
1677 infos = {} |
1647 infos["name"] = variable.GetName() |
1678 infos["name"] = variable.GetName() |
1648 infos["executionOrder"] = variable.GetExecutionOrder() |
1679 infos["executionOrder"] = variable.GetExecutionOrder() |
1649 infos["x"], infos["y"] = variable.GetPosition() |
1680 infos["x"], infos["y"] = variable.GetPosition() |
1650 infos["width"], infos["height"] = variable.GetSize() |
1681 infos["width"], infos["height"] = variable.GetSize() |
1651 infos["connectors"] = variable.GetConnectors() |
1682 infos["connectors"] = variable.GetConnectors() |
1652 self.Controler.SetCurrentElementEditingVariableInfos(variableid, infos) |
1683 self.Controler.SetEditedElementVariableInfos(self.TagName, variableid, infos) |
1653 |
1684 |
1654 def RefreshConnectionModel(self, connection): |
1685 def RefreshConnectionModel(self, connection): |
1655 connectionid = connection.GetId() |
1686 connectionid = connection.GetId() |
1656 infos = {} |
1687 infos = {} |
1657 infos["name"] = connection.GetName() |
1688 infos["name"] = connection.GetName() |
1658 infos["executionOrder"] = connection.GetExecutionOrder() |
1689 infos["executionOrder"] = connection.GetExecutionOrder() |
1659 infos["x"], infos["y"] = connection.GetPosition() |
1690 infos["x"], infos["y"] = connection.GetPosition() |
1660 infos["width"], infos["height"] = connection.GetSize() |
1691 infos["width"], infos["height"] = connection.GetSize() |
1661 infos["connector"] = connection.GetConnector() |
1692 infos["connector"] = connection.GetConnector() |
1662 self.Controler.SetCurrentElementEditingConnectionInfos(connectionid, infos) |
1693 self.Controler.SetEditedElementConnectionInfos(self.TagName, connectionid, infos) |
1663 |
1694 |
1664 def RefreshCommentModel(self, comment): |
1695 def RefreshCommentModel(self, comment): |
1665 commentid = comment.GetId() |
1696 commentid = comment.GetId() |
1666 infos = {} |
1697 infos = {} |
1667 infos["content"] = comment.GetContent() |
1698 infos["content"] = comment.GetContent() |
1668 infos["x"], infos["y"] = comment.GetPosition() |
1699 infos["x"], infos["y"] = comment.GetPosition() |
1669 infos["width"], infos["height"] = comment.GetSize() |
1700 infos["width"], infos["height"] = comment.GetSize() |
1670 self.Controler.SetCurrentElementEditingCommentInfos(commentid, infos) |
1701 self.Controler.SetEditedElementCommentInfos(self.TagName, commentid, infos) |
1671 |
1702 |
1672 def RefreshPowerRailModel(self, powerrail): |
1703 def RefreshPowerRailModel(self, powerrail): |
1673 powerrailid = powerrail.GetId() |
1704 powerrailid = powerrail.GetId() |
1674 infos = {} |
1705 infos = {} |
1675 infos["x"], infos["y"] = powerrail.GetPosition() |
1706 infos["x"], infos["y"] = powerrail.GetPosition() |
1676 infos["width"], infos["height"] = powerrail.GetSize() |
1707 infos["width"], infos["height"] = powerrail.GetSize() |
1677 infos["connectors"] = powerrail.GetConnectors() |
1708 infos["connectors"] = powerrail.GetConnectors() |
1678 self.Controler.SetCurrentElementEditingPowerRailInfos(powerrailid, infos) |
1709 self.Controler.SetEditedElementPowerRailInfos(self.TagName, powerrailid, infos) |
1679 |
1710 |
1680 def RefreshContactModel(self, contact): |
1711 def RefreshContactModel(self, contact): |
1681 contactid = contact.GetId() |
1712 contactid = contact.GetId() |
1682 infos = {} |
1713 infos = {} |
1683 infos["name"] = contact.GetName() |
1714 infos["name"] = contact.GetName() |
1684 infos["type"] = contact.GetType() |
1715 infos["type"] = contact.GetType() |
1685 infos["x"], infos["y"] = contact.GetPosition() |
1716 infos["x"], infos["y"] = contact.GetPosition() |
1686 infos["width"], infos["height"] = contact.GetSize() |
1717 infos["width"], infos["height"] = contact.GetSize() |
1687 infos["connectors"] = contact.GetConnectors() |
1718 infos["connectors"] = contact.GetConnectors() |
1688 self.Controler.SetCurrentElementEditingContactInfos(contactid, infos) |
1719 self.Controler.SetEditedElementContactInfos(self.TagName, contactid, infos) |
1689 |
1720 |
1690 def RefreshCoilModel(self, coil): |
1721 def RefreshCoilModel(self, coil): |
1691 coilid = coil.GetId() |
1722 coilid = coil.GetId() |
1692 infos = {} |
1723 infos = {} |
1693 infos["name"] = coil.GetName() |
1724 infos["name"] = coil.GetName() |
1694 infos["type"] = coil.GetType() |
1725 infos["type"] = coil.GetType() |
1695 infos["x"], infos["y"] = coil.GetPosition() |
1726 infos["x"], infos["y"] = coil.GetPosition() |
1696 infos["width"], infos["height"] = coil.GetSize() |
1727 infos["width"], infos["height"] = coil.GetSize() |
1697 infos["connectors"] = coil.GetConnectors() |
1728 infos["connectors"] = coil.GetConnectors() |
1698 self.Controler.SetCurrentElementEditingCoilInfos(coilid, infos) |
1729 self.Controler.SetEditedElementCoilInfos(self.TagName, coilid, infos) |
1699 |
1730 |
1700 def RefreshStepModel(self, step): |
1731 def RefreshStepModel(self, step): |
1701 stepid = step.GetId() |
1732 stepid = step.GetId() |
1702 infos = {} |
1733 infos = {} |
1703 infos["name"] = step.GetName() |
1734 infos["name"] = step.GetName() |
1704 infos["initial"] = step.GetInitial() |
1735 infos["initial"] = step.GetInitial() |
1705 infos["x"], infos["y"] = step.GetPosition() |
1736 infos["x"], infos["y"] = step.GetPosition() |
1706 infos["width"], infos["height"] = step.GetSize() |
1737 infos["width"], infos["height"] = step.GetSize() |
1707 infos["connectors"] = step.GetConnectors() |
1738 infos["connectors"] = step.GetConnectors() |
1708 self.Controler.SetCurrentElementEditingStepInfos(stepid, infos) |
1739 self.Controler.SetEditedElementStepInfos(self.TagName, stepid, infos) |
1709 |
1740 |
1710 def RefreshTransitionModel(self, transition): |
1741 def RefreshTransitionModel(self, transition): |
1711 transitionid = transition.GetId() |
1742 transitionid = transition.GetId() |
1712 infos = {} |
1743 infos = {} |
1713 infos["type"] = transition.GetType() |
1744 infos["type"] = transition.GetType() |
1714 infos["priority"] = transition.GetPriority() |
1745 infos["priority"] = transition.GetPriority() |
1715 infos["condition"] = transition.GetCondition() |
1746 infos["condition"] = transition.GetCondition() |
1716 infos["x"], infos["y"] = transition.GetPosition() |
1747 infos["x"], infos["y"] = transition.GetPosition() |
1717 infos["width"], infos["height"] = transition.GetSize() |
1748 infos["width"], infos["height"] = transition.GetSize() |
1718 infos["connectors"] = transition.GetConnectors() |
1749 infos["connectors"] = transition.GetConnectors() |
1719 self.Controler.SetCurrentElementEditingTransitionInfos(transitionid, infos) |
1750 self.Controler.SetEditedElementTransitionInfos(self.TagName, transitionid, infos) |
1720 |
1751 |
1721 def RefreshDivergenceModel(self, divergence): |
1752 def RefreshDivergenceModel(self, divergence): |
1722 divergenceid = divergence.GetId() |
1753 divergenceid = divergence.GetId() |
1723 infos = {} |
1754 infos = {} |
1724 infos["x"], infos["y"] = divergence.GetPosition() |
1755 infos["x"], infos["y"] = divergence.GetPosition() |
1725 infos["width"], infos["height"] = divergence.GetSize() |
1756 infos["width"], infos["height"] = divergence.GetSize() |
1726 infos["connectors"] = divergence.GetConnectors() |
1757 infos["connectors"] = divergence.GetConnectors() |
1727 self.Controler.SetCurrentElementEditingDivergenceInfos(divergenceid, infos) |
1758 self.Controler.SetEditedElementDivergenceInfos(self.TagName, divergenceid, infos) |
1728 |
1759 |
1729 def RefreshJumpModel(self, jump): |
1760 def RefreshJumpModel(self, jump): |
1730 jumpid = jump.GetId() |
1761 jumpid = jump.GetId() |
1731 infos = {} |
1762 infos = {} |
1732 infos["target"] = jump.GetTarget() |
1763 infos["target"] = jump.GetTarget() |
1733 infos["x"], infos["y"] = jump.GetPosition() |
1764 infos["x"], infos["y"] = jump.GetPosition() |
1734 infos["width"], infos["height"] = jump.GetSize() |
1765 infos["width"], infos["height"] = jump.GetSize() |
1735 infos["connector"] = jump.GetConnector() |
1766 infos["connector"] = jump.GetConnector() |
1736 self.Controler.SetCurrentElementEditingJumpInfos(jumpid, infos) |
1767 self.Controler.SetEditedElementJumpInfos(self.TagName, jumpid, infos) |
1737 |
1768 |
1738 def RefreshActionBlockModel(self, actionblock): |
1769 def RefreshActionBlockModel(self, actionblock): |
1739 actionblockid = actionblock.GetId() |
1770 actionblockid = actionblock.GetId() |
1740 infos = {} |
1771 infos = {} |
1741 infos["actions"] = actionblock.GetActions() |
1772 infos["actions"] = actionblock.GetActions() |
1742 infos["x"], infos["y"] = actionblock.GetPosition() |
1773 infos["x"], infos["y"] = actionblock.GetPosition() |
1743 infos["width"], infos["height"] = actionblock.GetSize() |
1774 infos["width"], infos["height"] = actionblock.GetSize() |
1744 infos["connector"] = actionblock.GetConnector() |
1775 infos["connector"] = actionblock.GetConnector() |
1745 self.Controler.SetCurrentElementEditingActionBlockInfos(actionblockid, infos) |
1776 self.Controler.SetEditedElementActionBlockInfos(self.TagName, actionblockid, infos) |
1746 |
1777 |
1747 |
1778 |
1748 #------------------------------------------------------------------------------- |
1779 #------------------------------------------------------------------------------- |
1749 # Model delete functions |
1780 # Model delete functions |
1750 #------------------------------------------------------------------------------- |
1781 #------------------------------------------------------------------------------- |
1756 for element in output.GetConnectedBlocks(): |
1787 for element in output.GetConnectedBlocks(): |
1757 if element not in elements: |
1788 if element not in elements: |
1758 elements.append(element) |
1789 elements.append(element) |
1759 block.Clean() |
1790 block.Clean() |
1760 self.RemoveBlock(block) |
1791 self.RemoveBlock(block) |
1761 self.Controler.RemoveCurrentElementEditingInstance(block.GetId()) |
1792 self.Controler.RemoveEditedElementInstance(self.TagName, block.GetId()) |
1762 for element in elements: |
1793 for element in elements: |
1763 element.RefreshModel() |
1794 element.RefreshModel() |
1764 wx.CallAfter(self.ParentWindow.RefreshEditor) |
1795 wx.CallAfter(self.ParentWindow.RefreshEditor) |
1765 |
1796 |
1766 def DeleteVariable(self, variable): |
1797 def DeleteVariable(self, variable): |
1769 elements = connectors["output"].GetConnectedBlocks() |
1800 elements = connectors["output"].GetConnectedBlocks() |
1770 else: |
1801 else: |
1771 elements = [] |
1802 elements = [] |
1772 variable.Clean() |
1803 variable.Clean() |
1773 self.RemoveBlock(variable) |
1804 self.RemoveBlock(variable) |
1774 self.Controler.RemoveCurrentElementEditingInstance(variable.GetId()) |
1805 self.Controler.RemoveEditedElementInstance(self.TagName, variable.GetId()) |
1775 for element in elements: |
1806 for element in elements: |
1776 element.RefreshModel() |
1807 element.RefreshModel() |
1777 |
1808 |
1778 def DeleteConnection(self, connection): |
1809 def DeleteConnection(self, connection): |
1779 if connection.GetType() == CONTINUATION: |
1810 if connection.GetType() == CONTINUATION: |
1780 elements = connection.GetConnector().GetConnectedBlocks() |
1811 elements = connection.GetConnector().GetConnectedBlocks() |
1781 else: |
1812 else: |
1782 elements = [] |
1813 elements = [] |
1783 connection.Clean() |
1814 connection.Clean() |
1784 self.RemoveBlock(connection) |
1815 self.RemoveBlock(connection) |
1785 self.Controler.RemoveCurrentElementEditingInstance(connection.GetId()) |
1816 self.Controler.RemoveEditedElementInstance(self.TagName, connection.GetId()) |
1786 for element in elements: |
1817 for element in elements: |
1787 element.RefreshModel() |
1818 element.RefreshModel() |
1788 |
1819 |
1789 def DeleteComment(self, comment): |
1820 def DeleteComment(self, comment): |
1790 self.RemoveComment(comment) |
1821 self.RemoveComment(comment) |
1791 self.Controler.RemoveCurrentElementEditingInstance(comment.GetId()) |
1822 self.Controler.RemoveEditedElementInstance(self.TagName, comment.GetId()) |
1792 |
1823 |
1793 def DeleteWire(self, wire): |
1824 def DeleteWire(self, wire): |
1794 if wire in self.Wires: |
1825 if wire in self.Wires: |
1795 connected = wire.GetConnected() |
1826 connected = wire.GetConnected() |
1796 wire.Clean() |
1827 wire.Clean() |
1801 def DeleteContact(self, contact): |
1832 def DeleteContact(self, contact): |
1802 connectors = contact.GetConnectors() |
1833 connectors = contact.GetConnectors() |
1803 elements = connectors["output"].GetConnectedBlocks() |
1834 elements = connectors["output"].GetConnectedBlocks() |
1804 contact.Clean() |
1835 contact.Clean() |
1805 self.RemoveBlock(contact) |
1836 self.RemoveBlock(contact) |
1806 self.Controler.RemoveCurrentElementEditingInstance(contact.GetId()) |
1837 self.Controler.RemoveEditedElementInstance(self.TagName, contact.GetId()) |
1807 for element in elements: |
1838 for element in elements: |
1808 element.RefreshModel() |
1839 element.RefreshModel() |
1809 |
1840 |
1810 def DeleteCoil(self, coil): |
1841 def DeleteCoil(self, coil): |
1811 connectors = coil.GetConnectors() |
1842 connectors = coil.GetConnectors() |
1812 elements = connectors["output"].GetConnectedBlocks() |
1843 elements = connectors["output"].GetConnectedBlocks() |
1813 coil.Clean() |
1844 coil.Clean() |
1814 self.RemoveBlock(coil) |
1845 self.RemoveBlock(coil) |
1815 self.Controler.RemoveCurrentElementEditingInstance(coil.GetId()) |
1846 self.Controler.RemoveEditedElementInstance(self.TagName, coil.GetId()) |
1816 for element in elements: |
1847 for element in elements: |
1817 element.RefreshModel() |
1848 element.RefreshModel() |
1818 |
1849 |
1819 def DeletePowerRail(self, powerrail): |
1850 def DeletePowerRail(self, powerrail): |
1820 elements = [] |
1851 elements = [] |
1823 for element in connector.GetConnectedBlocks(): |
1854 for element in connector.GetConnectedBlocks(): |
1824 if element not in elements: |
1855 if element not in elements: |
1825 elements.append(element) |
1856 elements.append(element) |
1826 powerrail.Clean() |
1857 powerrail.Clean() |
1827 self.RemoveBlock(powerrail) |
1858 self.RemoveBlock(powerrail) |
1828 self.Controler.RemoveCurrentElementEditingInstance(powerrail.GetId()) |
1859 self.Controler.RemoveEditedElementInstance(self.TagName, powerrail.GetId()) |
1829 for element in elements: |
1860 for element in elements: |
1830 element.RefreshModel() |
1861 element.RefreshModel() |
1831 |
1862 |
1832 def DeleteStep(self, step): |
1863 def DeleteStep(self, step): |
1833 elements = [] |
1864 elements = [] |
1840 for element in connectors["action"].GetConnectedBlocks(): |
1871 for element in connectors["action"].GetConnectedBlocks(): |
1841 if element not in elements: |
1872 if element not in elements: |
1842 elements.append(element) |
1873 elements.append(element) |
1843 step.Clean() |
1874 step.Clean() |
1844 self.RemoveBlock(step) |
1875 self.RemoveBlock(step) |
1845 self.Controler.RemoveCurrentElementEditingInstance(step.GetId()) |
1876 self.Controler.RemoveEditedElementInstance(self.TagName, step.GetId()) |
1846 for element in elements: |
1877 for element in elements: |
1847 element.RefreshModel() |
1878 element.RefreshModel() |
1848 |
1879 |
1849 def DeleteTransition(self, transition): |
1880 def DeleteTransition(self, transition): |
1850 elements = [] |
1881 elements = [] |
1853 for element in connectors["output"].GetConnectedBlocks(): |
1884 for element in connectors["output"].GetConnectedBlocks(): |
1854 if element not in elements: |
1885 if element not in elements: |
1855 elements.append(element) |
1886 elements.append(element) |
1856 transition.Clean() |
1887 transition.Clean() |
1857 self.RemoveBlock(transition) |
1888 self.RemoveBlock(transition) |
1858 self.Controler.RemoveCurrentElementEditingInstance(transition.GetId()) |
1889 self.Controler.RemoveEditedElementInstance(self.TagName, transition.GetId()) |
1859 for element in elements: |
1890 for element in elements: |
1860 element.RefreshModel() |
1891 element.RefreshModel() |
1861 |
1892 |
1862 def DeleteDivergence(self, divergence): |
1893 def DeleteDivergence(self, divergence): |
1863 elements = [] |
1894 elements = [] |
1866 for element in output.GetConnectedBlocks(): |
1897 for element in output.GetConnectedBlocks(): |
1867 if element not in elements: |
1898 if element not in elements: |
1868 elements.append(element) |
1899 elements.append(element) |
1869 divergence.Clean() |
1900 divergence.Clean() |
1870 self.RemoveBlock(divergence) |
1901 self.RemoveBlock(divergence) |
1871 self.Controler.RemoveCurrentElementEditingInstance(divergence.GetId()) |
1902 self.Controler.RemoveEditedElementInstance(self.TagName, divergence.GetId()) |
1872 for element in elements: |
1903 for element in elements: |
1873 element.RefreshModel() |
1904 element.RefreshModel() |
1874 |
1905 |
1875 def DeleteJump(self, jump): |
1906 def DeleteJump(self, jump): |
1876 jump.Clean() |
1907 jump.Clean() |
1877 self.RemoveBlock(jump) |
1908 self.RemoveBlock(jump) |
1878 self.Controler.RemoveCurrentElementEditingInstance(jump.GetId()) |
1909 self.Controler.RemoveEditedElementInstance(self.TagName, jump.GetId()) |
1879 |
1910 |
1880 def DeleteActionBlock(self, actionblock): |
1911 def DeleteActionBlock(self, actionblock): |
1881 actionblock.Clean() |
1912 actionblock.Clean() |
1882 self.RemoveBlock(actionblock) |
1913 self.RemoveBlock(actionblock) |
1883 self.Controler.RemoveCurrentElementEditingInstance(actionblock.GetId()) |
1914 self.Controler.RemoveEditedElementInstance(self.TagName, actionblock.GetId()) |
1884 |
1915 |
1885 |
1916 |
1886 #------------------------------------------------------------------------------- |
1917 #------------------------------------------------------------------------------- |
1887 # Editing functions |
1918 # Editing functions |
1888 #------------------------------------------------------------------------------- |
1919 #------------------------------------------------------------------------------- |
1923 def CopyBlock(self, element, pos): |
1954 def CopyBlock(self, element, pos): |
1924 id = self.GetNewId() |
1955 id = self.GetNewId() |
1925 block = element.Clone(id, pos) |
1956 block = element.Clone(id, pos) |
1926 self.AddBlock(block) |
1957 self.AddBlock(block) |
1927 if isinstance(block, Comment): |
1958 if isinstance(block, Comment): |
1928 self.Controler.AddCurrentElementEditingComment(id) |
1959 self.Controler.AddEditedElementComment(self.TagName, id) |
1929 self.RefreshCommentModel(comment) |
1960 self.RefreshCommentModel(comment) |
1930 elif isinstance(block, FBD_Block): |
1961 elif isinstance(block, FBD_Block): |
1931 self.Controler.AddCurrentElementEditingBlock(id, block.GetType(), None) |
1962 self.Controler.AddEditedElementBlock(self.TagName, id, block.GetType(), None) |
1932 self.RefreshBlockModel(block) |
1963 self.RefreshBlockModel(block) |
1933 elif isinstance(block, FBD_Variable): |
1964 elif isinstance(block, FBD_Variable): |
1934 self.Controler.AddCurrentElementEditingVariable(id, block.GetType()) |
1965 self.Controler.AddEditedElementVariable(self.TagName, id, block.GetType()) |
1935 self.RefreshVariableModel(block) |
1966 self.RefreshVariableModel(block) |
1936 elif isinstance(block, FBD_Connector): |
1967 elif isinstance(block, FBD_Connector): |
1937 self.Controler.AddCurrentElementEditingConnection(id, block.GetType()) |
1968 self.Controler.AddEditedElementConnection(self.TagName, id, block.GetType()) |
1938 self.RefreshConnectionModel(block) |
1969 self.RefreshConnectionModel(block) |
1939 elif isinstance(block, LD_Contact): |
1970 elif isinstance(block, LD_Contact): |
1940 self.Controler.AddCurrentElementEditingContact(id) |
1971 self.Controler.AddEditedElementContact(self.TagName, id) |
1941 self.RefreshContactModel(block) |
1972 self.RefreshContactModel(block) |
1942 elif isinstance(block, LD_Coil): |
1973 elif isinstance(block, LD_Coil): |
1943 self.Controler.AddCurrentElementEditingCoil(id) |
1974 self.Controler.AddEditedElementCoil(self.TagName, id) |
1944 self.RefreshCoilModel(block) |
1975 self.RefreshCoilModel(block) |
1945 elif isinstance(block, LD_PowerRail): |
1976 elif isinstance(block, LD_PowerRail): |
1946 self.Controler.AddCurrentElementEditingPowerRail(id, block.GetType()) |
1977 self.Controler.AddEditedElementPowerRail(self.TagName, id, block.GetType()) |
1947 self.RefreshPowerRailModel(block) |
1978 self.RefreshPowerRailModel(block) |
1948 elif isinstance(block, SFC_Step): |
1979 elif isinstance(block, SFC_Step): |
1949 self.Controler.AddCurrentElementEditingStep(id) |
1980 self.Controler.AddEditedElementStep(self.TagName, id) |
1950 self.RefreshStepModel(block) |
1981 self.RefreshStepModel(block) |
1951 elif isinstance(block, SFC_Transition): |
1982 elif isinstance(block, SFC_Transition): |
1952 self.Controler.AddCurrentElementEditingTransition(id) |
1983 self.Controler.AddEditedElementTransition(self.TagName, id) |
1953 self.RefreshTransitionModel(block) |
1984 self.RefreshTransitionModel(block) |
1954 elif isinstance(block, SFC_Divergence): |
1985 elif isinstance(block, SFC_Divergence): |
1955 self.Controler.AddCurrentElementEditingDivergence(id, block.GetType()) |
1986 self.Controler.AddEditedElementDivergence(self.TagName, id, block.GetType()) |
1956 self.RefreshActionDivergenceModel(block) |
1987 self.RefreshActionDivergenceModel(block) |
1957 elif isinstance(block, SFC_Jump): |
1988 elif isinstance(block, SFC_Jump): |
1958 self.Controler.AddCurrentElementEditingJump(id) |
1989 self.Controler.AddEditedElementJump(self.TagName, id) |
1959 self.RefreshJumpModel(block) |
1990 self.RefreshJumpModel(block) |
1960 elif isinstance(block, SFC_ActionBlock): |
1991 elif isinstance(block, SFC_ActionBlock): |
1961 self.Controler.AddCurrentElementEditingActionBlock(id) |
1992 self.Controler.AddEditedElementActionBlock(self.TagName, id) |
1962 self.RefreshActionBlockModel(block) |
1993 self.RefreshActionBlockModel(block) |
1963 return block |
1994 return block |
1964 |
1995 |
1965 |
1996 |
1966 #------------------------------------------------------------------------------- |
1997 #------------------------------------------------------------------------------- |