You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira UETOOL-3555 #preflight 61143dbf9c7bb10001f080b3 #rb Matt.Kuhlenschmidt [CL 17152278 by Lauren Barnes in ue5-main branch]
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Framework/Docking/LayoutExtender.h"
|
|
|
|
void FLayoutExtender::ExtendLayout(FTabId PredicateTabId, ELayoutExtensionPosition Position, FTabManager::FTab TabToAdd)
|
|
{
|
|
TabExtensions.Add(PredicateTabId, FExtendedTab(Position, TabToAdd));
|
|
}
|
|
|
|
void FLayoutExtender::ExtendArea(FName ExtensionId, const FAreaExtension& AreaExtension)
|
|
{
|
|
AreaExtensions.Add(ExtensionId, FExtendedArea(AreaExtension));
|
|
}
|
|
|
|
SLATE_API void FLayoutExtender::ExtendStack(FName ExtensionId, ELayoutExtensionPosition Position, FTabManager::FTab TabToAdd)
|
|
{
|
|
StackExtensions.Add(ExtensionId, FExtendedTab(Position, TabToAdd));
|
|
}
|
|
|
|
void FLayoutExtender::ExtendAreaRecursive(const TSharedRef<FTabManager::FArea>& Area) const
|
|
{
|
|
FName ExtensionId = Area->GetExtensionId();
|
|
if (ExtensionId == NAME_None)
|
|
{
|
|
return;
|
|
}
|
|
|
|
for (auto It = AreaExtensions.CreateConstKeyIterator(ExtensionId); It; ++It)
|
|
{
|
|
It.Value().ExtensionCallback(Area);
|
|
}
|
|
|
|
for (TSharedRef<FTabManager::FLayoutNode>& ChildNode : Area->ChildNodes)
|
|
{
|
|
TSharedPtr<FTabManager::FArea> ChildArea = ChildNode->AsArea();
|
|
if (ChildArea)
|
|
{
|
|
ExtendAreaRecursive(ChildArea.ToSharedRef());
|
|
}
|
|
}
|
|
} |