X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d9b22b06d3a40f7c1ae10b9712a26e005a40da64..d48f13a168143e97c271bbeb2f544a63983ee435:/src/generic/editlbox.cpp diff --git a/src/generic/editlbox.cpp b/src/generic/editlbox.cpp index 204e28908a..7818c33a5a 100644 --- a/src/generic/editlbox.cpp +++ b/src/generic/editlbox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: editlbox.cpp +// Name: src/generic/editlbox.cpp // Purpose: ListBox with editable items // Author: Vaclav Slavik // RCS-ID: $Id$ @@ -32,7 +32,7 @@ const char wxEditableListBoxNameStr[] = "editableListBox"; -static const char * eledit_xpm[] = { +static const char* const eledit_xpm[] = { "16 16 3 1", " c None", ". c #000000", @@ -54,7 +54,7 @@ static const char * eledit_xpm[] = { " ", " "}; -static const char * elnew_xpm[] = { +static const char* const elnew_xpm[] = { "16 16 5 1", " c None", ". c #7F7F7F", @@ -78,7 +78,7 @@ static const char * elnew_xpm[] = { " ", " "}; -static const char * eldel_xpm[] = { +static const char* const eldel_xpm[] = { "16 16 3 1", " c None", ". c #7F0000", @@ -100,7 +100,7 @@ static const char * eldel_xpm[] = { " . . ", " "}; -static const char * eldown_xpm[] = { +static const char* const eldown_xpm[] = { "16 16 2 1", " c None", ". c #000000", @@ -121,7 +121,7 @@ static const char * eldown_xpm[] = { " ", " "}; -static const char * elup_xpm[] = { +static const char* const elup_xpm[] = { "16 16 2 1", " c None", ". c #000000", @@ -160,7 +160,7 @@ public: void CreateColumns() { - InsertColumn(0, _T("item")); + InsertColumn(0, wxT("item")); SizeColumns(); } @@ -370,26 +370,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); }