ItemContainerWidgetsPage::ItemContainerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *image_list,
- char* icon[])
+ const char *const icon[])
: WidgetsPage(book, image_list, icon), m_trackedDataObjects(0)
{
m_items.Add(_T("This"));
return true;
}
+/* static */
+wxArrayString
+ItemContainerWidgetsPage::MakeArray(const wxSortedArrayString& sorted)
+{
+ wxArrayString a;
+
+ const size_t count = sorted.size();
+ a.reserve(count);
+ for ( size_t n = 0; n < count; n++ )
+ a.push_back(sorted[n]);
+
+ return a;
+}
+
void ItemContainerWidgetsPage::OnButtonTestItemContainer(wxCommandEvent&)
{
m_container = GetContainer();
(m_container->IsSorted() ? "Sorted" : "Unsorted"));
const wxArrayString
- & expected_result = m_container->IsSorted() ? m_itemsSorted
- : m_items;
+ expected_result = m_container->IsSorted() ? MakeArray(m_itemsSorted)
+ : m_items;
StartTest(_T("Append one item"));
wxString item = m_items[0];
StartTest(_T("Append some items with data objects"));
wxClientData **objects = new wxClientData *[m_items.GetCount()];
- for ( unsigned i = 0; i < m_items.GetCount(); ++i )
+ unsigned i;
+ for ( i = 0; i < m_items.GetCount(); ++i )
objects[i] = CreateClientData(i);
m_container->Append(m_items, objects);
EndTest(expected_result);
StartTest(_T("Append some items with data"));
void **data = new void *[m_items.GetCount()];
- for ( unsigned i = 0; i < m_items.GetCount(); ++i )
- data[i] = (void*)i;
+ for ( i = 0; i < m_items.GetCount(); ++i )
+ data[i] = wxUIntToPtr(i);
m_container->Append(m_items, data);
EndTest(expected_result);
delete[] data;
StartTest(_T("Append some items with data, one by one"));
- for ( unsigned i = 0; i < m_items.GetCount(); ++i )
- m_container->Append(m_items[i], (void*)i);
+ for ( i = 0; i < m_items.GetCount(); ++i )
+ m_container->Append(m_items[i], wxUIntToPtr(i));
EndTest(expected_result);
StartTest(_T("Append some items with data objects, one by one"));
- for ( unsigned i = 0; i < m_items.GetCount(); ++i )
+ for ( i = 0; i < m_items.GetCount(); ++i )
m_container->Append(m_items[i], CreateClientData(i));
EndTest(expected_result);
{
StartTest(_T("Insert in reverse order with data, one by one"));
for ( unsigned i = m_items.GetCount(); i; --i )
- m_container->Insert(m_items[i - 1], 0, (void*)(i - 1));
+ m_container->Insert(m_items[i - 1], 0, wxUIntToPtr(i - 1));
EndTest(expected_result);
}
}