1647 if root.nodeType == tree.ELEMENT_NODE and root.nodeName == "paste": |
1647 if root.nodeType == tree.ELEMENT_NODE and root.nodeName == "paste": |
1648 for child in root.childNodes: |
1648 for child in root.childNodes: |
1649 if child.nodeType == tree.ELEMENT_NODE: |
1649 if child.nodeType == tree.ELEMENT_NODE: |
1650 classname = plcopen.ElementNameToClass[child.nodeName] |
1650 classname = plcopen.ElementNameToClass[child.nodeName] |
1651 if not self.CheckPasteCompatibility[bodytype](classname): |
1651 if not self.CheckPasteCompatibility[bodytype](classname): |
1652 return _("\"%s\" element can't be paste here!!!")%child.nodeName |
1652 return _("\"%s\" element can't be pasted here!!!")%child.nodeName |
|
1653 |
1653 classobj = getattr(plcopen, classname, None) |
1654 classobj = getattr(plcopen, classname, None) |
1654 if classobj is not None: |
1655 if classobj is not None: |
1655 instance = classobj() |
1656 instance = classobj() |
1656 instance.loadXMLTree(child) |
1657 instance.loadXMLTree(child) |
1657 if child.nodeName == "block": |
1658 if child.nodeName == "block": |
1658 blockname = instance.getinstanceName() |
1659 blockname = instance.getinstanceName() |
1659 if blockname is not None: |
1660 if blockname is not None: |
1660 blocktype = instance.gettypeName() |
1661 blocktype = instance.gettypeName() |
1661 if element_type == "function": |
1662 if element_type == "function": |
1662 return _("FunctionBlock \"%s\" can't be paste in a Function!!!")%blocktype |
1663 return _("FunctionBlock \"%s\" can't be pasted in a Function!!!")%blocktype |
1663 blockname = self.GenerateNewName(tagname, blockname, "Block%d", debug=debug) |
1664 blockname = self.GenerateNewName(tagname, blockname, "Block%d", debug=debug) |
1664 exclude[blockname] = True |
1665 exclude[blockname] = True |
1665 instance.setinstanceName(blockname) |
1666 instance.setinstanceName(blockname) |
1666 self.AddEditedElementPouVar(tagname, blocktype, blockname) |
1667 self.AddEditedElementPouVar(tagname, blocktype, blockname) |
1667 elif child.nodeName == "step": |
1668 elif child.nodeName == "step": |