X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bdc72a22686ac141e9bc4559a1171d017fdcb094..138be2534644631ea5118e24782b23ab4ee37060:/include/wx/msw/listctrl.h diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index 3fb236e0c2..288c85b676 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -13,12 +13,17 @@ #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: @@ -110,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 @@ -227,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 //////////////////////////////////////////////////////////////////////////// @@ -326,28 +332,45 @@ 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 // wxUSE_LISTCTRL + #endif // _WX_LISTCTRL_H_