X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa5f6926ecc17eebf4442611b066367eb17e11c4..8366ae934aab9f835747b0c2e456231e8795fe78:/samples/listctrl/listtest.h?ds=sidebyside diff --git a/samples/listctrl/listtest.h b/samples/listctrl/listtest.h index aebe3fe242..b3464b74db 100644 --- a/samples/listctrl/listtest.h +++ b/samples/listctrl/listtest.h @@ -14,35 +14,56 @@ class MyApp: public wxApp { public: virtual bool OnInit(); - - wxImageList *m_imageListNormal; - wxImageList *m_imageListSmall; }; class MyListCtrl: public wxListCtrl { public: - MyListCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos, - const wxSize& size, long style): - wxListCtrl(parent, id, pos, size, style) + MyListCtrl(wxWindow *parent, + const wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style) + : wxListCtrl(parent, id, pos, size, style), + m_attr(*wxCYAN, *wxLIGHT_GREY, wxNullFont) { } + // add one item to the listctrl in report mode + void InsertItemInReportView(int i); + void OnColClick(wxListEvent& event); + void OnColRightClick(wxListEvent& event); + void OnColBeginDrag(wxListEvent& event); + void OnColDragging(wxListEvent& event); + void OnColEndDrag(wxListEvent& event); void OnBeginDrag(wxListEvent& event); void OnBeginRDrag(wxListEvent& event); void OnBeginLabelEdit(wxListEvent& event); void OnEndLabelEdit(wxListEvent& event); void OnDeleteItem(wxListEvent& event); + void OnDeleteAllItems(wxListEvent& event); void OnGetInfo(wxListEvent& event); void OnSetInfo(wxListEvent& event); void OnSelected(wxListEvent& event); void OnDeselected(wxListEvent& event); void OnListKeyDown(wxListEvent& event); void OnActivated(wxListEvent& event); + void OnCacheHint(wxListEvent& event); void OnChar(wxKeyEvent& event); +private: + void SetColumnImage(int col, int image); + + void LogEvent(const wxListEvent& event, const wxChar *eventName); + + virtual wxString OnGetItemText(long item, long column) const; + virtual int OnGetItemImage(long item) const; + virtual wxListItemAttr *OnGetItemAttr(long item) const; + + wxListItemAttr m_attr; + DECLARE_EVENT_TABLE() }; @@ -53,10 +74,12 @@ public: MyListCtrl *m_listCtrl; wxTextCtrl *m_logWindow; - MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h); + MyFrame(const wxChar *title, int x, int y, int w, int h); ~MyFrame(); public: + void OnSize(wxSizeEvent& event); + void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); void OnListView(wxCommandEvent& event); @@ -65,35 +88,70 @@ public: void OnIconTextView(wxCommandEvent& event); void OnSmallIconView(wxCommandEvent& event); void OnSmallIconTextView(wxCommandEvent& event); + void OnVirtualView(wxCommandEvent& event); + + void OnFocusLast(wxCommandEvent& event); + void OnToggleFirstSel(wxCommandEvent& event); void OnDeselectAll(wxCommandEvent& event); void OnSelectAll(wxCommandEvent& event); + void OnAdd(wxCommandEvent& event); + void OnDelete(wxCommandEvent& event); void OnDeleteAll(wxCommandEvent& event); void OnSort(wxCommandEvent& event); + void OnSetFgColour(wxCommandEvent& event); + void OnSetBgColour(wxCommandEvent& event); + void OnToggleMultiSel(wxCommandEvent& event); + void OnShowColInfo(wxCommandEvent& event); + void OnShowSelInfo(wxCommandEvent& event); + + void OnUpdateShowColInfo(wxUpdateUIEvent& event); + + wxImageList *m_imageListNormal; + wxImageList *m_imageListSmall; - void BusyOn(wxCommandEvent& event); - void BusyOff(wxCommandEvent& event); +private: + // recreate the list control with the new flags + void RecreateList(long flags, bool withText = TRUE); + + // fill the control with items depending on the view + void InitWithListItems(); + void InitWithReportItems(); + void InitWithIconItems(bool withText, bool sameIcon = FALSE); + void InitWithVirtualItems(); + + wxLog *m_logOld; DECLARE_EVENT_TABLE() }; -// ID for the menu quit command +// IDs for the menu commands enum { - LIST_QUIT = 1, - LIST_LIST_VIEW = 2, - LIST_ICON_VIEW = 3, - LIST_ICON_TEXT_VIEW = 4, - LIST_SMALL_ICON_VIEW = 5, - LIST_SMALL_ICON_TEXT_VIEW = 6, - LIST_REPORT_VIEW = 7, - LIST_DESELECT_ALL = 8, - LIST_SELECT_ALL = 9, - LIST_ABOUT = 102, - BUSY_ON = 10, - BUSY_OFF = 11, - LIST_DELETE_ALL = 12, + LIST_ABOUT, + LIST_QUIT, + + LIST_LIST_VIEW, + LIST_ICON_VIEW, + LIST_ICON_TEXT_VIEW, + LIST_SMALL_ICON_VIEW, + LIST_SMALL_ICON_TEXT_VIEW, + LIST_REPORT_VIEW, + LIST_VIRTUAL_VIEW, + + LIST_DESELECT_ALL, + LIST_SELECT_ALL, + LIST_DELETE_ALL, + LIST_DELETE, + LIST_ADD, LIST_SORT, + LIST_SET_FG_COL, + LIST_SET_BG_COL, + LIST_TOGGLE_MULTI_SEL, + LIST_TOGGLE_FIRST, + LIST_SHOW_COL_INFO, + LIST_SHOW_SEL_INFO, + LIST_FOCUS_LAST, LIST_CTRL = 1000 };