--- a/Viewer.py Mon Jul 09 11:10:14 2007 +0200
+++ b/Viewer.py Tue Jul 10 09:52:53 2007 +0200
@@ -274,7 +274,7 @@
connector = connection.GetConnector()
connector.SetPosition(wxPoint(*instance["connector"]["position"]))
elif instance["type"] == "connection":
- connection = FBD_Connection(self, CONNECTOR, instance["name"], instance["id"])
+ connection = FBD_Connector(self, CONNECTOR, instance["name"], instance["id"])
connection.SetPosition(instance["x"], instance["y"])
connection.SetSize(instance["width"], instance["height"])
self.Blocks.append(connection)
@@ -874,9 +874,9 @@
id = self.GetNewId()
values = dialog.GetValues()
if "name" in values:
- block = FBD_Block(self, values["type"], values["name"], id, values["extension"])
+ block = FBD_Block(self, values["type"], values["name"], id, values["extension"], values["inputs"])
else:
- block = FBD_Block(self, values["type"], "", id, values["extension"])
+ block = FBD_Block(self, values["type"], "", id, values["extension"], values["inputs"])
block.SetPosition(bbox.x, bbox.y)
block.SetSize(values["width"], values["height"])
self.Blocks.append(block)
@@ -952,7 +952,7 @@
varlist.append(var["Name"])
dialog.SetVariables(varlist)
dialog.SetValues({"name":"","type":CONTACT_NORMAL})
- dialog.SetElementSize(bbox.width, bbox.height)
+ dialog.SetElementSize((bbox.width, bbox.height))
if dialog.ShowModal() == wxID_OK:
id = self.GetNewId()
values = dialog.GetValues()
@@ -979,7 +979,7 @@
varlist.append(self.Controler.GetCurrentElementEditingName())
dialog.SetVariables(varlist)
dialog.SetValues({"name":"","type":COIL_NORMAL})
- dialog.SetElementSize(bbox.width, bbox.height)
+ dialog.SetElementSize((bbox.width, bbox.height))
if dialog.ShowModal() == wxID_OK:
id = self.GetNewId()
values = dialog.GetValues()
@@ -1043,209 +1043,6 @@
self.Refresh()
dialog.Destroy()
-#-------------------------------------------------------------------------------
-# Model update functions
-#-------------------------------------------------------------------------------
-
- def RefreshBlockModel(self, block):
- blockid = block.GetId()
- infos = {}
- infos["type"] = block.GetType()
- infos["name"] = block.GetName()
- infos["x"], infos["y"] = block.GetPosition()
- infos["width"], infos["height"] = block.GetSize()
- infos["connectors"] = block.GetConnectors()
- self.Controler.SetCurrentElementEditingBlockInfos(blockid, infos)
-
- def RefreshVariableModel(self, variable):
- variableid = variable.GetId()
- infos = {}
- infos["name"] = variable.GetName()
- infos["x"], infos["y"] = variable.GetPosition()
- infos["width"], infos["height"] = variable.GetSize()
- infos["connectors"] = variable.GetConnectors()
- self.Controler.SetCurrentElementEditingVariableInfos(variableid, infos)
-
- def RefreshConnectionModel(self, connection):
- connectionid = connection.GetId()
- infos = {}
- infos["name"] = connection.GetName()
- infos["x"], infos["y"] = connection.GetPosition()
- infos["width"], infos["height"] = connection.GetSize()
- infos["connector"] = connection.GetConnector()
- self.Controler.SetCurrentElementEditingConnectionInfos(connectionid, infos)
-
- def RefreshCommentModel(self, comment):
- commentid = comment.GetId()
- infos = {}
- infos["content"] = comment.GetContent()
- infos["x"], infos["y"] = comment.GetPosition()
- infos["width"], infos["height"] = comment.GetSize()
- self.Controler.SetCurrentElementEditingCommentInfos(commentid, infos)
-
- def RefreshPowerRailModel(self, powerrail):
- powerrailid = powerrail.GetId()
- infos = {}
- infos["x"], infos["y"] = powerrail.GetPosition()
- infos["width"], infos["height"] = powerrail.GetSize()
- infos["connectors"] = powerrail.GetConnectors()
- self.Controler.SetCurrentElementEditingPowerRailInfos(powerrailid, infos)
-
- def RefreshContactModel(self, contact):
- contactid = contact.GetId()
- infos = {}
- infos["name"] = contact.GetName()
- infos["type"] = contact.GetType()
- infos["x"], infos["y"] = contact.GetPosition()
- infos["width"], infos["height"] = contact.GetSize()
- infos["connectors"] = contact.GetConnectors()
- self.Controler.SetCurrentElementEditingContactInfos(contactid, infos)
-
- def RefreshCoilModel(self, coil):
- coilid = coil.GetId()
- infos = {}
- infos["name"] = coil.GetName()
- infos["type"] = coil.GetType()
- infos["x"], infos["y"] = coil.GetPosition()
- infos["width"], infos["height"] = coil.GetSize()
- infos["connectors"] = coil.GetConnectors()
- self.Controler.SetCurrentElementEditingCoilInfos(coilid, infos)
-
- def RefreshStepModel(self, step):
- stepid = step.GetId()
- infos = {}
- infos["name"] = step.GetName()
- infos["initial"] = step.GetInitial()
- infos["x"], infos["y"] = step.GetPosition()
- infos["width"], infos["height"] = step.GetSize()
- infos["connectors"] = step.GetConnectors()
- self.Controler.SetCurrentElementEditingStepInfos(stepid, infos)
-
- def RefreshTransitionModel(self, transition):
- transitionid = transition.GetId()
- infos = {}
- infos["type"] = transition.GetType()
- infos["condition"] = transition.GetCondition()
- infos["x"], infos["y"] = transition.GetPosition()
- infos["width"], infos["height"] = transition.GetSize()
- infos["connectors"] = transition.GetConnectors()
- self.Controler.SetCurrentElementEditingTransitionInfos(transitionid, infos)
-
- def RefreshDivergenceModel(self, divergence):
- divergenceid = divergence.GetId()
- infos = {}
- infos["x"], infos["y"] = divergence.GetPosition()
- infos["width"], infos["height"] = divergence.GetSize()
- infos["connectors"] = divergence.GetConnectors()
- self.Controler.SetCurrentElementEditingDivergenceInfos(divergenceid, infos)
-
- def RefreshJumpModel(self, jump):
- jumpid = jump.GetId()
- infos = {}
- infos["target"] = jump.GetTarget()
- infos["x"], infos["y"] = jump.GetPosition()
- infos["width"], infos["height"] = jump.GetSize()
- infos["connector"] = jump.GetConnector()
- self.Controler.SetCurrentElementEditingJumpInfos(jumpid, infos)
-
- def RefreshActionBlockModel(self, actionblock):
- actionblockid = actionblock.GetId()
- infos = {}
- infos["actions"] = actionblock.GetActions()
- infos["x"], infos["y"] = actionblock.GetPosition()
- infos["width"], infos["height"] = actionblock.GetSize()
- infos["connector"] = actionblock.GetConnector()
- self.Controler.SetCurrentElementEditingActionBlockInfos(actionblockid, infos)
-
-
-#-------------------------------------------------------------------------------
-# Model delete functions
-#-------------------------------------------------------------------------------
-
-
- def DeleteBlock(self, block):
- elements = []
- for output in block.GetConnectors()["outputs"]:
- for element in output.GetConnectedBlocks():
- if element not in elements:
- elements.append(element)
- block.Clean()
- self.Blocks.remove(block)
- self.Elements.remove(block)
- self.Controler.RemoveCurrentElementEditingInstance(block.GetId())
- for element in elements:
- element.RefreshModel()
-
- def DeleteVariable(self, variable):
- connectors = variable.GetConnectors()
- if connectors["output"]:
- elements = connectors["output"].GetConnectedBlocks()
- else:
- elements = []
- variable.Clean()
- self.Blocks.remove(variable)
- self.Elements.remove(variable)
- self.Controler.RemoveCurrentElementEditingInstance(variable.GetId())
- for element in elements:
- element.RefreshModel()
-
- def DeleteConnection(self, connection):
- if connection.GetType() == CONTINUATION:
- elements = connection.GetConnector().GetConnectedBlocks()
- else:
- elements = []
- connection.Clean()
- self.Blocks.remove(connection)
- self.Elements.remove(connection)
- self.Controler.RemoveCurrentElementEditingInstance(connection.GetId())
- for element in elements:
- element.RefreshModel()
-
- def DeleteComment(self, comment):
- self.Elements.remove(comment)
- self.Controler.RemoveCurrentElementEditingInstance(comment.GetId())
-
- def DeleteWire(self, wire):
- connected = wire.GetConnected()
- wire.Clean()
- self.Wires.remove(wire)
- self.Elements.remove(wire)
- for connector in connected:
- connector.RefreshParentBlock()
-
- def DeleteContact(self, contact):
- connectors = contact.GetConnectors()
- elements = connectors["output"].GetConnectedBlocks()
- contact.Clean()
- self.Blocks.remove(contact)
- self.Elements.remove(contact)
- self.Controler.RemoveCurrentElementEditingInstance(contact.GetId())
- for element in elements:
- element.RefreshModel()
-
- def DeleteCoil(self, coil):
- connectors = coil.GetConnectors()
- elements = connectors["output"].GetConnectedBlocks()
- coil.Clean()
- self.Blocks.remove(coil)
- self.Elements.remove(coil)
- self.Controler.RemoveCurrentElementEditingInstance(coil.GetId())
- for element in elements:
- element.RefreshModel()
-
- def DeletePowerRail(self, powerrail):
- elements = []
- if powerrail.GetType() == LEFTRAIL:
- for connector in powerrail.GetConnectors():
- for element in connector.GetConnectedBlocks():
- if element not in elements:
- elements.append(element)
- powerrrail.Clean()
- self.Blocks.remove(powerrrail)
- self.Elements.remove(powerrrail)
- self.Controler.RemoveCurrentElementEditingInstance(powerrrail.GetId())
- for element in elements:
- element.RefreshModel()
#-------------------------------------------------------------------------------
# Edit element content functions
@@ -1255,7 +1052,7 @@
dialog = BlockPropertiesDialog(self.Parent)
dialog.SetBlockList(self.Controler.GetBlockTypes())
dialog.SetMinBlockSize(block.GetSize())
- values = {"name" : block.GetName(), "type" : block.GetType()}
+ values = {"name" : block.GetName(), "type" : block.GetType(), "inputs" : block.GetInputTypes()}
values["extension"] = block.GetExtension()
dialog.SetValues(values)
if dialog.ShowModal() == wxID_OK:
@@ -1296,6 +1093,384 @@
self.Refresh()
dialog.Destroy()
+ def EditConnectionContent(self, connection):
+ dialog = ConnectionPropertiesDialog(self.Parent)
+ dialog.SetMinConnectionSize(connection.GetSize())
+ values = {"name" : connection.GetName(), "type" : connection.GetType()}
+ dialog.SetValues(values)
+ if dialog.ShowModal() == wxID_OK:
+ old_type = connection.GetType()
+ values = dialog.GetValues()
+ connection.SetName(values["name"])
+ connection.SetType(values["type"])
+ connection.SetSize(values["width"], values["height"])
+ if old_type != values["type"]:
+ id = connection.GetId()
+ self.Controler.RemoveCurrentElementEditingInstance(id)
+ self.Controler.AddCurrentElementEditingConnection(id, values["type"])
+ self.RefreshConnectionModel(connection)
+ self.Refresh()
+ dialog.Destroy()
+
+ def EditContactContent(self, contact):
+ dialog = LDElementDialog(self.Parent, "contact")
+ varlist = []
+ vars = self.Controler.GetCurrentElementEditingInterfaceVars()
+ if vars:
+ for var in vars:
+ if var["Class"] != "Output" and var["Type"] == "BOOL":
+ varlist.append(var["Name"])
+ dialog.SetVariables(varlist)
+ values = {"name" : contact.GetName(), "type" : contact.GetType()}
+ dialog.SetValues(values)
+ dialog.SetElementSize(contact.GetSize())
+ if dialog.ShowModal() == wxID_OK:
+ values = dialog.GetValues()
+ contact.SetName(values["name"])
+ contact.SetType(values["type"])
+ contact.SetSize(values["width"], values["height"])
+ self.RefreshContactModel(contact)
+ self.Refresh()
+ dialog.Destroy()
+
+ def EditCoilContent(self, coil):
+ dialog = LDElementDialog(self.Parent, "coil")
+ varlist = []
+ vars = self.Controler.GetCurrentElementEditingInterfaceVars()
+ if vars:
+ for var in vars:
+ if var["Class"] != "Input" and var["Type"] == "BOOL":
+ varlist.append(var["Name"])
+ returntype = self.Controler.GetCurrentElementEditingInterfaceReturnType()
+ if returntype == "BOOL":
+ varlist.append(self.Controler.GetCurrentElementEditingName())
+ dialog.SetVariables(varlist)
+ values = {"name" : coil.GetName(), "type" : coil.GetType()}
+ dialog.SetValues(values)
+ dialog.SetElementSize(contact.GetSize())
+ if dialog.ShowModal() == wxID_OK:
+ values = dialog.GetValues()
+ coil.SetName(values["name"])
+ coil.SetType(values["type"])
+ coil.SetSize(values["width"], values["height"])
+ self.RefreshContactModel(coil)
+ self.Refresh()
+ dialog.Destroy()
+
+ def EditPowerRailContent(self, powerrail):
+ dialog = LDPowerRailDialog(self.Parent, powerrail.GetType(), len(powerrail.GetConnectors()))
+ dialog.SetMinSize(powerrail.GetSize())
+ if dialog.ShowModal() == wxID_OK:
+ old_type = powerrail.GetType()
+ values = dialog.GetValues()
+ powerrail.SetType(values["type"])
+ powerrail.SetSize(values["width"], values["height"])
+ if old_type != values["type"]:
+ id = powerrail.GetId()
+ self.Controler.RemoveCurrentElementEditingInstance(id)
+ self.Controler.AddCurrentElementEditingPowerRail(id, values["type"])
+ self.RefreshPowerRailModel(powerrail)
+ self.Refresh()
+ dialog.Destroy()
+
+
+ def AddNewTransition(self, bbox):
+ dialog = TransitionContentDialog(self.Parent)
+ dialog.SetTransitions(self.Controler.GetCurrentElementEditingTransitions())
+ if dialog.ShowModal() == wxID_OK:
+ id = self.GetNewId()
+ values = dialog.GetValues()
+ transition = SFC_Transition(self, values["type"], values["value"], id)
+ transition.SetPosition(bbox.x, bbox.y)
+ min_width, min_height = transition.GetMinSize()
+ transition.SetSize(max(bbox.width, min_width), max(bbox.height, min_height))
+ self.Blocks.append(transition)
+ self.Elements.append(transition)
+ self.Controler.AddCurrentElementEditingTransition(id)
+ self.RefreshTransitionModel(transition)
+ self.Refresh()
+ dialog.Destroy()
+
+ def AddNewDivergence(self, bbox):
+ dialog = DivergenceCreateDialog(self.Parent)
+ dialog.SetMinSize((bbox.width, bbox.height))
+ if dialog.ShowModal() == wxID_OK:
+ id = self.GetNewId()
+ values = dialog.GetValues()
+ divergence = SFC_Divergence(self, values["type"], values["number"], id)
+ divergence.SetPosition(bbox.x, bbox.y)
+ min_width, min_height = divergence.GetMinSize()
+ divergence.SetSize(max(bbox.width, min_width), max(bbox.height, min_height))
+ self.Blocks.append(divergence)
+ self.Elements.append(divergence)
+ self.Controler.AddCurrentElementEditingDivergence(id, values["type"])
+ self.RefreshDivergenceModel(divergence)
+ self.Refresh()
+ dialog.Destroy()
+
+#-------------------------------------------------------------------------------
+# Model update functions
+#-------------------------------------------------------------------------------
+
+ def RefreshBlockModel(self, block):
+ blockid = block.GetId()
+ infos = {}
+ infos["type"] = block.GetType()
+ infos["name"] = block.GetName()
+ infos["x"], infos["y"] = block.GetPosition()
+ infos["width"], infos["height"] = block.GetSize()
+ infos["connectors"] = block.GetConnectors()
+ self.Controler.SetCurrentElementEditingBlockInfos(blockid, infos)
+
+ def RefreshVariableModel(self, variable):
+ variableid = variable.GetId()
+ infos = {}
+ infos["name"] = variable.GetName()
+ infos["x"], infos["y"] = variable.GetPosition()
+ infos["width"], infos["height"] = variable.GetSize()
+ infos["connectors"] = variable.GetConnectors()
+ self.Controler.SetCurrentElementEditingVariableInfos(variableid, infos)
+
+ def RefreshConnectionModel(self, connection):
+ connectionid = connection.GetId()
+ infos = {}
+ infos["name"] = connection.GetName()
+ infos["x"], infos["y"] = connection.GetPosition()
+ infos["width"], infos["height"] = connection.GetSize()
+ infos["connector"] = connection.GetConnector()
+ self.Controler.SetCurrentElementEditingConnectionInfos(connectionid, infos)
+
+ def RefreshCommentModel(self, comment):
+ commentid = comment.GetId()
+ infos = {}
+ infos["content"] = comment.GetContent()
+ infos["x"], infos["y"] = comment.GetPosition()
+ infos["width"], infos["height"] = comment.GetSize()
+ self.Controler.SetCurrentElementEditingCommentInfos(commentid, infos)
+
+ def RefreshPowerRailModel(self, powerrail):
+ powerrailid = powerrail.GetId()
+ infos = {}
+ infos["x"], infos["y"] = powerrail.GetPosition()
+ infos["width"], infos["height"] = powerrail.GetSize()
+ infos["connectors"] = powerrail.GetConnectors()
+ self.Controler.SetCurrentElementEditingPowerRailInfos(powerrailid, infos)
+
+ def RefreshContactModel(self, contact):
+ contactid = contact.GetId()
+ infos = {}
+ infos["name"] = contact.GetName()
+ infos["type"] = contact.GetType()
+ infos["x"], infos["y"] = contact.GetPosition()
+ infos["width"], infos["height"] = contact.GetSize()
+ infos["connectors"] = contact.GetConnectors()
+ self.Controler.SetCurrentElementEditingContactInfos(contactid, infos)
+
+ def RefreshCoilModel(self, coil):
+ coilid = coil.GetId()
+ infos = {}
+ infos["name"] = coil.GetName()
+ infos["type"] = coil.GetType()
+ infos["x"], infos["y"] = coil.GetPosition()
+ infos["width"], infos["height"] = coil.GetSize()
+ infos["connectors"] = coil.GetConnectors()
+ self.Controler.SetCurrentElementEditingCoilInfos(coilid, infos)
+
+ def RefreshStepModel(self, step):
+ stepid = step.GetId()
+ infos = {}
+ infos["name"] = step.GetName()
+ infos["initial"] = step.GetInitial()
+ infos["x"], infos["y"] = step.GetPosition()
+ infos["width"], infos["height"] = step.GetSize()
+ infos["connectors"] = step.GetConnectors()
+ self.Controler.SetCurrentElementEditingStepInfos(stepid, infos)
+
+ def RefreshTransitionModel(self, transition):
+ transitionid = transition.GetId()
+ infos = {}
+ infos["type"] = transition.GetType()
+ infos["condition"] = transition.GetCondition()
+ infos["x"], infos["y"] = transition.GetPosition()
+ infos["width"], infos["height"] = transition.GetSize()
+ infos["connectors"] = transition.GetConnectors()
+ self.Controler.SetCurrentElementEditingTransitionInfos(transitionid, infos)
+
+ def RefreshDivergenceModel(self, divergence):
+ divergenceid = divergence.GetId()
+ infos = {}
+ infos["x"], infos["y"] = divergence.GetPosition()
+ infos["width"], infos["height"] = divergence.GetSize()
+ infos["connectors"] = divergence.GetConnectors()
+ self.Controler.SetCurrentElementEditingDivergenceInfos(divergenceid, infos)
+
+ def RefreshJumpModel(self, jump):
+ jumpid = jump.GetId()
+ infos = {}
+ infos["target"] = jump.GetTarget()
+ infos["x"], infos["y"] = jump.GetPosition()
+ infos["width"], infos["height"] = jump.GetSize()
+ infos["connector"] = jump.GetConnector()
+ self.Controler.SetCurrentElementEditingJumpInfos(jumpid, infos)
+
+ def RefreshActionBlockModel(self, actionblock):
+ actionblockid = actionblock.GetId()
+ infos = {}
+ infos["actions"] = actionblock.GetActions()
+ infos["x"], infos["y"] = actionblock.GetPosition()
+ infos["width"], infos["height"] = actionblock.GetSize()
+ infos["connector"] = actionblock.GetConnector()
+ self.Controler.SetCurrentElementEditingActionBlockInfos(actionblockid, infos)
+
+
+#-------------------------------------------------------------------------------
+# Model delete functions
+#-------------------------------------------------------------------------------
+
+
+ def DeleteBlock(self, block):
+ elements = []
+ for output in block.GetConnectors()["outputs"]:
+ for element in output.GetConnectedBlocks():
+ if element not in elements:
+ elements.append(element)
+ block.Clean()
+ self.Blocks.remove(block)
+ self.Elements.remove(block)
+ self.Controler.RemoveCurrentElementEditingInstance(block.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteVariable(self, variable):
+ connectors = variable.GetConnectors()
+ if connectors["output"]:
+ elements = connectors["output"].GetConnectedBlocks()
+ else:
+ elements = []
+ variable.Clean()
+ self.Blocks.remove(variable)
+ self.Elements.remove(variable)
+ self.Controler.RemoveCurrentElementEditingInstance(variable.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteConnection(self, connection):
+ if connection.GetType() == CONTINUATION:
+ elements = connection.GetConnector().GetConnectedBlocks()
+ else:
+ elements = []
+ connection.Clean()
+ self.Blocks.remove(connection)
+ self.Elements.remove(connection)
+ self.Controler.RemoveCurrentElementEditingInstance(connection.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteComment(self, comment):
+ self.Elements.remove(comment)
+ self.Controler.RemoveCurrentElementEditingInstance(comment.GetId())
+
+ def DeleteWire(self, wire):
+ if wire in self.Wires:
+ connected = wire.GetConnected()
+ wire.Clean()
+ self.Wires.remove(wire)
+ self.Elements.remove(wire)
+ for connector in connected:
+ connector.RefreshParentBlock()
+
+ def DeleteContact(self, contact):
+ connectors = contact.GetConnectors()
+ elements = connectors["output"].GetConnectedBlocks()
+ contact.Clean()
+ self.Blocks.remove(contact)
+ self.Elements.remove(contact)
+ self.Controler.RemoveCurrentElementEditingInstance(contact.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteCoil(self, coil):
+ connectors = coil.GetConnectors()
+ elements = connectors["output"].GetConnectedBlocks()
+ coil.Clean()
+ self.Blocks.remove(coil)
+ self.Elements.remove(coil)
+ self.Controler.RemoveCurrentElementEditingInstance(coil.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeletePowerRail(self, powerrail):
+ elements = []
+ if powerrail.GetType() == LEFTRAIL:
+ for connector in powerrail.GetConnectors():
+ for element in connector.GetConnectedBlocks():
+ if element not in elements:
+ elements.append(element)
+ powerrrail.Clean()
+ self.Blocks.remove(powerrrail)
+ self.Elements.remove(powerrrail)
+ self.Controler.RemoveCurrentElementEditingInstance(powerrrail.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteStep(self, step):
+ elements = []
+ connectors = step.GetConnectors()
+ if connectors["output"]:
+ for element in connectors["output"].GetConnectedBlocks():
+ if element not in elements:
+ elements.append(element)
+ if connectors["action"]:
+ for element in connectors["action"].GetConnectedBlocks():
+ if element not in elements:
+ elements.append(element)
+ step.Clean()
+ self.Blocks.remove(step)
+ self.Elements.remove(step)
+ self.Controler.RemoveCurrentElementEditingInstance(step.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteTransition(self, transition):
+ elements = []
+ connectors = transition.GetConnectors()
+ if connectors["output"]:
+ for element in connectors["output"].GetConnectedBlocks():
+ if element not in elements:
+ elements.append(element)
+ transition.Clean()
+ self.Blocks.remove(transition)
+ self.Elements.remove(transition)
+ self.Controler.RemoveCurrentElementEditingInstance(transition.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteDivergence(self, divergence):
+ elements = []
+ connectors = divergence.GetConnectors()
+ for output in connectors["outputs"]:
+ for element in output.GetConnectedBlocks():
+ if element not in elements:
+ elements.append(element)
+ divergence.Clean()
+ self.Blocks.remove(divergence)
+ self.Elements.remove(divergence)
+ self.Controler.RemoveCurrentElementEditingInstance(divergence.GetId())
+ for element in elements:
+ element.RefreshModel()
+
+ def DeleteJump(self, jump):
+ jump.Clean()
+ self.Blocks.remove(jump)
+ self.Elements.remove(jump)
+ self.Controler.RemoveCurrentElementEditingInstance(jump.GetId())
+
+ def DeleteActionBlock(self, actionblock):
+ actionblock.Clean()
+ self.Blocks.remove(actionblock)
+ self.Elements.remove(actionblock)
+ self.Controler.RemoveCurrentElementEditingInstance(actionblock.GetId())
+
#-------------------------------------------------------------------------------
# Editing functions