X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/98ec9dbebc5584ba1b903d314b25e8c562891483..42bf837cea417f83f478709be322eb713e6e2ec8:/include/wx/msw/listctrl.h diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index e11e89c670..eaf82c0cd6 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -21,8 +21,9 @@ #include "wx/control.h" #include "wx/event.h" #include "wx/hash.h" +#include "wx/textctrl.h" + -class WXDLLEXPORT wxTextCtrl; class WXDLLEXPORT wxImageList; /* @@ -190,6 +191,14 @@ public: // view, otherwise the large icon view. int GetItemSpacing(bool isSmall) const; + // Foreground colour of an item. + void SetItemTextColour( long item, const wxColour& col); + wxColour GetItemTextColour( long item ) const; + + // Background colour of an item. + void SetItemBackgroundColour( long item, const wxColour &col); + wxColour GetItemBackgroundColour( long item ) const; + // Gets the number of selected items in the list control int GetSelectedItemCount() const; @@ -231,6 +240,10 @@ public: // returns true if it is a virtual list control bool IsVirtual() const { return (GetWindowStyle() & wxLC_VIRTUAL) != 0; } + // refresh items selectively (only useful for virtual list controls) + void RefreshItem(long item); + void RefreshItems(long itemFrom, long itemTo); + // Operations //////////////////////////////////////////////////////////////////////////// @@ -343,8 +356,8 @@ protected: // common part of all ctors void Init(); - // free memory taken by all attributes and recreate the hash table - void FreeAllAttrs(bool dontRecreate = FALSE); + // free memory taken by all internal data + void FreeAllInternalData(); wxTextCtrl* m_textCtrl; // The control used for editing a label wxImageList * m_imageListNormal; // The image list for normal icons @@ -357,9 +370,12 @@ protected: long m_baseStyle; // Basic Windows style flags, for recreation purposes int m_colCount; // Windows doesn't have GetColumnCount so must // keep track of inserted/deleted columns + long m_count; // Keep track of item count to save calls to + // ListView_GetItemCount + bool m_ignoreChangeMessages; - // the hash table we use for storing pointers to the items attributes - wxHashTable m_attrs; + // TRUE if we have any internal data (user data & attributes) + bool m_AnyInternalData; // TRUE if we have any items with custom attributes bool m_hasAnyAttr; @@ -373,14 +389,21 @@ protected: // return the icon for the given item virtual int OnGetItemImage(long item) const; + // return the attribute for the item (may return NULL if none) + virtual wxListItemAttr *OnGetItemAttr(long item) const; + private: bool DoCreateControl(int x, int y, int w, int h); + // process NM_CUSTOMDRAW notification message + WXLPARAM OnCustomDraw(WXLPARAM lParam); + DECLARE_DYNAMIC_CLASS(wxListCtrl) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxListCtrl) }; #endif // wxUSE_LISTCTRL -#endif - // _WX_LISTCTRL_H_ +#endif // _WX_LISTCTRL_H_ +