graphics/FBD_Objects.py
changeset 537 a31bf722aa82
parent 533 7081b52a8a2d
child 563 3f92a5e18804
--- a/graphics/FBD_Objects.py	Thu Apr 21 15:15:57 2011 +0200
+++ b/graphics/FBD_Objects.py	Thu Apr 21 16:06:33 2011 +0200
@@ -167,18 +167,8 @@
             for output in self.Outputs:
                 if name == output.GetName():
                     return output
-        # Test each input connector
-        for input in self.Inputs:
-            input_pos = input.GetRelPosition()
-            if position.x == self.Pos.x + input_pos.x and position.y == self.Pos.y + input_pos.y:
-                return input
-        # Test each output connector
-        for output in self.Outputs:
-            output_pos = output.GetRelPosition()
-            if position.x == self.Pos.x + output_pos.x and position.y == self.Pos.y + output_pos.y:
-                return output
-        return None
-    
+        return self.FindNearestConnector(position, self.Inputs + self.Outputs)
+        
     def GetInputTypes(self):
         return tuple([input.GetType(True) for input in self.Inputs if input.GetName() != "EN"])
     
@@ -565,17 +555,14 @@
                 return self.Input
             if self.Output and name == self.Output.GetName():
                 return self.Output
+        connectors = []
         # Test input connector if it exists
         if self.Input:
-            input_pos = self.Input.GetRelPosition()
-            if position.x == self.Pos.x + input_pos.x and position.y == self.Pos.y + input_pos.y:
-                return self.Input
+            connectors.append(self.Input)
         # Test output connector if it exists
         if self.Output:
-            output_pos = self.Output.GetRelPosition()
-            if position.x == self.Pos.x + output_pos.x and position.y == self.Pos.y + output_pos.y:
-                return self.Output
-        return None
+            connectors.append(self.Output)
+        return self.FindNearestConnector(position, connectors)
     
     # Returns all the block connectors 
     def GetConnectors(self):