git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
 | |
| import  wx
 | |
| import  wx.grid as  gridlib
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| class NewEnterHandlingGrid(gridlib.Grid):
 | |
|     def __init__(self, parent, log):
 | |
|         gridlib.Grid.__init__(self, parent, -1)
 | |
|         self.log = log
 | |
| 
 | |
|         self.CreateGrid(20, 6)
 | |
| 
 | |
|         self.SetCellValue(0, 0, "Enter moves to the right")
 | |
|         self.SetCellValue(0, 5, "Enter wraps to next row")
 | |
|         self.SetColSize(0, 150)
 | |
|         self.SetColSize(5, 150)
 | |
| 
 | |
|         self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
 | |
| 
 | |
| 
 | |
|     def OnKeyDown(self, evt):
 | |
|         if evt.KeyCode() != wx.WXK_RETURN:
 | |
|             evt.Skip()
 | |
|             return
 | |
| 
 | |
|         if evt.ControlDown():   # the edit control needs this key
 | |
|             evt.Skip()
 | |
|             return
 | |
| 
 | |
|         self.DisableCellEditControl()
 | |
|         success = self.MoveCursorRight(evt.ShiftDown())
 | |
| 
 | |
|         if not success:
 | |
|             newRow = self.GetGridCursorRow() + 1
 | |
| 
 | |
|             if newRow < self.GetTable().GetNumberRows():
 | |
|                 self.SetGridCursor(newRow, 0)
 | |
|                 self.MakeCellVisible(newRow, 0)
 | |
|             else:
 | |
|                 # this would be a good place to add a new row if your app
 | |
|                 # needs to do that
 | |
|                 pass
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| class TestFrame(wx.Frame):
 | |
|     def __init__(self, parent, log):
 | |
|         wx.Frame.__init__(self, parent, -1, "Simple Grid Demo", size=(640,480))
 | |
|         grid = NewEnterHandlingGrid(self, log)
 | |
| 
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     import sys
 | |
|     app = wx.PySimpleApp()
 | |
|     frame = TestFrame(None, sys.stdout)
 | |
|     frame.Show(True)
 | |
|     app.MainLoop()
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 |