void CJoinDialog::MoveSelectedItems(wxListBox& From, wxListBox& To) { int i; wxString s; if (From.GetSelection() == -1) { wxMessageBox(_("Nothing selected."),_T(""),wxICON_EXCLAMATION | wxOK); } for (i = 0; i < (int)From.GetCount(); ++i) { if (From.IsSelected(i)) { s = From.GetString(i); To.Append(s); } } for (i = (int)From.GetCount() - 1; i >= 0; --i) { if (From.IsSelected(i)) { From.Delete(i); } } }
void ListBoxTestCase::MultipleSelect() { wxDELETE(m_list); m_list = new wxListBox(wxTheApp->GetTopWindow(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, 0, wxLB_MULTIPLE); wxArrayString testitems; testitems.Add("item 0"); testitems.Add("item 1"); testitems.Add("item 2"); testitems.Add("item 3"); m_list->Append(testitems); m_list->SetSelection(0); wxArrayInt selected; m_list->GetSelections(selected); CPPUNIT_ASSERT_EQUAL(1, selected.Count()); CPPUNIT_ASSERT_EQUAL(0, selected.Item(0)); m_list->SetSelection(2); m_list->GetSelections(selected); CPPUNIT_ASSERT_EQUAL(2, selected.Count()); CPPUNIT_ASSERT_EQUAL(2, selected.Item(1)); m_list->Deselect(0); m_list->GetSelections(selected); CPPUNIT_ASSERT_EQUAL(1, selected.Count()); CPPUNIT_ASSERT_EQUAL(2, selected.Item(0)); CPPUNIT_ASSERT(!m_list->IsSelected(0)); CPPUNIT_ASSERT(!m_list->IsSelected(1)); CPPUNIT_ASSERT(m_list->IsSelected(2)); CPPUNIT_ASSERT(!m_list->IsSelected(3)); m_list->SetSelection(0); m_list->SetSelection(wxNOT_FOUND); m_list->GetSelections(selected); CPPUNIT_ASSERT_EQUAL(0, selected.Count()); }