]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.h
use wxDC::GetMultiLineTextExtent() instead of duplicating its code in wxButton::DoGet...
[wxWidgets.git] / samples / listctrl / listtest.h
index a887cdb29e15b4189def0984f7e93dd5ccd8bf41..5cd5dabe864adb4fa785ac8cbf0a2a1d1dd750d6 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
+// Copyright:   (c) Julian Smart
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 class MyApp: public wxApp
 {
 public:
+    MyApp() { }
+
     virtual bool OnInit();
+
+private:
+    DECLARE_NO_COPY_CLASS(MyApp)
 };
 
 class MyListCtrl: public wxListCtrl
@@ -43,8 +48,10 @@ 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);
@@ -58,6 +65,7 @@ private:
     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;
@@ -65,6 +73,7 @@ private:
 
     wxListItemAttr m_attr;
 
+    DECLARE_NO_COPY_CLASS(MyListCtrl)
     DECLARE_EVENT_TABLE()
 };
 
@@ -72,13 +81,12 @@ private:
 class MyFrame: public wxFrame
 {
 public:
-    MyListCtrl *m_listCtrl;
-    wxTextCtrl *m_logWindow;
-
     MyFrame(const wxChar *title, int x, int y, int w, int h);
-    ~MyFrame();
+    virtual ~MyFrame();
 
-public:
+    void DoSize();
+
+protected:
     void OnSize(wxSizeEvent& event);
 
     void OnQuit(wxCommandEvent& event);
@@ -107,24 +115,36 @@ public:
     void OnShowSelInfo(wxCommandEvent& event);
     void OnFreeze(wxCommandEvent& event);
     void OnThaw(wxCommandEvent& event);
+    void OnToggleLines(wxCommandEvent& event);
 
     void OnUpdateShowColInfo(wxUpdateUIEvent& event);
+    void OnUpdateToggleMultiSel(wxUpdateUIEvent& event);
 
     wxImageList *m_imageListNormal;
     wxImageList *m_imageListSmall;
 
+    wxPanel *m_panel;
+    MyListCtrl *m_listCtrl;
+    wxTextCtrl *m_logWindow;
+
 private:
     // recreate the list control with the new flags
-    void RecreateList(long flags, bool withText = TRUE);
+    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 InitWithIconItems(bool withText, bool sameIcon = false);
     void InitWithVirtualItems();
 
+    // return true if the control is not in virtual view, give an error message
+    // and return false if it is
+    bool CheckNonVirtual() const;
+
+
     wxLog *m_logOld;
 
+    DECLARE_NO_COPY_CLASS(MyFrame)
     DECLARE_EVENT_TABLE()
 };
 
@@ -159,6 +179,7 @@ enum
     LIST_FOCUS_LAST,
     LIST_FREEZE,
     LIST_THAW,
+    LIST_TOGGLE_LINES,
 
     LIST_CTRL                   = 1000
 };