]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.h
fixed bug in generation of thumb scroll events
[wxWidgets.git] / samples / listctrl / listtest.h
index 95563e366a6b62c7d157b0754a8a3a7a0bda47a3..a79ca7c580ad9196937a38126ef7c95d24b4b525 100644 (file)
@@ -19,13 +19,24 @@ public:
 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(*wxBLUE, *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);
@@ -38,14 +49,21 @@ public:
     void OnDeselected(wxListEvent& event);
     void OnListKeyDown(wxListEvent& event);
     void OnActivated(wxListEvent& event);
+    void OnFocused(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()
 };
@@ -73,6 +91,7 @@ public:
     void OnSmallIconTextView(wxCommandEvent& event);
     void OnVirtualView(wxCommandEvent& event);
 
+    void OnFocusLast(wxCommandEvent& event);
     void OnToggleFirstSel(wxCommandEvent& event);
     void OnDeselectAll(wxCommandEvent& event);
     void OnSelectAll(wxCommandEvent& event);
@@ -84,6 +103,9 @@ public:
     void OnSetBgColour(wxCommandEvent& event);
     void OnToggleMultiSel(wxCommandEvent& event);
     void OnShowColInfo(wxCommandEvent& event);
+    void OnShowSelInfo(wxCommandEvent& event);
+    void OnFreeze(wxCommandEvent& event);
+    void OnThaw(wxCommandEvent& event);
 
     void OnUpdateShowColInfo(wxUpdateUIEvent& event);
 
@@ -91,6 +113,15 @@ public:
     wxImageList *m_imageListSmall;
 
 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()
@@ -122,6 +153,10 @@ enum
     LIST_TOGGLE_MULTI_SEL,
     LIST_TOGGLE_FIRST,
     LIST_SHOW_COL_INFO,
+    LIST_SHOW_SEL_INFO,
+    LIST_FOCUS_LAST,
+    LIST_FREEZE,
+    LIST_THAW,
 
     LIST_CTRL                   = 1000
 };