X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5541d1fda4b73af86e42b2f43724f0c063a352d0..4a6619bb4c8d90e7acfaf5291e326aa26897caa4:/include/wx/msw/listctrl.h diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index 47c58d65fe..640eba3e90 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -12,7 +12,7 @@ #ifndef _WX_LISTCTRL_H_ #define _WX_LISTCTRL_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "listctrl.h" #endif @@ -138,6 +138,9 @@ public: // or small icon view) int GetCountPerPage() const; + // return the total area occupied by all the items (icon/small icon only) + wxRect GetViewRect() const; + // Gets the edit control for editing labels. wxTextCtrl* GetEditControl() const; @@ -186,10 +189,16 @@ public: // Gets the number of columns in the list control int GetColumnCount() const { return m_colCount; } - // Retrieves the spacing between icons in pixels. - // If small is TRUE, gets the spacing for the small icon - // view, otherwise the large icon view. - int GetItemSpacing(bool isSmall) const; + // get the horizontal and vertical components of the item spacing + wxSize GetItemSpacing() 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; @@ -344,12 +353,17 @@ public: // Necessary for drawing hrules and vrules, if specified void OnPaint(wxPaintEvent& event); + virtual bool ShouldInheritColours() const { return false; } + + // obsolete stuff, for compatibility only -- don't use + wxDEPRECATED( int GetItemSpacing(bool isSmall) const); + 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 @@ -362,9 +376,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; @@ -389,9 +406,10 @@ private: DECLARE_DYNAMIC_CLASS(wxListCtrl) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxListCtrl) }; #endif // wxUSE_LISTCTRL -#endif - // _WX_LISTCTRL_H_ +#endif // _WX_LISTCTRL_H_ +