LDViewer.py
changeset 650 aaa3b02d42b1
parent 616 8a60ffcfd70b
equal deleted inserted replaced
649:ea237e1431ec 650:aaa3b02d42b1
   257         for i, rung in enumerate(self.Rungs):
   257         for i, rung in enumerate(self.Rungs):
   258             if rung.IsElementIn(element):
   258             if rung.IsElementIn(element):
   259                 return i
   259                 return i
   260         return None
   260         return None
   261 
   261 
   262     def FindElement(self, event, exclude_group = False):
   262     def FindElement(self, event, exclude_group = False, connectors = True):
   263         if self.GetDrawingMode() == FREEDRAWING_MODE:
   263         if self.GetDrawingMode() == FREEDRAWING_MODE:
   264             return Viewer.FindElement(self, event, exclude_group)
   264             return Viewer.FindElement(self, event, exclude_group, connectors)
   265         
   265         
   266         dc = self.GetLogicalDC()
   266         dc = self.GetLogicalDC()
   267         pos = event.GetLogicalPosition(dc)
   267         pos = event.GetLogicalPosition(dc)
   268         if self.SelectedElement and not isinstance(self.SelectedElement, (Graphic_Group, Wire)):
   268         if self.SelectedElement and not isinstance(self.SelectedElement, (Graphic_Group, Wire)):
   269             if self.SelectedElement.HitTest(pos) or self.SelectedElement.TestHandle(pos) != (0, 0):
   269             if self.SelectedElement.HitTest(pos, connectors) or self.SelectedElement.TestHandle(pos) != (0, 0):
   270                 return self.SelectedElement
   270                 return self.SelectedElement
   271         elements = []
   271         elements = []
   272         for element in self.GetElements(sort_wires=True):
   272         for element in self.GetElements(sort_wires=True):
   273             if element.HitTest(pos) or element.TestHandle(event) != (0, 0):
   273             if element.HitTest(pos, connectors) or element.TestHandle(event) != (0, 0):
   274                 elements.append(element)
   274                 elements.append(element)
   275         if len(elements) == 1:
   275         if len(elements) == 1:
   276             return elements[0]
   276             return elements[0]
   277         elif len(elements) > 1:
   277         elif len(elements) > 1:
   278             group = Graphic_Group(self)
   278             group = Graphic_Group(self)