X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/484523cf522b02385cd47c432d50d117940b46b9..fda7962d029672a5f4c718a3c6b2559856f4cd95:/include/wx/msw/treectrl.h?ds=sidebyside diff --git a/include/wx/msw/treectrl.h b/include/wx/msw/treectrl.h index 78c77e0714..2d2e4ff563 100644 --- a/include/wx/msw/treectrl.h +++ b/include/wx/msw/treectrl.h @@ -5,8 +5,8 @@ // Modified by: Vadim Zeitlin to be less MSW-specific on 10/10/98 // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_TREECTRL_H_ @@ -20,6 +20,8 @@ #pragma interface "treectrl.h" #endif +#if wxUSE_TREECTRL + #include "wx/textctrl.h" #include "wx/dynarray.h" #include "wx/treebase.h" @@ -74,7 +76,7 @@ public: const wxSize& size = wxDefaultSize, long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, const wxValidator& validator = wxDefaultValidator, - const wxString& name = "wxTreeCtrl") + const wxString& name = wxTreeCtrlNameStr) { Create(parent, id, pos, size, style, validator, name); } @@ -86,7 +88,7 @@ public: const wxSize& size = wxDefaultSize, long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, const wxValidator& validator = wxDefaultValidator, - const wxString& name = "wxTreeCtrl"); + const wxString& name = wxTreeCtrlNameStr); // accessors // --------- @@ -120,6 +122,8 @@ public: void SetImageList(wxImageList *imageList); void SetStateImageList(wxImageList *imageList); + void AssignImageList(wxImageList *imageList); + void AssignStateImageList(wxImageList *imageList); // Functions to work with tree ctrl items. Unfortunately, they can _not_ be // member functions of wxTreeItem because they must know the tree the item @@ -137,6 +141,15 @@ public: // get the data associated with the item wxTreeItemData *GetItemData(const wxTreeItemId& item) const; + // get the item's text colour + wxColour GetItemTextColour(const wxTreeItemId& item) const; + + // get the item's background colour + wxColour GetItemBackgroundColour(const wxTreeItemId& item) const; + + // get the item's font + wxFont GetItemFont(const wxTreeItemId& item) const; + // modifiers // --------- @@ -209,7 +222,16 @@ public: size_t GetSelections(wxArrayTreeItemIds& selections) const; // get the parent of this item (may return NULL if root) - wxTreeItemId GetParent(const wxTreeItemId& item) const; + wxTreeItemId GetItemParent(const wxTreeItemId& item) const; + +#if WXWIN_COMPATIBILITY_2_2 + // deprecated: Use GetItemParent instead. + wxTreeItemId GetParent(const wxTreeItemId& item) const + { return GetItemParent( item ); } + + // Expose the base class method hidden by the one above. + wxWindow *GetParent() const { return wxControl::GetParent(); } +#endif // WXWIN_COMPATIBILITY_2_2 // for this enumeration function you must pass in a "cookie" parameter // which is opaque for the application but is necessary for the library @@ -396,9 +418,13 @@ protected: // SetImageList helper void SetAnyImageList(wxImageList *imageList, int which); + // refresh a single item + void RefreshItem(const wxTreeItemId& item); + wxTextCtrl *m_textCtrl; // used while editing the item label wxImageList *m_imageListNormal, // images for tree elements *m_imageListState; // special images for app defined states + bool m_ownsImageListNormal, m_ownsImageListState; private: // the common part of all ctors @@ -425,14 +451,13 @@ private: void DeleteTextCtrl(); - // support for additional item images - friend class wxTreeItemIndirectData; + // support for additional item images which we implement using + // wxTreeItemIndirectData technique - see the comments in msw/treectrl.cpp void SetIndirectItemData(const wxTreeItemId& item, - wxTreeItemIndirectData *data); + class wxTreeItemIndirectData *data); bool HasIndirectData(const wxTreeItemId& item) const; - - // the array storing all item ids which have indirect data - wxArrayTreeItemIds m_itemsWithIndirectData; + bool IsDataIndirect(wxTreeItemData *data) const + { return data && data->GetId().m_pItem == 0; } // the hash storing the items attributes (indexed by items ids) wxHashTable m_attrs; @@ -443,11 +468,20 @@ private: // used for dragging wxDragImage *m_dragImage; + // Virtual root item, if wxTR_HIDE_ROOT is set. + void* m_pVirtualRoot; + // the starting item for selection with Shift WXHTREEITEM m_htSelStart; + friend class wxTreeItemIndirectData; + friend class wxTreeSortHelper; + DECLARE_DYNAMIC_CLASS(wxTreeCtrl) + DECLARE_NO_COPY_CLASS(wxTreeCtrl) }; +#endif // wxUSE_TREECTRL + #endif // _WX_TREECTRL_H_