LDViewer.py
changeset 144 b67a5de5a24a
parent 122 e6faee0c271b
child 155 b695f7459ef6
equal deleted inserted replaced
143:015a34da60eb 144:b67a5de5a24a
   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)