void wxGridCellNumberEditor::StartingKey(wxKeyEvent& event)
{
+ int keycode = event.GetKeyCode();
if ( !HasRange() )
{
- int keycode = event.GetKeyCode();
if ( wxIsdigit(keycode) || keycode == '+' || keycode == '-')
{
wxGridCellTextEditor::StartingKey(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();
}
void wxGridWindow::OnMouseEvent( wxMouseEvent& event )
{
+ if (event.ButtonDown(wxMOUSE_BTN_LEFT) && FindFocus() != this)
+ SetFocus();
+
m_owner->ProcessGridCellMouseEvent( event );
}
void wxGrid::DrawRowLabel( wxDC& dc, int row )
{
- if ( GetRowHeight(row) <= 0 )
+ if ( GetRowHeight(row) <= 0 || m_rowLabelWidth <= 0 )
return;
wxRect rect;
-#ifdef __WXGTK__
+#ifdef __WXGTK20__
rect.SetX( 1 );
rect.SetY( GetRowTop(row) + 1 );
rect.SetWidth( m_rowLabelWidth - 2 );
void wxGrid::DrawColLabel( wxDC& dc, int col )
{
- if ( GetColWidth(col) <= 0 )
+ if ( GetColWidth(col) <= 0 || m_colLabelHeight <= 0 )
return;
int colLeft = GetColLeft(col);
wxRect rect;
-#ifdef __WXGTK__
+#ifdef __WXGTK20__
rect.SetX( colLeft + 1 );
rect.SetY( 1 );
rect.SetWidth( GetColWidth(col) - 2 );