select current column when Ctrl-Space is pressed; the current row when Shift-Space is and everything on Shift-Ctrl-Space

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-09-15 08:25:47 +00:00
parent b3c60740bb
commit 32b4e9ecd7

View File

@@ -7117,25 +7117,34 @@ void wxGrid::OnKeyDown( wxKeyEvent& event )
break; break;
case WXK_SPACE: case WXK_SPACE:
if ( event.ControlDown() ) // Ctrl-Space selects the current column, Shift-Space -- the
// current row and Ctrl-Shift-Space -- everything
switch ( m_selection ? event.GetModifiers() : wxMOD_NONE )
{ {
if ( m_selection ) case wxMOD_CONTROL:
m_selection->SelectCol(m_currentCellCoords.GetCol());
break;
case wxMOD_SHIFT:
m_selection->SelectRow(m_currentCellCoords.GetRow());
break;
case wxMOD_CONTROL | wxMOD_SHIFT:
m_selection->SelectBlock(0, 0,
m_numRows - 1, m_numCols - 1);
break;
case wxMOD_NONE:
if ( !IsEditable() )
{ {
m_selection->ToggleCellSelection( MoveCursorRight(false);
m_currentCellCoords.GetRow(),
m_currentCellCoords.GetCol(),
event.ControlDown(),
event.ShiftDown(),
event.AltDown(),
event.MetaDown() );
}
break; break;
} }
//else: fall through
if ( !IsEditable() ) default:
MoveCursorRight( false );
else
event.Skip(); event.Skip();
}
break; break;
default: default: