X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33e9fc549ce7d880fc5dc421e8ebbbf2559ce894..920a7c1510f56dfef5ce65bb15b6e87479beb407:/src/generic/grid.cpp diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 66b281a033..55049525f7 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -956,9 +956,9 @@ bool wxGridCellNumberEditor::IsAcceptedKey(wxKeyEvent& event) void wxGridCellNumberEditor::StartingKey(wxKeyEvent& event) { + int keycode = event.GetKeyCode(); if ( !HasRange() ) { - int keycode = event.GetKeyCode(); if ( wxIsdigit(keycode) || keycode == '+' || keycode == '-') { wxGridCellTextEditor::StartingKey(event); @@ -967,7 +967,18 @@ void wxGridCellNumberEditor::StartingKey(wxKeyEvent& event) return; } } - +#if wxUSE_SPINCTRL + else + { + if ( wxIsdigit(keycode) ) + { + wxSpinCtrl* spin = (wxSpinCtrl*)m_control; + spin->SetValue(keycode - '0'); + spin->SetSelection(1,1); + return; + } + } +#endif event.Skip(); } @@ -7258,7 +7269,7 @@ void wxGrid::DrawRowLabels( wxDC& dc ,const wxArrayInt& rows) void wxGrid::DrawRowLabel( wxDC& dc, int row ) { - if ( GetRowHeight(row) <= 0 ) + if ( GetRowHeight(row) <= 0 || m_rowLabelWidth <= 0 ) return; wxRect rect; @@ -7320,7 +7331,7 @@ void wxGrid::DrawColLabels( wxDC& dc,const wxArrayInt& cols ) void wxGrid::DrawColLabel( wxDC& dc, int col ) { - if ( GetColWidth(col) <= 0 ) + if ( GetColWidth(col) <= 0 || m_colLabelHeight <= 0 ) return; int colLeft = GetColLeft(col);