void SDetailsViewBase::SetNodeExpansionState(TSharedRef<IDetailTreeNode> InTreeNode, bool bIsItemExpanded, bool bRecursive) { TArray< TSharedRef<IDetailTreeNode> > Children; InTreeNode->GetChildren(Children); if (Children.Num()) { RequestItemExpanded(InTreeNode, bIsItemExpanded); InTreeNode->OnItemExpansionChanged(bIsItemExpanded); if (bRecursive) { for (int32 ChildIndex = 0; ChildIndex < Children.Num(); ++ChildIndex) { TSharedRef<IDetailTreeNode> Child = Children[ChildIndex]; SetNodeExpansionState(Child, bIsItemExpanded, bRecursive); } } } }
void FSlateTextLayout::AggregateChildren() { Children.Empty(); const TArray< FLineModel >& LineModels = GetLineModels(); for (int32 LineModelIndex = 0; LineModelIndex < LineModels.Num(); LineModelIndex++) { const FLineModel& LineModel = LineModels[ LineModelIndex ]; for (int32 RunIndex = 0; RunIndex < LineModel.Runs.Num(); RunIndex++) { const FRunModel& LineRun = LineModel.Runs[ RunIndex ]; const TSharedRef< ISlateRun > SlateRun = StaticCastSharedRef< ISlateRun >( LineRun.GetRun() ); const TArray< TSharedRef<SWidget> >& RunChildren = SlateRun->GetChildren(); for (int32 ChildIndex = 0; ChildIndex < RunChildren.Num(); ChildIndex++) { const TSharedRef< SWidget >& Child = RunChildren[ ChildIndex ]; Children.Add( Child ); } } } }
void SDetailsViewBase::OnGetChildrenForDetailTree(TSharedRef<IDetailTreeNode> InTreeNode, TArray< TSharedRef<IDetailTreeNode> >& OutChildren) { InTreeNode->GetChildren(OutChildren); }