X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd9b34ef833ca8e79821de19ce25f7c3287a8506..e6db07c3ef23cdec32eecd824117e4c47a5b8f3a:/src/generic/datavgen.cpp diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index 5c773a9f7a..bdc389ad66 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -214,6 +214,8 @@ private: model->Resort(); owner->OnColumnChange(idx); + + SendEvent(wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, idx); } void OnRClick(wxHeaderCtrlEvent& event) @@ -1771,8 +1773,11 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) dataitem = node->GetItem(); - if ((i > 0) && model->IsContainer(dataitem) && - !model->HasContainerColumns(dataitem)) + // Skip all columns of "container" rows except the expander + // column itself unless HasContainerColumns() overrides this. + if ( col != GetOwner()->GetExpanderColumn() && + model->IsContainer(dataitem) && + !model->HasContainerColumns(dataitem) ) continue; } else @@ -3374,7 +3379,7 @@ void wxDataViewMainWindow::OnChar( wxKeyEvent &event ) break; case WXK_DOWN: - if ( m_currentRow < GetRowCount() - 1 ) + if ( m_currentRow + 1 < GetRowCount() ) OnArrowChar( m_currentRow + 1, event ); break; // Add the process for tree expanding/collapsing @@ -3723,8 +3728,10 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event ) if (!IsRowSelected(current)) { SelectAllRows(false); + const unsigned oldCurrent = m_currentRow; ChangeCurrentRow(current); SelectRow(m_currentRow,true); + RefreshRow(oldCurrent); SendSelectionChangedEvent(GetItemByRow( m_currentRow ) ); } }