330 for elt in self.SelectedElement.GetElements(): |
330 for elt in self.SelectedElement.GetElements(): |
331 if self.IsWire(elt): |
331 if self.IsWire(elt): |
332 elt.SetSelectedSegment(None) |
332 elt.SetSelectedSegment(None) |
333 self.SelectedElement.SetSelected(False) |
333 self.SelectedElement.SetSelected(False) |
334 self.SelectedElement = None |
334 self.SelectedElement = None |
335 self.Refresh() |
|
336 if element: |
335 if element: |
337 self.SelectedElement = element |
336 self.SelectedElement = element |
338 self.SelectedElement.OnLeftDown(event, dc, self.Scaling) |
337 self.SelectedElement.OnLeftDown(event, dc, self.Scaling) |
339 self.Refresh() |
338 self.SelectedElement.Refresh() |
340 else: |
339 else: |
341 self.rubberBand.Reset() |
340 self.rubberBand.Reset() |
342 self.rubberBand.OnLeftDown(event, dc, self.Scaling) |
341 self.rubberBand.OnLeftDown(event, dc, self.Scaling) |
343 event.Skip() |
342 event.Skip() |
344 |
343 |
351 self.rubberBand.OnLeftUp(event, self.GetLogicalDC(), self.Scaling) |
350 self.rubberBand.OnLeftUp(event, self.GetLogicalDC(), self.Scaling) |
352 if len(elements) > 0: |
351 if len(elements) > 0: |
353 self.SelectedElement = Graphic_Group(self) |
352 self.SelectedElement = Graphic_Group(self) |
354 self.SelectedElement.SetElements(elements) |
353 self.SelectedElement.SetElements(elements) |
355 self.SelectedElement.SetSelected(True) |
354 self.SelectedElement.SetSelected(True) |
356 self.Refresh() |
|
357 elif self.Mode == MODE_SELECTION and self.SelectedElement: |
355 elif self.Mode == MODE_SELECTION and self.SelectedElement: |
358 dc = self.GetLogicalDC() |
356 dc = self.GetLogicalDC() |
359 if not isinstance(self.SelectedElement, Graphic_Group): |
357 if not isinstance(self.SelectedElement, Graphic_Group): |
360 if self.IsWire(self.SelectedElement): |
358 if self.IsWire(self.SelectedElement): |
361 result = self.SelectedElement.TestSegment(event.GetLogicalPosition(dc), True) |
359 result = self.SelectedElement.TestSegment(event.GetLogicalPosition(dc), True) |
369 result = element.TestSegment(event.GetLogicalPosition(dc), True) |
367 result = element.TestSegment(event.GetLogicalPosition(dc), True) |
370 if result and result[1] in [EAST, WEST]: |
368 if result and result[1] in [EAST, WEST]: |
371 element.SetSelectedSegment(result[0]) |
369 element.SetSelectedSegment(result[0]) |
372 else: |
370 else: |
373 element.OnLeftUp(event, dc, self.Scaling) |
371 element.OnLeftUp(event, dc, self.Scaling) |
|
372 self.SelectedElement.Refresh() |
374 wx.CallAfter(self.SetCursor, wx.NullCursor) |
373 wx.CallAfter(self.SetCursor, wx.NullCursor) |
375 self.ReleaseMouse() |
|
376 self.Refresh() |
|
377 event.Skip() |
374 event.Skip() |
378 |
375 |
379 def OnViewerRightUp(self, event): |
376 def OnViewerRightUp(self, event): |
380 if self.GetDrawingMode() == FREEDRAWING_MODE: |
377 if self.GetDrawingMode() == FREEDRAWING_MODE: |
381 Viewer.OnViewerRightUp(self, event) |
378 Viewer.OnViewerRightUp(self, event) |
390 if self.IsWire(self.SelectedElement): |
387 if self.IsWire(self.SelectedElement): |
391 self.SelectedElement.SetSelectedSegment(0) |
388 self.SelectedElement.SetSelectedSegment(0) |
392 else: |
389 else: |
393 self.SelectedElement.SetSelected(True) |
390 self.SelectedElement.SetSelected(True) |
394 self.SelectedElement.OnRightUp(event, dc, self.Scaling) |
391 self.SelectedElement.OnRightUp(event, dc, self.Scaling) |
|
392 self.SelectedElement.Refresh() |
395 wx.CallAfter(self.SetCursor, wx.NullCursor) |
393 wx.CallAfter(self.SetCursor, wx.NullCursor) |
396 self.ReleaseMouse() |
|
397 self.Refresh() |
|
398 event.Skip() |
394 event.Skip() |
399 |
395 |
400 def OnViewerLeftDClick(self, event): |
396 def OnViewerLeftDClick(self, event): |
401 if self.GetDrawingMode() == FREEDRAWING_MODE: |
397 if self.GetDrawingMode() == FREEDRAWING_MODE: |
402 Viewer.OnViewerLeftDClick(self, event) |
398 Viewer.OnViewerLeftDClick(self, event) |
403 elif self.Mode == MODE_SELECTION and self.SelectedElement: |
399 elif self.Mode == MODE_SELECTION and self.SelectedElement: |
404 self.SelectedElement.OnLeftDClick(event, self.GetLogicalDC(), self.Scaling) |
400 self.SelectedElement.OnLeftDClick(event, self.GetLogicalDC(), self.Scaling) |
405 self.Refresh() |
401 self.SelectedElement.Refresh() |
406 event.Skip() |
402 event.Skip() |
407 |
403 |
408 def OnViewerMotion(self, event): |
404 def OnViewerMotion(self, event): |
409 if self.GetDrawingMode() == FREEDRAWING_MODE: |
405 if self.GetDrawingMode() == FREEDRAWING_MODE: |
410 Viewer.OnViewerMotion(self, event) |
406 Viewer.OnViewerMotion(self, event) |
1213 contact.SetName(values["name"]) |
1209 contact.SetName(values["name"]) |
1214 contact.SetType(values["type"]) |
1210 contact.SetType(values["type"]) |
1215 contact.RefreshModel(False) |
1211 contact.RefreshModel(False) |
1216 self.RefreshBuffer() |
1212 self.RefreshBuffer() |
1217 self.RefreshScrollBars() |
1213 self.RefreshScrollBars() |
1218 self.Refresh() |
1214 contact.Refresh() |
1219 dialog.Destroy() |
1215 dialog.Destroy() |
1220 |
1216 |
1221 def EditCoilContent(self, coil): |
1217 def EditCoilContent(self, coil): |
1222 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1218 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1223 Viewer.EditCoilContent(self, coil) |
1219 Viewer.EditCoilContent(self, coil) |
1239 coil.SetName(values["name"]) |
1235 coil.SetName(values["name"]) |
1240 coil.SetType(values["type"]) |
1236 coil.SetType(values["type"]) |
1241 coil.RefreshModel(False) |
1237 coil.RefreshModel(False) |
1242 self.RefreshBuffer() |
1238 self.RefreshBuffer() |
1243 self.RefreshScrollBars() |
1239 self.RefreshScrollBars() |
1244 self.Refresh() |
1240 coil.Refresh() |
1245 dialog.Destroy() |
1241 dialog.Destroy() |
1246 |
1242 |
1247 def EditPowerRailContent(self, powerrail): |
1243 def EditPowerRailContent(self, powerrail): |
1248 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1244 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1249 Viewer.EditPowerRailContent(self, powerrail) |
1245 Viewer.EditPowerRailContent(self, powerrail) |