]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/listctrl.h
added wxTreeCtrl::AssignImageList
[wxWidgets.git] / include / wx / msw / listctrl.h
index 3fb236e0c27dc651269f5a3698517fd926e02845..91e526c88c649ad790dcc29c5eff736a6365af6a 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:
@@ -110,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
@@ -326,10 +329,18 @@ 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 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
@@ -340,13 +351,17 @@ protected:
     int               m_colCount;   // Windows doesn't have GetColumnCount so must
                                     // keep track of inserted/deleted columns
 
-    // TRUE fi we have any items with custom attributes
+    // the hash table we use for storing pointers to the items attributes
+    wxHashTable m_attrs;
+
+    // TRUE if we have any items with custom attributes
     bool m_hasAnyAttr;
 
 private:
     bool DoCreateControl(int x, int y, int w, int h);
 
     DECLARE_DYNAMIC_CLASS(wxListCtrl)
+    DECLARE_EVENT_TABLE()
 };
 
 #endif