UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SLinkedBox.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/Attribute.h"
7#include "Layout/Visibility.h"
8#include "SlotBase.h"
9#include "Containers/Ticker.h"
10#include "Layout/Margin.h"
11#include "Layout/Children.h"
13#include "Widgets/SPanel.h"
14#include "Types/SlateEnums.h"
15#include "Widgets/Layout/SBox.h"
16
17
19
20class SLinkedBox;
21
27class FLinkedBoxManager : public TSharedFromThis<FLinkedBoxManager>
28{
29
30public:
31
34
35 /* Add an SLinkedBox */
37
38 /* Remove an SLinkedBox */
40
41 /* Used by the individual SLinkedBoxes to acquire the computed uniform size */
43
44protected:
45
48
49private:
50
51 TSet< SLinkedBox* > Siblings;
52
53};
54
56class SLinkedBox: public SBox
57{
58
59public:
60
75
78
79
81
82
84
85
86 SLATE_DEFAULT_SLOT(FArguments, Content)
87
88
89 SLATE_ATTRIBUTE(FOptionalSize, WidthOverride)
90
91
92 SLATE_ATTRIBUTE(FOptionalSize, HeightOverride)
93
94
95 SLATE_ATTRIBUTE(FOptionalSize, MinDesiredWidth)
96
97
98 SLATE_ATTRIBUTE(FOptionalSize, MinDesiredHeight)
99
100
101 SLATE_ATTRIBUTE(FOptionalSize, MaxDesiredWidth)
102
103
104 SLATE_ATTRIBUTE(FOptionalSize, MaxDesiredHeight)
105
106 SLATE_ATTRIBUTE(FOptionalSize, MinAspectRatio)
107
108 SLATE_ATTRIBUTE(FOptionalSize, MaxAspectRatio)
109
111
113
115
120 SLATE_API void Construct( const FArguments& InArgs, TSharedRef<FLinkedBoxManager> InManager );
121
124
126
133 SLATE_API virtual bool CustomPrepass(float LayoutScaleMultiplier) override;
134
136
138
139private:
140
142
143};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_DEFAULT_SLOT(DeclarationType, SlotName)
Definition DeclarativeSyntaxSupport.h:444
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
EHorizontalAlignment
Definition SlateEnums.h:174
EVerticalAlignment
Definition SlateEnums.h:194
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ArrangedChildren.h:15
Definition SLinkedBox.h:28
SLATE_API ~FLinkedBoxManager()
Definition SLinkedBox.cpp:17
SLATE_API void UnregisterLinkedBox(SLinkedBox *InBox)
Definition SLinkedBox.cpp:26
SLATE_API void RegisterLinkedBox(SLinkedBox *InBox)
Definition SLinkedBox.cpp:21
SLATE_API FVector2D GetUniformCellSize() const
Definition SLinkedBox.cpp:31
uint32 SlateApplicationDrawIdLastCached
Definition SLinkedBox.h:46
FVector2D CachedUniformSize
Definition SLinkedBox.h:47
SLATE_API FLinkedBoxManager()
Definition SLinkedBox.cpp:12
Definition SBox.h:29
Definition SLinkedBox.h:57
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SLinkedBox.cpp:113
SLATE_API void CustomChildPrepass()
Definition SLinkedBox.cpp:93
SLATE_API FVector2D GetChildrensDesiredSize() const
Definition SLinkedBox.cpp:103
SLATE_BEGIN_ARGS(SLinkedBox)
Definition SLinkedBox.h:61
virtual SLATE_API bool CustomPrepass(float LayoutScaleMultiplier) override
Definition SLinkedBox.cpp:98
void Construct()
Definition SPanel.h:65
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
static SLATECORE_API const EVisibility SelfHitTestInvisible
Definition Visibility.h:26
Definition Margin.h:17
Definition SlateStructs.h:13