SFCViewer.py
changeset 331 9106d66bd204
parent 327 7fd5233ce5ce
child 362 f56181aa99ea
equal deleted inserted replaced
330:d803ba077da0 331:9106d66bd204
   168         if self.GetDrawingMode() == FREEDRAWING_MODE:
   168         if self.GetDrawingMode() == FREEDRAWING_MODE:
   169             Viewer.OnViewerLeftDown(self, event)
   169             Viewer.OnViewerLeftDown(self, event)
   170         elif self.Mode == MODE_SELECTION:
   170         elif self.Mode == MODE_SELECTION:
   171             dc = self.GetLogicalDC()
   171             dc = self.GetLogicalDC()
   172             pos = event.GetLogicalPosition(dc)
   172             pos = event.GetLogicalPosition(dc)
   173             if event.ShiftDown():
   173             if event.ShiftDown() and not event.ControlDown() and self.SelectedElement is not None:
   174                 element = self.FindElement(pos, True)
   174                 element = self.FindElement(pos, True)
   175                 if element and not self.IsWire(element):
   175                 if element and not self.IsWire(element):
   176                     if isinstance(self.SelectedElement, Graphic_Group):
   176                     if isinstance(self.SelectedElement, Graphic_Group):
   177                         self.SelectedElement.SelectElement(element)
   177                         self.SelectedElement.SelectElement(element)
   178                     else:
   178                     else:
   184                     elements = self.SelectedElement.GetElements()
   184                     elements = self.SelectedElement.GetElements()
   185                     if len(elements) == 0:
   185                     if len(elements) == 0:
   186                         self.SelectedElement = element
   186                         self.SelectedElement = element
   187                     elif len(elements) == 1:
   187                     elif len(elements) == 1:
   188                         self.SelectedElement = elements[0]
   188                         self.SelectedElement = elements[0]
       
   189                     self.SelectedElement.SetSelected(True)
   189             else:
   190             else:
   190                 element = self.FindElement(pos)
   191                 element = self.FindElement(pos)
   191                 if self.SelectedElement and self.SelectedElement != element:
   192                 if self.SelectedElement and self.SelectedElement != element:
   192                     if self.IsWire(self.SelectedElement):
   193                     if self.IsWire(self.SelectedElement):
   193                         self.SelectedElement.SetSelectedSegment(None)
   194                         self.SelectedElement.SetSelectedSegment(None)