itemcontainer.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Program: wxWidgets Widgets Sample
  3. // Name: itemcontainer.h
  4. // Purpose: Part of the widgets sample showing wxComboBox
  5. // Created: 20.07.07
  6. // License: wxWindows licence
  7. /////////////////////////////////////////////////////////////////////////////
  8. #ifndef _WX_SAMPLE_WIDGETS_ITEMCONTAINER_H_
  9. #define _WX_SAMPLE_WIDGETS_ITEMCONTAINER_H_
  10. #include "widgets.h"
  11. class ItemContainerWidgetsPage : public WidgetsPage
  12. {
  13. public:
  14. ItemContainerWidgetsPage(WidgetsBookCtrl *book,
  15. wxImageList *image_list,
  16. const char *const icon[]);
  17. virtual ~ItemContainerWidgetsPage();
  18. void OnButtonTestItemContainer(wxCommandEvent& event);
  19. virtual wxItemContainer* GetContainer() const = 0;
  20. private:
  21. void StartTest(const wxString& label);
  22. void EndTest(const wxArrayString& result);
  23. // Track client data in wxItemContainer instances
  24. wxClientData* CreateClientData(int value);
  25. void StartTrackingData();
  26. void StopTrackingData();
  27. friend class TrackedClientData;
  28. bool VerifyAllClientDataDestroyed();
  29. bool VerifyClientData(wxUIntPtr i, const wxString& str);
  30. wxString DumpContainerData(const wxArrayString& expected) const;
  31. static wxArrayString MakeArray(const wxSortedArrayString& sorted);
  32. wxArrayString m_items;
  33. wxSortedArrayString m_itemsSorted;
  34. int m_trackedDataObjects;
  35. // holds pointer to the widget being tested
  36. wxItemContainer *m_container;
  37. };
  38. #endif // _WX_SAMPLE_WIDGETS_ITEMCONTAINER_H_