diff -r 5b3e1c4569e6 -r c5da8b706cde graphics/SFC_Objects.py --- a/graphics/SFC_Objects.py Wed Aug 27 16:55:16 2008 +0200 +++ b/graphics/SFC_Objects.py Wed Aug 27 16:56:25 2008 +0200 @@ -234,15 +234,15 @@ return {"input":self.Input,"output":self.Output,"action":self.Action} # Test if point given is on step input or output connector - def TestConnector(self, pt, exclude=True): + def TestConnector(self, pt, direction = None, exclude=True): # Test input connector if it exists - if self.Input and self.Input.TestPoint(pt, exclude): + if self.Input and self.Input.TestPoint(pt, direction, exclude): return self.Input # Test output connector - if self.Output and self.Output.TestPoint(pt, exclude): + if self.Output and self.Output.TestPoint(pt, direction, exclude): return self.Output # Test action connector - if self.Action and self.Action.TestPoint(pt, exclude): + if self.Action and self.Action.TestPoint(pt, direction, exclude): return self.Action return None @@ -676,15 +676,15 @@ return connectors # Test if point given is on transition input or output connector - def TestConnector(self, pt, exclude=True): + def TestConnector(self, pt, direction = None, exclude=True): # Test input connector - if self.Input.TestPoint(pt, exclude): + if self.Input.TestPoint(pt, direction, exclude): return self.Input # Test output connector - if self.Output.TestPoint(pt, exclude): + if self.Output.TestPoint(pt, direction, exclude): return self.Output # Test condition connector - if self.Type == "connection" and self.Condition.TestPoint(pt, exclude): + if self.Type == "connection" and self.Condition.TestPoint(pt, direction, exclude): return self.Condition return None @@ -1015,7 +1015,7 @@ # Returns if the point given is in the bounding box def HitTest(self, pt): rect = self.BoundingBox - return rect.InsideXY(pt.x, pt.y) or self.TestConnector(pt, False) != None + return rect.InsideXY(pt.x, pt.y) or self.TestConnector(pt, exclude=False) != None # Refresh the divergence bounding box def RefreshBoundingBox(self): @@ -1089,14 +1089,14 @@ return {"inputs":self.Inputs,"outputs":self.Outputs} # Test if point given is on divergence input or output connector - def TestConnector(self, pt, exclude=True): + def TestConnector(self, pt, direction = None, exclude=True): # Test input connector for input in self.Inputs: - if input.TestPoint(pt, exclude): + if input.TestPoint(pt, direction, exclude): return input # Test output connector for output in self.Outputs: - if output.TestPoint(pt, exclude): + if output.TestPoint(pt, direction, exclude): return output return None @@ -1209,7 +1209,7 @@ def OnRightDown(self, event, dc, scaling): pos = GetScaledEventPosition(event, dc, scaling) # Test if a connector have been handled - connector = self.TestConnector(pos, False) + connector = self.TestConnector(pos, exclude=False) if connector: self.Handle = (HANDLE_CONNECTOR, connector) self.Parent.SetCursor(wx.StockCursor(wx.CURSOR_HAND)) @@ -1237,7 +1237,7 @@ else: pos = GetScaledEventPosition(event, dc, scaling) # Popup the menu with special items for a block and a connector if one is handled - connector = self.TestConnector(pos, False) + connector = self.TestConnector(pos, exclude=False) if connector: self.Handle = (HANDLE_CONNECTOR, connector) self.Parent.PopupDivergenceMenu(True) @@ -1416,9 +1416,9 @@ return self.Input # Test if point given is on jump input connector - def TestConnector(self, pt, exclude = True): + def TestConnector(self, pt, direction = None, exclude = True): # Test input connector - if self.Input and self.Input.TestPoint(pt, exclude): + if self.Input and self.Input.TestPoint(pt, direction, exclude): return self.Input return None @@ -1626,9 +1626,9 @@ return self.Input # Test if point given is on action block input connector - def TestConnector(self, pt, exclude = True): + def TestConnector(self, pt, direction = None, exclude = True): # Test input connector - if self.Input.TestPoint(pt, exclude): + if self.Input.TestPoint(pt, direction, exclude): return self.Input return None