]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/listctrl.h
changed wxUSE_DRAGIMAG to wxUSE_DRAGIMAGE and use it everywhere now
[wxWidgets.git] / include / wx / msw / listctrl.h
index 47c81afaf461efd898e36c4e92da3d3379c44f23..288c85b676fd81e7ad98fcce59dc42477452c08f 100644 (file)
 #define _WX_LISTCTRL_H_
 
 #ifdef __GNUG__
-#pragma interface "listctrl.h"
+    #pragma interface "listctrl.h"
 #endif
 
+#if wxUSE_LISTCTRL
+
 #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 +115,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 +232,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,14 +332,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 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
@@ -351,7 +367,10 @@ private:
     bool DoCreateControl(int x, int y, int w, int h);
 
     DECLARE_DYNAMIC_CLASS(wxListCtrl)
+    DECLARE_EVENT_TABLE()
 };
 
+#endif // wxUSE_LISTCTRL
+
 #endif
     // _WX_LISTCTRL_H_