//------------------------------------------------------------------------------ FString FGraphActionNode::GetCategoryPath() const { FString CategoryPath; if (IsCategoryNode()) { CategoryPath = DisplayText.ToString(); } TWeakPtr<FGraphActionNode> AncestorNode = ParentNode; while (AncestorNode.IsValid()) { const FText& DisplayText = AncestorNode.Pin()->DisplayText; if( !DisplayText.IsEmpty() ) { CategoryPath = DisplayText.ToString() + TEXT("|") + CategoryPath; } AncestorNode = AncestorNode.Pin()->GetParentNode(); } return CategoryPath; }
//------------------------------------------------------------------------------ FText FGraphActionNode::GetCategoryPath() const { FText CategoryPath; if (IsCategoryNode()) { CategoryPath = DisplayText; } TWeakPtr<FGraphActionNode> AncestorNode = ParentNode; while (AncestorNode.IsValid()) { const FText& AncestorDisplayText = AncestorNode.Pin()->DisplayText; if( !AncestorDisplayText.IsEmpty() ) { CategoryPath = FText::Format(FText::FromString(TEXT("{0}|{1}")), AncestorDisplayText, CategoryPath); } AncestorNode = AncestorNode.Pin()->GetParentNode(); } return CategoryPath; }
//------------------------------------------------------------------------------ bool FGraphActionNode::IsGroupDividerNode() const { return (!IsActionNode() && !IsCategoryNode() && !IsRootNode() && (SectionID == INVALID_SECTION_ID)); }
//------------------------------------------------------------------------------ bool FGraphActionNode::IsSectionHeadingNode() const { return (!IsActionNode() && !IsCategoryNode() && !IsRootNode() && (SectionID != INVALID_SECTION_ID)); }
//------------------------------------------------------------------------------ bool FGraphActionNode::IsRootNode() const { return (!IsActionNode() && !IsCategoryNode() && !ParentNode.IsValid()); }