class WXDLLEXPORT wxDragImage;
struct WXDLLEXPORT wxTreeViewItem;
-// NB: all the following flags are for compatbility only and will be removed in the
-// next versions
-
-// flags for deprecated InsertItem() variant (their values are the same as of
-// TVI_FIRST and TVI_LAST)
-#define wxTREE_INSERT_FIRST 0xFFFF0001
-#define wxTREE_INSERT_LAST 0xFFFF0002
+#if WXWIN_COMPATIBILITY_2_6
+ // NB: all the following flags are for compatbility only and will be removed in the
+ // next versions
+ // flags for deprecated InsertItem() variant (their values are the same as of
+ // TVI_FIRST and TVI_LAST)
+ #define wxTREE_INSERT_FIRST 0xFFFF0001
+ #define wxTREE_INSERT_LAST 0xFFFF0002
+#endif
// hash storing attributes for our items
WX_DECLARE_EXPORTED_VOIDPTR_HASH_MAP(wxTreeItemAttr *, wxMapTreeAttr);
// implement base class pure virtuals
// ----------------------------------
- virtual size_t GetCount() const;
+ virtual unsigned int GetCount() const;
virtual unsigned int GetIndent() const;
virtual void SetIndent(unsigned int indent);
virtual wxTreeItemId AddRoot(const wxString& text,
int image = -1, int selectedImage = -1,
wxTreeItemData *data = NULL);
- virtual wxTreeItemId InsertItem(const wxTreeItemId& parent,
- const wxTreeItemId& idPrevious,
- const wxString& text,
- int image = -1, int selectedImage = -1,
- wxTreeItemData *data = NULL);
virtual void Delete(const wxTreeItemId& item);
virtual void DeleteChildren(const wxTreeItemId& item);
// use Expand, Collapse, CollapseAndReset or Toggle
wxDEPRECATED( void ExpandItem(const wxTreeItemId& item, int action) );
- // use AddRoot, PrependItem or AppendItem
- wxDEPRECATED( wxTreeItemId InsertItem(const wxTreeItemId& parent,
- const wxString& text,
- int image = -1, int selImage = -1,
- long insertAfter = wxTREE_INSERT_LAST) );
-
// use Set/GetImageList and Set/GetStateImageList
- wxDEPRECATED( wxImageList *GetImageList(int) const );
+ // Use base class GetImageList()
wxDEPRECATED( void SetImageList(wxImageList *imageList, int) );
- // use Set/GetItemImage directly
+ // use Set/GetItemImage directly
wxDEPRECATED( int GetItemSelectedImage(const wxTreeItemId& item) const );
wxDEPRECATED( void SetItemSelectedImage(const wxTreeItemId& item, int image) );
// end edit label
void DoEndEditLabel(bool discardChanges = false);
+ virtual wxTreeItemId DoInsertItem(const wxTreeItemId& parent,
+ size_t pos,
+ const wxString& text,
+ int image, int selectedImage,
+ wxTreeItemData *data);
+ virtual wxTreeItemId DoInsertAfter(const wxTreeItemId& parent,
+ const wxTreeItemId& idPrevious,
+ const wxString& text,
+ int image = -1, int selImage = -1,
+ wxTreeItemData *data = NULL);
+ virtual wxTreeItemId DoTreeHitTest(const wxPoint& point, int& flags);
+
+ // obtain the user data for the lParam member of TV_ITEM
+ class wxTreeItemParam *GetItemParam(const wxTreeItemId& item) const;
+
// data used only while editing the item label:
wxTextCtrl *m_textCtrl; // text control in which it is edited
wxTreeItemId m_idEdited; // the item being edited
- 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
void Init();
inline void DoExpand(const wxTreeItemId& item, int flag);
- virtual wxTreeItemId DoInsertItem(const wxTreeItemId& parent,
- size_t pos,
- const wxString& text,
- int image, int selectedImage,
- wxTreeItemData *data);
- virtual wxTreeItemId DoInsertAfter(const wxTreeItemId& parent,
- const wxTreeItemId& idPrevious,
- const wxString& text,
- int image = -1, int selImage = -1,
- wxTreeItemData *data = NULL);
- virtual wxTreeItemId DoHitTest(const wxPoint& point, int& flags);
-
- int DoGetItemImageFromData(const wxTreeItemId& item,
- wxTreeItemIcon which) const;
- void DoSetItemImageFromData(const wxTreeItemId& item,
- int image,
- wxTreeItemIcon which) const;
- void DoSetItemImages(const wxTreeItemId& item, int image, int imageSel);
-
void DeleteTextCtrl();
- // support for additional item images which we implement using
- // wxTreeItemIndirectData technique - see the comments in msw/treectrl.cpp
- void SetIndirectItemData(const wxTreeItemId& item,
- class wxTreeItemIndirectData *data);
- bool HasIndirectData(const wxTreeItemId& item) const;
- bool IsDataIndirect(wxTreeItemData *data) const
- { return data && data->GetId().m_pItem == 0; }
-
// the hash storing the items attributes (indexed by item ids)
wxMapTreeAttr m_attrs;