1425 infos["name"] = instance.getname() |
1425 infos["name"] = instance.getname() |
1426 infos["type"] = "continuation" |
1426 infos["type"] = "continuation" |
1427 infos["connector"] = {} |
1427 infos["connector"] = {} |
1428 infos["connector"]["position"] = instance.connectionPointOut.getrelPositionXY() |
1428 infos["connector"]["position"] = instance.connectionPointOut.getrelPositionXY() |
1429 elif isinstance(instance, plcopen.commonObjects_connector): |
1429 elif isinstance(instance, plcopen.commonObjects_connector): |
1430 infos["name"] = instance.getName() |
1430 infos["name"] = instance.getname() |
1431 infos["type"] = "connection" |
1431 infos["type"] = "connection" |
1432 infos["connector"] = {} |
1432 infos["connector"] = {} |
1433 infos["connector"]["position"] = instance.connectionPointIn.getrelPositionXY() |
1433 infos["connector"]["position"] = instance.connectionPointIn.getrelPositionXY() |
1434 infos["connector"]["links"] = [] |
1434 infos["connector"]["links"] = [] |
1435 connections = instance.connectionPointIn.getconnections() |
1435 connections = instance.connectionPointIn.getconnections() |
1665 words = tagname.split("::") |
1665 words = tagname.split("::") |
1666 if words[0] in ['P', 'T', 'A']: |
1666 if words[0] in ['P', 'T', 'A']: |
1667 pou = self.Project.getpou(words[1]) |
1667 pou = self.Project.getpou(words[1]) |
1668 pou.changepouVar(old_type, old_name, new_type, new_name) |
1668 pou.changepouVar(old_type, old_name, new_type, new_name) |
1669 |
1669 |
|
1670 def RemoveEditedElementPouVar(self, tagname, type, name): |
|
1671 words = tagname.split("::") |
|
1672 if words[0] in ['P', 'T', 'A']: |
|
1673 pou = self.Project.getpou(words[1]) |
|
1674 pou.removepouVar(type, name) |
|
1675 |
1670 def AddEditedElementBlock(self, tagname, id, blocktype, blockname = None): |
1676 def AddEditedElementBlock(self, tagname, id, blocktype, blockname = None): |
1671 element = self.GetEditedElement(tagname) |
1677 element = self.GetEditedElement(tagname) |
1672 if element is not None: |
1678 if element is not None: |
1673 block = plcopen.fbdObjects_block() |
1679 block = plcopen.fbdObjects_block() |
1674 block.setlocalId(id) |
1680 block.setlocalId(id) |
1682 |
1688 |
1683 def SetEditedElementBlockInfos(self, tagname, id, infos): |
1689 def SetEditedElementBlockInfos(self, tagname, id, infos): |
1684 element = self.GetEditedElement(tagname) |
1690 element = self.GetEditedElement(tagname) |
1685 if element is not None: |
1691 if element is not None: |
1686 block = element.getinstance(id) |
1692 block = element.getinstance(id) |
1687 blocktype = infos.get("type", block.gettypeName()) |
1693 old_name = block.getinstanceName() |
1688 blocktype_infos = GetBlockType(blocktype) |
1694 old_type = block.gettypeName() |
1689 if blocktype_infos["type"] != "function": |
1695 new_name = infos.get("name", old_name) |
1690 if "name" in infos or "type" in infos: |
1696 new_type = infos.get("type", old_type) |
1691 old_name = block.getinstanceName() |
1697 old_typeinfos = GetBlockType(old_type) |
1692 old_type = block.gettypeName() |
1698 new_typeinfos = GetBlockType(new_type) |
1693 new_name = infos.get("name", old_name) |
1699 if new_typeinfos["type"] != old_typeinfos["type"]: |
1694 new_type = infos.get("type", old_type) |
1700 if new_typeinfos["type"] == "function": |
1695 self.ChangeEditedElementPouVar(tagname, old_type, old_name, new_type, new_name) |
1701 self.RemoveEditedElementPouVar(tagname, old_type, old_name) |
|
1702 else: |
|
1703 self.AddEditedElementPouVar(tagname, new_type, new_name) |
|
1704 elif new_typeinfos["type"] != "function" and old_name != new_name: |
|
1705 self.ChangeEditedElementPouVar(tagname, old_type, old_name, new_type, new_name) |
1696 for param, value in infos.items(): |
1706 for param, value in infos.items(): |
1697 if param == "name": |
1707 if param == "name": |
1698 block.setinstanceName(value) |
1708 block.setinstanceName(value) |
1699 elif param == "type": |
1709 elif param == "type": |
1700 block.settypeName(value) |
1710 block.settypeName(value) |
2210 def RemoveEditedElementInstance(self, tagname, id): |
2220 def RemoveEditedElementInstance(self, tagname, id): |
2211 element = self.GetEditedElement(tagname) |
2221 element = self.GetEditedElement(tagname) |
2212 if element is not None: |
2222 if element is not None: |
2213 instance = element.getinstance(id) |
2223 instance = element.getinstance(id) |
2214 if isinstance(instance, plcopen.fbdObjects_block): |
2224 if isinstance(instance, plcopen.fbdObjects_block): |
2215 blocktype = instance.gettypeName() |
2225 self.RemoveEditedElementPouVar(tagname, instance.gettypeName(), instance.getinstanceName()) |
2216 element.removepouVar(blocktype, instance.getinstanceName()) |
|
2217 element.removeinstance(id) |
2226 element.removeinstance(id) |
2218 self.RefreshPouUsingTree() |
2227 self.RefreshPouUsingTree() |
2219 |
2228 |
2220 def GetEditedResourceVariables(self, tagname): |
2229 def GetEditedResourceVariables(self, tagname): |
2221 varlist = [] |
2230 varlist = [] |