]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/listctrl.h
Added mouse wheel support for MSW. It generates a wxMouseEvent with a
[wxWidgets.git] / include / wx / msw / listctrl.h
index 106c8572489c94dc2c13e3e461fa9944b99009fe..d9189c5eab69e5f66bc3349a5c38ba2b6b9f1e45 100644 (file)
 
 #include "wx/control.h"
 #include "wx/event.h"
-#include "wx/imaglist.h"
 #include "wx/hash.h"
 
+class WXDLLEXPORT wxTextCtrl;
+class WXDLLEXPORT wxImageList;
+
 /*
     The wxListCtrl can show lists of items in four different modes:
     wxLC_LIST:   multicolumn list view, with optional small icons (icons could be
@@ -111,8 +113,8 @@ public:
     // Attributes
     ////////////////////////////////////////////////////////////////////////////
 
-    // Sets the background colour (GetBackgroundColour already implicit in
-    // wxWindow class)
+    // Set the control colours
+    bool SetForegroundColour(const wxColour& col);
     bool SetBackgroundColour(const wxColour& col);
 
     // Gets information about this column
@@ -228,6 +230,7 @@ public:
     // So you have to set a NULL small-icon image list to be sure that
     // the wxLC_LIST mode works without icons. Of course, you may want icons...
     void SetImageList(wxImageList *imageList, int which) ;
+    void AssignImageList(wxImageList *imageList, int which) ;
 
     // Operations
     ////////////////////////////////////////////////////////////////////////////
@@ -327,17 +330,25 @@ public:
     // still exist across 3 callbacks.
     wxChar *AddPool(const wxString& str);
 
+    // Event handlers
+    ////////////////////////////////////////////////////////////////////////////
+    // Necessary for drawing hrules and vrules, if specified
+    void OnPaint(wxPaintEvent& event);
+
 protected:
     // common part of all ctors
     void Init();
 
-    // free memory taken by all attributes
-    void FreeAllAttrs();
+    // free memory taken by all attributes and recreate the hash table
+    void FreeAllAttrs(bool dontRecreate = FALSE);
 
     wxTextCtrl*       m_textCtrl;        // The control used for editing a label
     wxImageList *     m_imageListNormal; // The image list for normal icons
     wxImageList *     m_imageListSmall;  // The image list for small icons
     wxImageList *     m_imageListState;  // The image list state icons (not implemented yet)
+    bool              m_ownsImageListNormal,
+                      m_ownsImageListSmall,
+                      m_ownsImageListState;
 
     long              m_baseStyle;  // Basic Windows style flags, for recreation purposes
     wxStringList      m_stringPool; // Pool of 3 strings to satisfy Windows callback requirements
@@ -354,6 +365,7 @@ private:
     bool DoCreateControl(int x, int y, int w, int h);
 
     DECLARE_DYNAMIC_CLASS(wxListCtrl)
+    DECLARE_EVENT_TABLE()
 };
 
 #endif