X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a32dd69091fec647103402959b39b2fd8118a27f..da468d387db3b7e22b008bf08be2ff6b202508fb:/include/wx/generic/treectrl.h diff --git a/include/wx/generic/treectrl.h b/include/wx/generic/treectrl.h index e6e3df723e..3ad6295af4 100644 --- a/include/wx/generic/treectrl.h +++ b/include/wx/generic/treectrl.h @@ -194,6 +194,8 @@ typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&); #define EVT_TREE_SET_INFO(id, fn) { wxEVT_COMMAND_TREE_SET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, #define EVT_TREE_ITEM_EXPANDED(id, fn) { wxEVT_COMMAND_TREE_ITEM_EXPANDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, #define EVT_TREE_ITEM_EXPANDING(id, fn) { wxEVT_COMMAND_TREE_ITEM_EXPANDING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, +#define EVT_TREE_ITEM_COLLAPSED(id, fn) { wxEVT_COMMAND_TREE_ITEM_COLLAPSED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, +#define EVT_TREE_ITEM_COLLAPSING(id, fn) { wxEVT_COMMAND_TREE_ITEM_COLLAPSING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, #define EVT_TREE_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TREE_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, #define EVT_TREE_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TREE_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, #define EVT_TREE_KEY_DOWN(id, fn) { wxEVT_COMMAND_TREE_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL }, @@ -272,8 +274,20 @@ public: long InsertItem( long parent, wxTreeItem &info, long insertAfter = wxTREE_INSERT_LAST ); void DeleteItem( long item ); + void DeleteChildren( long item ); bool DeleteAllItems(); + bool ExpandItem(long item) { return ExpandItem(item, wxTREE_EXPAND_EXPAND); } + bool CollapseItem(long item) { return ExpandItem(item, wxTREE_EXPAND_COLLAPSE); } + bool ToggleItem(long item) { return ExpandItem(item, wxTREE_EXPAND_TOGGLE); } bool ExpandItem( long item, int action ); + + // is the item expanded now? + bool IsItemExpanded(long item) + { + wxGenericTreeItem *pItem = FindItem(item); + return pItem && (pItem->GetState() & wxTREE_STATE_EXPANDED); + } + bool GetItem( wxTreeItem &info ) const; long GetItemData( long item ) const; wxString GetItemText( long item ) const; @@ -281,7 +295,7 @@ public: long GetParent( long item ) const; long GetRootItem() const; long GetSelection() const; - bool SelectItem( long item ) const; + bool SelectItem( long item ); bool ItemHasChildren( long item ) const; void SetIndent( int indent ); int GetIndent() const; @@ -299,10 +313,14 @@ public: void OnChar( wxKeyEvent &event ); void OnMouse( const wxMouseEvent &event ); - void SetImageList(wxImageList *imageList) { m_imageList = imageList; } - wxImageList *GetImageList() const { return m_imageList; } + wxImageList *GetImageList(int which = wxIMAGE_LIST_NORMAL) const; + void SetImageList(wxImageList *imageList, int which = wxIMAGE_LIST_NORMAL); private: + // set the selection to the specified item generating appropriate event(s) if + // not disabled + void SelectItem(wxGenericTreeItem *item, bool bDoEvents = TRUE); + wxGenericTreeItem *m_anchor; wxGenericTreeItem *m_current; bool m_hasFocus; @@ -315,6 +333,7 @@ private: wxPaintDC *m_dc; wxBrush *m_hilightBrush; wxImageList *m_imageList; + wxImageList *m_smallImageList; void CalculateLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y ); void CalculatePositions();