enum
{
TreeCtrlIcon_File,
- TreeCtrlIcon_Folder
+ TreeCtrlIcon_FileSelected,
+ TreeCtrlIcon_Folder,
+ TreeCtrlIcon_FolderSelected,
+ TreeCtrlIcon_FolderOpened
};
MyTreeCtrl() { }
void OnBeginDrag(wxTreeEvent& event);
void OnBeginRDrag(wxTreeEvent& event);
+ void OnEndDrag(wxTreeEvent& event);
void OnBeginLabelEdit(wxTreeEvent& event);
void OnEndLabelEdit(wxTreeEvent& event);
void OnDeleteItem(wxTreeEvent& event);
void AddTestItemsToTree(size_t numChildren, size_t depth);
void DoSortChildren(const wxTreeItemId& item, bool reverse = FALSE)
- { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); }
+ { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); }
void DoEnsureVisible() { EnsureVisible(m_lastItem); }
+ void DoToggleIcon(const wxTreeItemId& item);
+
protected:
virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);
+ // is this the test item which we use in several event handlers?
+ bool IsTestItem(const wxTreeItemId& item)
+ {
+ // the test item is the first child folder
+ return GetParent(item) == GetRootItem() && !GetPrevSibling(item);
+ }
+
private:
void AddItemsRecursively(const wxTreeItemId& idParent,
size_t nChildren,
size_t folder);
wxImageList *m_imageListNormal;
- bool m_reverseSort; // flag for OnCompareItems
- wxTreeItemId m_lastItem; // for OnEnsureVisible()
+ bool m_reverseSort; // flag for OnCompareItems
+ wxTreeItemId m_lastItem, // for OnEnsureVisible()
+ m_draggedItem; // item being dragged right now
// NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS()
// if you want your overloaded OnCompareItems() to be called.
void OnAbout(wxCommandEvent& event);
void OnDump(wxCommandEvent& event);
+#ifndef NO_MULTIPLE_SELECTION
+ void OnDumpSelected(wxCommandEvent& event);
+ void OnSelect(wxCommandEvent& event);
+ void OnUnselect(wxCommandEvent& event);
+ void OnToggleSel(wxCommandEvent& event);
+#endif // NO_MULTIPLE_SELECTION
void OnDelete(wxCommandEvent& event);
void OnDeleteChildren(wxCommandEvent& event);
void OnDeleteAll(wxCommandEvent& event);
void OnEnsureVisible(wxCommandEvent& event);
+ void OnCount(wxCommandEvent& event);
+ void OnCountRec(wxCommandEvent& event);
+
void OnRename(wxCommandEvent& event);
void OnSort(wxCommandEvent& event) { DoSort(); }
void OnSortRev(wxCommandEvent& event) { DoSort(TRUE); }
void OnAddItem(wxCommandEvent& event);
-
+ void OnInsertItem(wxCommandEvent& event);
+
void OnIncIndent(wxCommandEvent& event);
void OnDecIndent(wxCommandEvent& event);
void OnIncSpacing(wxCommandEvent& event);
void OnDecSpacing(wxCommandEvent& event);
+ void OnToggleIcon(wxCommandEvent& event);
+
+ void OnSize(wxSizeEvent& event);
+
private:
void DoSort(bool reverse = FALSE);
+ void Resize(const wxSize& size);
+
MyTreeCtrl *m_treeCtrl;
+ wxTextCtrl *m_textCtrl;
void DoSetBold(bool bold = TRUE);
TreeTest_Quit,
TreeTest_About,
TreeTest_Dump,
+ TreeTest_DumpSelected,
+ TreeTest_Count,
+ TreeTest_CountRec,
TreeTest_Sort,
TreeTest_SortRev,
TreeTest_Bold,
TreeTest_DeleteChildren,
TreeTest_DeleteAll,
TreeTest_Recreate,
+ TreeTest_ToggleSel,
TreeTest_CollapseAndReset,
TreeTest_EnsureVisible,
TreeTest_AddItem,
+ TreeTest_InsertItem,
TreeTest_IncIndent,
TreeTest_DecIndent,
TreeTest_IncSpacing,
TreeTest_DecSpacing,
- TreeTest_Ctrl = 100
+ TreeTest_ToggleIcon,
+ TreeTest_Select,
+ TreeTest_Unselect,
+ TreeTest_Ctrl = 1000
};