X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/80fdcdb90ef779185492dab676d461fc34933312..07fb285c521527e383f2d1090f7f41f561bcd8fd:/src/generic/editlbox.cpp diff --git a/src/generic/editlbox.cpp b/src/generic/editlbox.cpp index cf5e5d1913..6502d4bfa8 100644 --- a/src/generic/editlbox.cpp +++ b/src/generic/editlbox.cpp @@ -2,7 +2,6 @@ // Name: src/generic/editlbox.cpp // Purpose: ListBox with editable items // Author: Vaclav Slavik -// RCS-ID: $Id$ // Copyright: (c) Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -350,9 +349,9 @@ void wxEditableListBox::OnEndLabelEdit(wxListEvent& event) // possible: m_listCtrl->InsertItem(m_listCtrl->GetItemCount(), wxEmptyString); - // Simulate a wxEVT_COMMAND_LIST_ITEM_SELECTED event for the new item, + // Simulate a wxEVT_LIST_ITEM_SELECTED event for the new item, // so that the buttons are enabled/disabled properly - wxListEvent selectionEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED, m_listCtrl->GetId()); + wxListEvent selectionEvent(wxEVT_LIST_ITEM_SELECTED, m_listCtrl->GetId()); selectionEvent.m_itemIndex = event.GetIndex(); m_listCtrl->GetEventHandler()->ProcessEvent(selectionEvent); } @@ -370,26 +369,32 @@ void wxEditableListBox::OnEditItem(wxCommandEvent& WXUNUSED(event)) m_listCtrl->EditLabel(m_selection); } -void wxEditableListBox::OnUpItem(wxCommandEvent& WXUNUSED(event)) +void wxEditableListBox::SwapItems(long i1, long i2) { - wxString t1, t2; + // swap the text + wxString t1 = m_listCtrl->GetItemText(i1); + wxString t2 = m_listCtrl->GetItemText(i2); + m_listCtrl->SetItemText(i1, t2); + m_listCtrl->SetItemText(i2, t1); + + // swap the item data + long d1 = m_listCtrl->GetItemData(i1); + long d2 = m_listCtrl->GetItemData(i2); + m_listCtrl->SetItemData(i1, d2); + m_listCtrl->SetItemData(i2, d1); +} + - t1 = m_listCtrl->GetItemText(m_selection - 1); - t2 = m_listCtrl->GetItemText(m_selection); - m_listCtrl->SetItemText(m_selection - 1, t2); - m_listCtrl->SetItemText(m_selection, t1); +void wxEditableListBox::OnUpItem(wxCommandEvent& WXUNUSED(event)) +{ + SwapItems(m_selection - 1, m_selection); m_listCtrl->SetItemState(m_selection - 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); } void wxEditableListBox::OnDownItem(wxCommandEvent& WXUNUSED(event)) { - wxString t1, t2; - - t1 = m_listCtrl->GetItemText(m_selection + 1); - t2 = m_listCtrl->GetItemText(m_selection); - m_listCtrl->SetItemText(m_selection + 1, t2); - m_listCtrl->SetItemText(m_selection, t1); + SwapItems(m_selection + 1, m_selection); m_listCtrl->SetItemState(m_selection + 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); }