git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11375
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
/////////////////////////////////////////////////////////////////////////////
/*
/////////////////////////////////////////////////////////////////////////////
/*
- TODO for better virtual list control support:
- 1. we need to implement searching/sorting somehow
+ 1. we need to implement searching/sorting for virtual controls somehow
+ 2. when changing selection the lines are refreshed twice
*/
// ============================================================================
*/
// ============================================================================
le.m_itemIndex = m_current;
GetLine(m_current)->GetItem( 0, le.m_item );
GetParent()->GetEventHandler()->ProcessEvent( le );
le.m_itemIndex = m_current;
GetLine(m_current)->GetItem( 0, le.m_item );
GetParent()->GetEventHandler()->ProcessEvent( le );
+
+ if ( IsHighlighted(m_current) )
+ {
+ // don't unselect the item in single selection mode
+ break;
+ }
+ //else: select it in ReverseHighlight() below if unselected
- else
- {
- ReverseHighlight(m_current);
- }
+
+ ReverseHighlight(m_current);
Refresh();
wxListHeaderWindow *headerWin = GetListCtrl()->m_headerWin;
Refresh();
wxListHeaderWindow *headerWin = GetListCtrl()->m_headerWin;
+ if ( headerWin && headerWin->m_dirty )
{
headerWin->m_dirty = FALSE;
headerWin->Refresh();
{
headerWin->m_dirty = FALSE;
headerWin->Refresh();
m_lines.RemoveAt( index );
}
m_lines.RemoveAt( index );
}
+ // we need to refresh the (vert) scrollbar as the number of items changed
m_dirty = TRUE;
SendNotify( index, wxEVT_COMMAND_LIST_DELETE_ITEM );
m_dirty = TRUE;
SendNotify( index, wxEVT_COMMAND_LIST_DELETE_ITEM );