plcopen/plcopen.py
changeset 63 04a02b4b2a57
parent 58 39cd981ff242
child 67 3a1b0afdaf84
--- a/plcopen/plcopen.py	Fri Aug 03 18:02:54 2007 +0200
+++ b/plcopen/plcopen.py	Tue Aug 07 17:37:38 2007 +0200
@@ -808,6 +808,89 @@
                 content["value"].updateElementName(old_name, new_name)
     setattr(cls, "updateElementName", updateElementName)
 
+    def addConnection(self):
+        print "addConnection"
+        if not self.condition:
+            self.addCondition()
+        content = self.condition.getContent()
+        if content["name"] != "connection":
+            self.condition.setContent("connection", [])
+            content = self.condition.getContent()
+        content["value"].append(PLCOpenClasses["connection"]())
+    setattr(cls, "addConnection", addConnection)
+    
+    def removeConnection(self, idx):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                content["value"].pop(idx)
+        setattr(cls, "removeConnection", removeConnection)
+
+    def removeConnections(self):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                content["value"] = []
+    setattr(cls, "removeConnections", removeConnections)
+    
+    def getConnections(self):
+        if self.condition:
+            content = self.condition.getContent()
+            print "getConnections", content
+            if content["name"] == "connection":
+                return content["value"]
+    setattr(cls, "getConnections", getConnections)
+    
+    def setConnectionId(self, idx, id):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                content["value"][idx].setRefLocalId(id)
+            print "SetId", content
+    setattr(cls, "setConnectionId", setConnectionId)
+    
+    def getConnectionId(self, idx):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                return content["value"][idx].getRefLocalId()
+        return None
+    setattr(cls, "getConnectionId", getConnectionId)
+    
+    def setConnectionPoints(self, idx, points):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                content["value"][idx].setPoints(points)
+            print "SetPoints", content
+    setattr(cls, "setConnectionPoints", setConnectionPoints)
+
+    def getConnectionPoints(self, idx):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                return content["value"][idx].getPoints()
+        return None
+    setattr(cls, "getConnectionPoints", getConnectionPoints)
+
+    def setConnectionParameter(self, idx, parameter):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                content["value"][idx].setFormalParameter(parameter)
+            print "SetParameter", content
+    setattr(cls, "setConnectionParameter", setConnectionParameter)
+    
+    def getConnectionParameter(self, idx):
+        if self.condition:
+            content = self.condition.getContent()
+            if content["name"] == "connection":
+                return content["value"][idx].getFormalParameter()
+        return None
+    setattr(cls, "getConnectionParameter", getConnectionParameter)
+    
+    setattr(cls, "addConnection", addConnection)    
+
 if "selectionDivergence" in PLCOpenClasses:
     cls = PLCOpenClasses["selectionDivergence"]
     setattr(cls, "getX", getX)