SFCViewer.py
changeset 362 f56181aa99ea
parent 331 9106d66bd204
child 382 42a9b03bba82
equal deleted inserted replaced
361:62570186dad4 362:f56181aa99ea
   288 #-------------------------------------------------------------------------------
   288 #-------------------------------------------------------------------------------
   289 #                          Keyboard event functions
   289 #                          Keyboard event functions
   290 #-------------------------------------------------------------------------------
   290 #-------------------------------------------------------------------------------
   291 
   291 
   292     def OnChar(self, event):
   292     def OnChar(self, event):
   293         xpos, ypos = self.GetScrollPos(wx.HORIZONTAL), self.GetScrollPos(wx.VERTICAL)
   293         if self.GetDrawingMode() == FREEDRAWING_MODE:
   294         xmax = self.GetScrollRange(wx.HORIZONTAL) - self.GetScrollThumb(wx.HORIZONTAL)
   294             Viewer.OnChar(self, event)
   295         ymax = self.GetScrollRange(wx.VERTICAL) - self.GetScrollThumb(wx.VERTICAL)
   295         else:
   296         keycode = event.GetKeyCode()
   296             xpos, ypos = self.GetScrollPos(wx.HORIZONTAL), self.GetScrollPos(wx.VERTICAL)
   297         if self.Scaling:
   297             xmax = self.GetScrollRange(wx.HORIZONTAL) - self.GetScrollThumb(wx.HORIZONTAL)
   298             scaling = self.Scaling
   298             ymax = self.GetScrollRange(wx.VERTICAL) - self.GetScrollThumb(wx.VERTICAL)
   299         else:
   299             keycode = event.GetKeyCode()
   300             scaling = (8, 8)
   300             if self.Scaling:
   301         if keycode == wx.WXK_DELETE and self.SelectedElement:
   301                 scaling = self.Scaling
   302             self.SelectedElement.Delete()
   302             else:
   303             self.SelectedElement = None
   303                 scaling = (8, 8)
   304             self.RefreshBuffer()
   304             if keycode == wx.WXK_DELETE and self.SelectedElement:
   305             self.RefreshScrollBars()
   305                 self.SelectedElement.Delete()
   306             self.Refresh(False)
   306                 self.SelectedElement = None
   307         elif keycode == wx.WXK_LEFT:
       
   308             if event.ControlDown() and event.ShiftDown():
       
   309                 self.Scroll(0, ypos)
       
   310             elif event.ControlDown():
       
   311                 event.Skip()
       
   312             elif self.SelectedElement:
       
   313                 self.SelectedElement.Move(-scaling[0], 0)
       
   314                 self.SelectedElement.RefreshModel()
       
   315                 self.RefreshBuffer()
   307                 self.RefreshBuffer()
   316                 self.RefreshScrollBars()
   308                 self.RefreshScrollBars()
   317                 self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(-scaling[0], 0)), False)
   309                 self.Refresh(False)
   318         elif keycode == wx.WXK_RIGHT:
   310             elif keycode == wx.WXK_LEFT:
   319             if event.ControlDown() and event.ShiftDown():
   311                 if event.ControlDown() and event.ShiftDown():
   320                 self.Scroll(xmax, ypos)
   312                     self.Scroll(0, ypos)
   321             elif event.ControlDown():
   313                 elif event.ControlDown():
       
   314                     event.Skip()
       
   315                 elif self.SelectedElement:
       
   316                     self.SelectedElement.Move(-scaling[0], 0)
       
   317                     self.SelectedElement.RefreshModel()
       
   318                     self.RefreshBuffer()
       
   319                     self.RefreshScrollBars()
       
   320                     self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(-scaling[0], 0)), False)
       
   321             elif keycode == wx.WXK_RIGHT:
       
   322                 if event.ControlDown() and event.ShiftDown():
       
   323                     self.Scroll(xmax, ypos)
       
   324                 elif event.ControlDown():
       
   325                     event.Skip()
       
   326                 elif self.SelectedElement:
       
   327                     self.SelectedElement.Move(scaling[0], 0)
       
   328                     self.SelectedElement.RefreshModel()
       
   329                     self.RefreshBuffer()
       
   330                     self.RefreshScrollBars()
       
   331                     self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(scaling[0], 0)), False)
       
   332             elif keycode == wx.WXK_UP:
       
   333                 if event.ControlDown() and event.ShiftDown():
       
   334                     self.Scroll(xpos, 0)
       
   335                 elif event.ControlDown():
       
   336                     event.Skip()
       
   337                 elif self.SelectedElement:
       
   338                     self.SelectedElement.Move(0, -scaling[1])
       
   339                     self.SelectedElement.RefreshModel()
       
   340                     self.RefreshBuffer()
       
   341                     self.RefreshScrollBars()
       
   342                     self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(0, -scaling[1])), False)
       
   343             elif keycode == wx.WXK_DOWN:
       
   344                 if event.ControlDown() and event.ShiftDown():
       
   345                     self.Scroll(xpos, ymax)
       
   346                 elif event.ControlDown():
       
   347                     event.Skip()
       
   348                 elif self.SelectedElement:
       
   349                     self.SelectedElement.Move(0, scaling[1])
       
   350                     self.SelectedElement.RefreshModel()
       
   351                     self.RefreshBuffer()
       
   352                     self.RefreshScrollBars()
       
   353                     self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(0, scaling[1])), False)
       
   354             else:
   322                 event.Skip()
   355                 event.Skip()
   323             elif self.SelectedElement:
       
   324                 self.SelectedElement.Move(scaling[0], 0)
       
   325                 self.SelectedElement.RefreshModel()
       
   326                 self.RefreshBuffer()
       
   327                 self.RefreshScrollBars()
       
   328                 self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(scaling[0], 0)), False)
       
   329         elif keycode == wx.WXK_UP:
       
   330             if event.ControlDown() and event.ShiftDown():
       
   331                 self.Scroll(xpos, 0)
       
   332             elif event.ControlDown():
       
   333                 event.Skip()
       
   334             elif self.SelectedElement:
       
   335                 self.SelectedElement.Move(0, -scaling[1])
       
   336                 self.SelectedElement.RefreshModel()
       
   337                 self.RefreshBuffer()
       
   338                 self.RefreshScrollBars()
       
   339                 self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(0, -scaling[1])), False)
       
   340         elif keycode == wx.WXK_DOWN:
       
   341             if event.ControlDown() and event.ShiftDown():
       
   342                 self.Scroll(xpos, ymax)
       
   343             elif event.ControlDown():
       
   344                 event.Skip()
       
   345             elif self.SelectedElement:
       
   346                 self.SelectedElement.Move(0, scaling[1])
       
   347                 self.SelectedElement.RefreshModel()
       
   348                 self.RefreshBuffer()
       
   349                 self.RefreshScrollBars()
       
   350                 self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(0, scaling[1])), False)
       
   351         else:
       
   352             event.Skip()
       
   353         
   356         
   354 #-------------------------------------------------------------------------------
   357 #-------------------------------------------------------------------------------
   355 #                          Adding element functions
   358 #                          Adding element functions
   356 #-------------------------------------------------------------------------------
   359 #-------------------------------------------------------------------------------
   357 
   360