]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.h
made all XPM const to avoid warnings from mingw32 4.0 and adopt the code accordingly...
[wxWidgets.git] / samples / listctrl / listtest.h
index 90359d0030e4f7cde2f36eae766f4b3ab118ea94..2126c4b4b7b0252e86d1f6af855b24fbfcb47e20 100644 (file)
@@ -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();
@@ -117,6 +137,7 @@ protected:
     void OnFreeze(wxCommandEvent& event);
     void OnThaw(wxCommandEvent& event);
     void OnToggleLines(wxCommandEvent& event);
+    void OnToggleMacUseGeneric(wxCommandEvent& event);
 
     void OnUpdateShowColInfo(wxUpdateUIEvent& event);
     void OnUpdateToggleMultiSel(wxUpdateUIEvent& event);
@@ -184,7 +205,7 @@ enum
     LIST_FREEZE,
     LIST_THAW,
     LIST_TOGGLE_LINES,
+    LIST_MAC_USE_GENERIC,
 
     LIST_CTRL                   = 1000
 };
-