--- 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):