1283 |
1283 |
1284 def OnViewerLeftDown(self, event): |
1284 def OnViewerLeftDown(self, event): |
1285 if self.Mode == MODE_SELECTION: |
1285 if self.Mode == MODE_SELECTION: |
1286 dc = self.GetLogicalDC() |
1286 dc = self.GetLogicalDC() |
1287 pos = event.GetLogicalPosition(dc) |
1287 pos = event.GetLogicalPosition(dc) |
1288 if event.ControlDown() and self.SelectedElement is not None: |
1288 if event.ShiftDown() and self.SelectedElement is not None: |
1289 element = self.FindElement(pos, True) |
1289 element = self.FindElement(pos, True) |
1290 if element is not None: |
1290 if element is not None: |
1291 if isinstance(self.SelectedElement, Graphic_Group): |
1291 if isinstance(self.SelectedElement, Graphic_Group): |
1292 self.SelectedElement.SetSelected(False) |
1292 self.SelectedElement.SetSelected(False) |
1293 self.SelectedElement.SelectElement(element) |
1293 self.SelectedElement.SelectElement(element) |
1336 wire = Wire(self, [wx.Point(pos.x, pos.y), EAST], [wx.Point(scaled_pos.x, scaled_pos.y), WEST]) |
1336 wire = Wire(self, [wx.Point(pos.x, pos.y), EAST], [wx.Point(scaled_pos.x, scaled_pos.y), WEST]) |
1337 else: |
1337 else: |
1338 wire = Wire(self, [wx.Point(pos.x, pos.y), WEST], [wx.Point(scaled_pos.x, scaled_pos.y), EAST]) |
1338 wire = Wire(self, [wx.Point(pos.x, pos.y), WEST], [wx.Point(scaled_pos.x, scaled_pos.y), EAST]) |
1339 wire.oldPos = scaled_pos |
1339 wire.oldPos = scaled_pos |
1340 wire.Handle = (HANDLE_POINT, 0) |
1340 wire.Handle = (HANDLE_POINT, 0) |
1341 wire.ProcessDragging(0, 0, False, None) |
1341 wire.ProcessDragging(0, 0, event, None) |
1342 wire.Handle = (HANDLE_POINT, 1) |
1342 wire.Handle = (HANDLE_POINT, 1) |
1343 self.AddWire(wire) |
1343 self.AddWire(wire) |
1344 if self.SelectedElement is not None: |
1344 if self.SelectedElement is not None: |
1345 self.SelectedElement.SetSelected(False) |
1345 self.SelectedElement.SetSelected(False) |
1346 self.SelectedElement = wire |
1346 self.SelectedElement = wire |