UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MultiBoxDefs.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"
10#include "MultiBoxDefs.generated.h"
11
12class SToolTip;
13class SWidget;
14
17{
18 enum class EWrapMode : uint8
19 {
20 Preferred = 0, // Wraps at the line length specified in PreferredSize
21 Parent = 1, // Wraps at the wrap box's resulting/actual size
22 };
23
29 {
30 Clip = 0, // Always Clip to the line height as it's been calculated so far, excluding this slots height from affecting the line height
31 ExpandProportional = 1, // Uses the desired height of the slot, maintaining the total area after clamping the width to the available space
32
33 Default = Clip,
34 };
35}
36
40UENUM(BlueprintType)
70
71
75UENUM(BlueprintType)
88
89
109
111{
113
119
120 FName GetCustomizationName() const { return CustomizationName; }
121
125
126private:
128 FName CustomizationName;
129};
130
135{
136 enum Type
137 {
139 None = -1,
140
142 Start,
143
145 Middle,
146
148 End,
149 };
150
152 static FName ToName(FName StyleName, Type InLocation)
153 {
154 switch(InLocation)
155 {
156 case Start:
157 return ISlateStyle::Join(StyleName, ".Start");
158 case Middle:
159 return ISlateStyle::Join(StyleName, ".Middle");
160 case End:
161 return ISlateStyle::Join(StyleName, ".End");
162 }
163 return StyleName;
164 }
165
176 static FMargin ToHorizontalMargin(EMultiBoxType InBoxType, Type InLocation, FMargin Margin)
177 {
179 {
180 // Vertical groups cut off the tops & bottoms
181 switch (InLocation)
182 {
183 case Start:
184 return FMargin(Margin.Left, Margin.Top, Margin.Right, 0.f);
185 case Middle:
186 return FMargin(Margin.Left, 0.f, Margin.Right, 0.f);
187 case End:
188 return FMargin(Margin.Left, 0.f, Margin.Right, Margin.Bottom);
189 }
190 return Margin;
191 }
192
193 // Horizontal groups cut off the left & right
194 switch (InLocation)
195 {
196 case Start:
197 return FMargin(Margin.Left, Margin.Top, 0.f, Margin.Bottom);
198 case Middle:
199 return FMargin(0.f, Margin.Top, 0.f, Margin.Bottom);
200 case End:
201 return FMargin(0.f, Margin.Top, Margin.Right, Margin.Bottom);
202 }
203 return Margin;
204 }
205}
206
265
267{
268 // Keep default values separate from the attributes. This allows the attributes to act like unset optionals by default.
269 static constexpr int32 DefaultClippingPriority = 0;
270 static constexpr bool DefaultAllowClipping = true;
271 static constexpr bool DefaultVisibleInOverflow = true;
272
276
280
283
285 {
286 // Keep default values separate from the attributes. This allows the attributes to act like unset optionals by default.
287 static constexpr bool DefaultAllowWrapping = true;
288 static constexpr int32 DefaultPriority = 0;
291 static constexpr bool DefaultForceNewLine = false;
292
295
298
301
304
307 } Wrapping;
308};
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
EMultiBlockType
Definition MultiBoxDefs.h:77
EMultiBoxType
Definition MultiBoxDefs.h:42
@ SlimHorizontalUniformToolBar
#define UENUM(...)
Definition ObjectMacros.h:749
EHorizontalAlignment
Definition SlateEnums.h:174
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition MultiBoxDefs.h:91
static SLATE_API TAttribute< bool > UseSmallToolBarIcons
Definition MultiBoxDefs.h:97
static SLATE_API TSharedRef< SToolTip > ConstructDefaultToolTip(const TAttribute< FText > &ToolTipText, const TSharedPtr< SWidget > &OverrideContent, const TSharedPtr< const FUICommandInfo > &Action, bool ShowActionShortcut=true)
Definition MultiBox.cpp:102
static SLATE_API void ResetToolTipConstructor()
Definition MultiBox.cpp:140
SLATE_API FMultiBoxSettings()
Definition MultiBox.cpp:97
static SLATE_API TAttribute< bool > DisplayMultiboxHooks
Definition MultiBoxDefs.h:98
static SLATE_API FConstructToolTip ToolTipConstructor
Definition MultiBoxDefs.h:99
DECLARE_DELEGATE_RetVal_FourParams(TSharedRef< SToolTip >, FConstructToolTip, const TAttribute< FText > &, const TSharedPtr< SWidget > &, const TSharedPtr< const FUICommandInfo > &, bool)
static SLATE_API TAttribute< int > MenuSearchFieldVisibilityThreshold
Definition MultiBoxDefs.h:101
Definition NameTypes.h:617
Definition UnrealType.h:3087
static FName Join(FName A, const ANSICHAR *B)
Definition ISlateStyle.h:182
Definition SToolTip.h:22
Definition SWidget.h:165
Definition Attribute.h:17
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition MultiBoxDefs.h:135
Definition SPrioritizedWrapBox.cpp:10
EVerticalOverflowBehavior
Definition MultiBoxDefs.h:29
EWrapMode
Definition MultiBoxDefs.h:19
Definition Margin.h:17
float Right
Definition Margin.h:30
float Bottom
Definition Margin.h:34
float Top
Definition Margin.h:26
float Left
Definition Margin.h:22
Definition MultiBoxDefs.h:285
TOptional< bool > ForceNewLine
Definition MultiBoxDefs.h:306
TAttribute< UE::Slate::PrioritizedWrapBox::EWrapMode > Mode
Definition MultiBoxDefs.h:300
TOptional< UE::Slate::PrioritizedWrapBox::EVerticalOverflowBehavior > VerticalOverflowBehavior
Definition MultiBoxDefs.h:303
TAttribute< bool > Allow
Definition MultiBoxDefs.h:294
TAttribute< int32 > Priority
Definition MultiBoxDefs.h:297
Definition MultiBoxDefs.h:267
TAttribute< bool > AllowClipping
Definition MultiBoxDefs.h:279
TAttribute< bool > VisibleInOverflow
Definition MultiBoxDefs.h:282
TAttribute< int32 > ClippingPriority
Definition MultiBoxDefs.h:275
Definition MultiBoxDefs.h:209
TAttribute< FOptionalSize > DesiredHeightOverride
Definition MultiBoxDefs.h:263
TAttribute< float > MinimumSize
Definition MultiBoxDefs.h:254
FMenuEntryStyleParams & operator=(const FMenuEntryStyleParams &)=default
TAttribute< FOptionalSize > DesiredWidthOverride
Definition MultiBoxDefs.h:260
FMenuEntryStyleParams(const FMenuEntryStyleParams &)=default
TAttribute< float > MaximumSize
Definition MultiBoxDefs.h:257
TOptional< float > FillSizeMin
Definition MultiBoxDefs.h:251
TOptional< float > MinSize
Definition MultiBoxDefs.h:233
FMenuEntryStyleParams(FMenuEntryStyleParams &&)=default
TOptional< float > DesiredHeight
Definition MultiBoxDefs.h:245
PRAGMA_DISABLE_DEPRECATION_WARNINGS FMenuEntryStyleParams()=default
TOptional< EVerticalAlignment > VerticalAlignment
Definition MultiBoxDefs.h:226
TOptional< float > FillSize
Definition MultiBoxDefs.h:248
EHorizontalAlignment HorizontalAlignment
Definition MultiBoxDefs.h:223
TOptional< FSizeParam::ESizeRule > SizeRule
Definition MultiBoxDefs.h:229
PRAGMA_ENABLE_DEPRECATION_WARNINGS bool bNoIndent
Definition MultiBoxDefs.h:220
TOptional< float > MaxSize
Definition MultiBoxDefs.h:237
FMenuEntryStyleParams & operator=(FMenuEntryStyleParams &&)=default
TOptional< float > DesiredWidth
Definition MultiBoxDefs.h:241
Definition MultiBoxDefs.h:111
FMultiBoxCustomization(FName InCustomizationName)
Definition MultiBoxDefs.h:122
FName GetCustomizationName() const
Definition MultiBoxDefs.h:120
static FMultiBoxCustomization AllowCustomization(FName InCustomizationName)
Definition MultiBoxDefs.h:114
static SLATE_API const FMultiBoxCustomization None
Definition MultiBoxDefs.h:112
Definition SlateStructs.h:13
Definition Optional.h:131