X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bdc72a22686ac141e9bc4559a1171d017fdcb094..bfb9ee966d5d1f29e49f38e340812ade4b3cc956:/include/wx/msw/listctrl.h diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index 3fb236e0c2..d9189c5eab 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -18,7 +18,10 @@ #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 @@ -227,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 //////////////////////////////////////////////////////////////////////////// @@ -326,27 +330,42 @@ 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 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