UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LayoutExtender.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
8#include "UObject/NameTypes.h"
10
12
15{
17 Before,
19 After,
21 Above,
23 Below,
24};
25
27class FLayoutExtender : public TSharedFromThis<FLayoutExtender>
28{
29public:
30
39
40
47 SLATE_API void ExtendArea(FName ExtensionId, const FAreaExtension& AreaExtension);
48
58
59
67 template<typename AllocatorType>
69 {
70 OutValues.Reset();
71
73 TabExtensions.MultiFind(TabId, Extensions, true);
74
75 for (FExtendedTab& Extension : Extensions)
76 {
77 if (Extension.Position == Position)
78 {
79 OutValues.Add(Extension.TabToAdd);
80 }
81 }
82 }
83
91 template<typename AllocatorType>
93 {
94 OutValues.Reset();
95
97 StackExtensions.MultiFind(ExtensionID, Extensions, true);
98
99 for (FExtendedTab& Extension : Extensions)
100 {
101 if (Extension.Position == Position)
102 {
103 OutValues.Add(Extension.TabToAdd);
104 }
105 }
106 }
107
112
113private:
114
116 struct FExtendedTab
117 {
119 : Position(InPosition), TabToAdd(InTabToAdd)
120 {}
121
125 FTabManager::FTab TabToAdd;
126 };
127
129 struct FExtendedArea
130 {
131 FExtendedArea(const FAreaExtension& InExtensionCallback)
132 : ExtensionCallback(InExtensionCallback)
133 {}
134
136 FAreaExtension ExtensionCallback;
137 };
138
141
143 TMultiMap<FName, FExtendedTab> StackExtensions;
144
146 TMultiMap<FName, FExtendedArea> AreaExtensions;
147};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELayoutExtensionPosition
Definition LayoutExtender.h:15
TFunction< void(TSharedRef< FTabManager::FArea >)> FAreaExtension
Definition LayoutExtender.h:11
Definition LayoutExtender.h:28
void FindStackExtensions(FName ExtensionID, ELayoutExtensionPosition Position, TArray< FTabManager::FTab, AllocatorType > &OutValues) const
Definition LayoutExtender.h:92
SLATE_API void ExtendArea(FName ExtensionId, const FAreaExtension &AreaExtension)
Definition LayoutExtender.cpp:10
SLATE_API void ExtendLayout(FTabId PredicateTabId, ELayoutExtensionPosition Position, FTabManager::FTab TabToAdd)
Definition LayoutExtender.cpp:5
void ExtendAreaRecursive(const TSharedRef< FTabManager::FArea > &Area) const
Definition LayoutExtender.cpp:20
SLATE_API void ExtendStack(FName ExtensionId, ELayoutExtensionPosition Position, FTabManager::FTab TabToAdd)
Definition LayoutExtender.cpp:15
void FindTabExtensions(FTabId TabId, ELayoutExtensionPosition Position, TArray< FTabManager::FTab, AllocatorType > &OutValues) const
Definition LayoutExtender.h:68
Definition NameTypes.h:617
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
Position
Definition MultiBoxExtender.h:27
Definition TabManager.h:73
Definition TabManager.h:468