]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/editlbox.cpp
Added ability to switch off more components of the size page UI
[wxWidgets.git] / src / generic / editlbox.cpp
index f0dc3af9b47bf50c32342cea6e6adfc4b8e3ab38..7818c33a5a531993c0960ccd2bca24bb60167a12 100644 (file)
@@ -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",
@@ -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);
 }