void TreeDlg::OnTreeExpand() { GetDlgItems(); HTREEITEM hFirstVisible = mpTreeCtrl->GetFirstVisibleItem(); RecursiveExpand(mpTreeCtrl->GetSelectedItem()); if (hFirstVisible) mpTreeCtrl->SelectSetFirstVisible(hFirstVisible); }
void SHierarchyView::RestoreExpandedItems() { for ( TSharedPtr<FHierarchyModel>& Model : RootWidgets ) { RecursiveExpand(Model); } }
void TreeDlg::RecursiveExpand(HTREEITEM hItem) { GetDlgItems(); mpTreeCtrl->Expand(hItem, TVE_EXPAND); if (mpTreeCtrl->ItemHasChildren(hItem)) { HTREEITEM hChild = mpTreeCtrl->GetChildItem(hItem); while (hChild != NULL) { RecursiveExpand(hChild); hChild = mpTreeCtrl->GetNextSiblingItem(hChild); } } }
void SHierarchyView::RecursiveExpand(TSharedPtr<FHierarchyModel>& Model) { if ( Model->IsExpanded() ) { WidgetTreeView->SetItemExpansion(Model, true); TArray< TSharedPtr<FHierarchyModel> > Children; Model->GatherChildren(Children); for ( TSharedPtr<FHierarchyModel>& ChildModel : Children ) { RecursiveExpand(ChildModel); } } }