Handle inline editing in generic wxDataViewCtrl as Windows 7 does.

Mimic the behavior of Windows 7's Explorer: edit the item that has focus
if it is selected or the first selected item if focus is out of
selection.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2011-10-07 17:24:06 +00:00
parent 1c8e71c92d
commit a67e6b86f6

View File

@ -3583,7 +3583,17 @@ void wxDataViewMainWindow::OnChar( wxKeyEvent &event )
{
if( !m_selection.empty() )
{
const wxDataViewItem item = GetItemByRow(m_selection[0]);
// Mimic Windows 7 behavior: edit the item that has focus
// if it is selected and the first selected item if focus
// is out of selection.
int sel;
if ( m_selection.Index(m_currentRow) != wxNOT_FOUND )
sel = m_currentRow;
else
sel = m_selection[0];
const wxDataViewItem item = GetItemByRow(sel);
// Edit the current column. If not column is focused
// (typically because the user has full row selected), try