X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3475a005d63807e0c2dd0384ce40af73921f983b..24b3cc2c9632b7c6f0f0dd8f935688bd4d5e36f0:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 48b0ca5226..38a9a92ce0 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -1449,8 +1449,8 @@ void wxListLineData::SetPosition( int x, int y, if ( item->HasImage() ) { - m_gi->m_rectIcon.x = m_gi->m_rectAll.x + 4 - + (spacing - m_gi->m_rectIcon.width)/2; + m_gi->m_rectIcon.x = m_gi->m_rectAll.x + 4 + + (m_gi->m_rectAll.width - m_gi->m_rectIcon.width) / 2; m_gi->m_rectIcon.y = m_gi->m_rectAll.y + 4; } @@ -3772,6 +3772,14 @@ void wxListMainWindow::SetItemState( long litem, long state, long stateMask ) { ResetCurrent(); + if ( IsSingleSel() ) + { + // we must unselect the old current item as well or we + // might end up with more than one selected item in a + // single selection control + HighlightLine(oldCurrent, FALSE); + } + RefreshLine( oldCurrent ); } } @@ -4492,56 +4500,6 @@ void wxListMainWindow::GetVisibleLinesRange(size_t *from, size_t *to) IMPLEMENT_DYNAMIC_CLASS(wxListItem, wxObject) -wxListItem::wxListItem() -{ - m_attr = NULL; - - Clear(); -} - -wxListItem::wxListItem(const wxListItem& item) - : wxObject() - , m_mask(item.m_mask) - , m_itemId(item.m_itemId) - , m_col(item.m_col) - , m_state(item.m_state) - , m_stateMask(item.m_stateMask) - , m_text(item.m_text) - , m_image(item.m_image) - , m_data(item.m_data) - , m_format(item.m_format) - , m_width(item.m_width) - , m_attr(NULL) -{ - // copy list item attributes - m_attr = new wxListItemAttr(*item.GetAttributes()); -} - -void wxListItem::Clear() -{ - m_mask = 0; - m_itemId = 0; - m_col = 0; - m_state = 0; - m_stateMask = 0; - m_image = -1; - m_data = 0; - m_format = wxLIST_FORMAT_CENTRE; - m_width = 0; - m_text.clear(); - - ClearAttributes(); -} - -void wxListItem::ClearAttributes() -{ - if (m_attr) - { - delete m_attr; - m_attr = NULL; - } -} - // ------------------------------------------------------------------------------------- // wxListCtrl // -------------------------------------------------------------------------------------