X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0401bea7830839decc8d8660896a0dfb23e8d51..283c84c22499e75468fd11a1a877255cb143740b:/samples/listctrl/listtest.h diff --git a/samples/listctrl/listtest.h b/samples/listctrl/listtest.h index 90359d0030..2b5fefb324 100644 --- a/samples/listctrl/listtest.h +++ b/samples/listctrl/listtest.h @@ -9,6 +9,14 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// +// 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__) || defined(__WXMGL__) + #define USE_CONTEXT_MENU 0 +#else + #define USE_CONTEXT_MENU 1 +#endif + // Define a new application type class MyApp: public wxApp { @@ -32,6 +40,11 @@ public: : wxListCtrl(parent, id, pos, size, style), m_attr(*wxBLUE, *wxLIGHT_GREY, wxNullFont) { + m_updated = -1; + +#ifdef __POCKETPC__ + EnableContextMenu(); +#endif } // add one item to the listctrl in report mode @@ -48,10 +61,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,18 +70,29 @@ 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); void LogColEvent(const wxListEvent& event, const wxChar *eventName); virtual wxString OnGetItemText(long item, long column) const; - virtual int OnGetItemImage(long item) const; + 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) DECLARE_EVENT_TABLE() }; @@ -81,7 +101,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 +120,7 @@ protected: void OnVirtualView(wxCommandEvent& event); void OnSmallVirtualView(wxCommandEvent& event); + void OnGoTo(wxCommandEvent& event); void OnFocusLast(wxCommandEvent& event); void OnToggleFirstSel(wxCommandEvent& event); void OnDeselectAll(wxCommandEvent& event); @@ -114,9 +135,11 @@ protected: void OnToggleMultiSel(wxCommandEvent& event); void OnShowColInfo(wxCommandEvent& event); void OnShowSelInfo(wxCommandEvent& event); + void OnShowViewRect(wxCommandEvent& event); void OnFreeze(wxCommandEvent& event); void OnThaw(wxCommandEvent& event); void OnToggleLines(wxCommandEvent& event); + void OnToggleMacUseGeneric(wxCommandEvent& event); void OnUpdateShowColInfo(wxUpdateUIEvent& event); void OnUpdateToggleMultiSel(wxUpdateUIEvent& event); @@ -180,11 +203,13 @@ enum LIST_TOGGLE_FIRST, LIST_SHOW_COL_INFO, LIST_SHOW_SEL_INFO, + LIST_SHOW_VIEW_RECT, + LIST_GOTO, LIST_FOCUS_LAST, LIST_FREEZE, LIST_THAW, LIST_TOGGLE_LINES, + LIST_MAC_USE_GENERIC, LIST_CTRL = 1000 }; -