X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/06db67bcb00b09ff12039bfa135068bb153ed806..14619f10b0bdb630206607abd0ce0319d45e095a:/samples/listctrl/listtest.h?ds=sidebyside diff --git a/samples/listctrl/listtest.h b/samples/listctrl/listtest.h index 47942fa7ae..f99c135eb2 100644 --- a/samples/listctrl/listtest.h +++ b/samples/listctrl/listtest.h @@ -6,9 +6,17 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +// not all ports have support for EVT_CONTEXT_MENU yet, don't define +// USE_CONTEXT_MENU for those which don't +#if defined(__WXMOTIF__) || defined(__WXPM__) || defined(__WXX11__) + #define USE_CONTEXT_MENU 0 +#else + #define USE_CONTEXT_MENU 1 +#endif + // Define a new application type class MyApp: public wxApp { @@ -18,7 +26,7 @@ public: virtual bool OnInit(); private: - DECLARE_NO_COPY_CLASS(MyApp) + wxDECLARE_NO_COPY_CLASS(MyApp); }; class MyListCtrl: public wxListCtrl @@ -29,9 +37,13 @@ public: const wxPoint& pos, const wxSize& size, long style) - : wxListCtrl(parent, id, pos, size, style), - m_attr(*wxBLUE, *wxLIGHT_GREY, wxNullFont) + : wxListCtrl(parent, id, pos, size, style) { + m_updated = -1; + +#ifdef __POCKETPC__ + EnableContextMenu(); +#endif } // add one item to the listctrl in report mode @@ -48,10 +60,6 @@ public: void OnEndLabelEdit(wxListEvent& event); void OnDeleteItem(wxListEvent& event); void OnDeleteAllItems(wxListEvent& event); -#if WXWIN_COMPATIBILITY_2_4 - void OnGetInfo(wxListEvent& event); - void OnSetInfo(wxListEvent& event); -#endif void OnSelected(wxListEvent& event); void OnDeselected(wxListEvent& event); void OnListKeyDown(wxListEvent& event); @@ -61,7 +69,15 @@ public: void OnChar(wxKeyEvent& event); +#if USE_CONTEXT_MENU + void OnContextMenu(wxContextMenuEvent& event); +#endif + + void OnRightClick(wxMouseEvent& event); + private: + void ShowContextMenu(const wxPoint& pos); + wxLog *m_logOld; void SetColumnImage(int col, int image); void LogEvent(const wxListEvent& event, const wxChar *eventName); @@ -71,9 +87,10 @@ private: virtual int OnGetItemColumnImage(long item, long column) const; virtual wxListItemAttr *OnGetItemAttr(long item) const; - wxListItemAttr m_attr; + long m_updated; - DECLARE_NO_COPY_CLASS(MyListCtrl) + + wxDECLARE_NO_COPY_CLASS(MyListCtrl); DECLARE_EVENT_TABLE() }; @@ -81,7 +98,7 @@ private: class MyFrame: public wxFrame { public: - MyFrame(const wxChar *title, int x, int y, int w, int h); + MyFrame(const wxChar *title); virtual ~MyFrame(); void DoSize(); @@ -100,6 +117,10 @@ protected: void OnVirtualView(wxCommandEvent& event); void OnSmallVirtualView(wxCommandEvent& event); + void OnSetItemsCount(wxCommandEvent& event); + + + void OnGoTo(wxCommandEvent& event); void OnFocusLast(wxCommandEvent& event); void OnToggleFirstSel(wxCommandEvent& event); void OnDeselectAll(wxCommandEvent& event); @@ -111,15 +132,29 @@ protected: void OnSort(wxCommandEvent& event); void OnSetFgColour(wxCommandEvent& event); void OnSetBgColour(wxCommandEvent& event); + void OnSetRowLines(wxCommandEvent& event); void OnToggleMultiSel(wxCommandEvent& event); void OnShowColInfo(wxCommandEvent& event); void OnShowSelInfo(wxCommandEvent& event); + void OnShowViewRect(wxCommandEvent& event); +#ifdef wxHAS_LISTCTRL_COLUMN_ORDER + void OnSetColOrder(wxCommandEvent& event); + void OnGetColOrder(wxCommandEvent& event); +#endif // wxHAS_LISTCTRL_COLUMN_ORDER void OnFreeze(wxCommandEvent& event); void OnThaw(wxCommandEvent& event); void OnToggleLines(wxCommandEvent& event); - - void OnUpdateShowColInfo(wxUpdateUIEvent& event); + void OnToggleHeader(wxCommandEvent& event); + void OnToggleBell(wxCommandEvent& event); +#ifdef __WXOSX__ + void OnToggleMacUseGeneric(wxCommandEvent& event); +#endif // __WXOSX__ + void OnFind(wxCommandEvent& event); + + void OnUpdateUIEnableInReport(wxUpdateUIEvent& event); void OnUpdateToggleMultiSel(wxUpdateUIEvent& event); + void OnUpdateToggleHeader(wxUpdateUIEvent& event); + void OnUpdateRowLines(wxUpdateUIEvent& event); wxImageList *m_imageListNormal; wxImageList *m_imageListSmall; @@ -147,7 +182,11 @@ private: bool m_smallVirtual; - DECLARE_NO_COPY_CLASS(MyFrame) + // number of items to initialize list/report view with + int m_numListItems; + + + wxDECLARE_NO_COPY_CLASS(MyFrame); DECLARE_EVENT_TABLE() }; @@ -166,6 +205,7 @@ enum LIST_REPORT_VIEW, LIST_VIRTUAL_VIEW, LIST_SMALL_VIRTUAL_VIEW, + LIST_SET_ITEMS_COUNT, LIST_DESELECT_ALL, LIST_SELECT_ALL, @@ -174,17 +214,29 @@ enum LIST_ADD, LIST_EDIT, LIST_SORT, + LIST_FIND, LIST_SET_FG_COL, LIST_SET_BG_COL, + LIST_ROW_LINES, LIST_TOGGLE_MULTI_SEL, + LIST_TOGGLE_HEADER, + LIST_TOGGLE_BELL, LIST_TOGGLE_FIRST, LIST_SHOW_COL_INFO, LIST_SHOW_SEL_INFO, + LIST_SHOW_VIEW_RECT, +#ifdef wxHAS_LISTCTRL_COLUMN_ORDER + LIST_SET_COL_ORDER, + LIST_GET_COL_ORDER, +#endif // wxHAS_LISTCTRL_COLUMN_ORDER + LIST_GOTO, LIST_FOCUS_LAST, LIST_FREEZE, LIST_THAW, LIST_TOGGLE_LINES, +#ifdef __WXOSX__ + LIST_MAC_USE_GENERIC, +#endif LIST_CTRL = 1000 }; -