UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SExpandableArea.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 "Layout/Visibility.h"
7#include "Layout/Margin.h"
10#include "Fonts/SlateFontInfo.h"
11#include "Input/Reply.h"
14#include "Widgets/SWidget.h"
16#include "Styling/SlateTypes.h"
17#include "Styling/CoreStyle.h"
19
20class SBorder;
21class SButton;
22
27{
28public:
29
31 : _Style( &FCoreStyle::Get().GetWidgetStyle<FExpandableAreaStyle>("ExpandableArea") )
33 , _BorderImage( FCoreStyle::Get().GetBrush("ExpandableArea.Border") )
36 , _AreaTitle( )
38 , _MinWidth( 0.0f )
39 , _MaxHeight( 0.0f )
40 , _AreaTitlePadding(FMargin(0.0f, 0.0f, 3.0f, 0.0f))
41 , _HeaderPadding(FMargin(4.0f, 2.0f))
42 , _Padding( 1.0f )
43 , _AreaTitleFont( FCoreStyle::Get().GetFontStyle("ExpandableArea.TitleFont") )
44 , _HeaderCursor( )
46 {}
47
51 SLATE_ATTRIBUTE( FSlateColor, BorderBackgroundColor )
53 SLATE_ATTRIBUTE( const FSlateBrush*, BorderImage )
59 SLATE_NAMED_SLOT( FArguments, HeaderContent )
61 SLATE_NAMED_SLOT( FArguments, BodyContent )
67 SLATE_ARGUMENT( float, MinWidth )
73 SLATE_ATTRIBUTE( FMargin, HeaderPadding )
84
86
87
88public:
89
95 SLATE_API void Construct( const FArguments& InArgs );
96
100 virtual bool IsExpanded() const { return !bAreaCollapsed; }
101
105 SLATE_API virtual void SetExpanded( bool bExpanded );
106
107 SLATE_API virtual void SetExpanded_Animated( bool bExpanded );
108
112 SLATE_API virtual bool IsTitleHovered() const;
113
118
123
128
133
138
143
148
153
154protected:
155
162 SLATE_API virtual TSharedRef<SWidget> ConstructHeaderWidget( const FArguments& InArgs, TSharedRef<SWidget> HeaderContent );
163
168
170
173
177 SLATE_API virtual const FSlateBrush* OnGetCollapseImage() const;
178
182 SLATE_API virtual FVector2D GetSectionScale() const;
183
187 SLATE_API virtual FVector2D ComputeDesiredSize(float) const override;
188
189protected:
190
193
196
199
202
205
208
211
213 float MinWidth;
214
217
220
223
226
229
230};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_NAMED_SLOT(DeclarationType, SlotName)
Definition DeclarativeSyntaxSupport.h:437
#define SLATE_STYLE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:280
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
return true
Definition ExternalRpcRegistry.cpp:601
Definition CoreStyle.h:15
Definition Reply.h:24
Definition Text.h:385
Definition SBorder.h:31
Definition SButton.h:33
Definition SCompoundWidget.h:22
Definition SExpandableArea.h:27
TSharedPtr< SBorder > WidgetBorder
Definition SExpandableArea.h:198
virtual SLATE_API void OnToggleContentVisibility()
Definition SExpandableArea.cpp:183
FOnBooleanValueChanged OnAreaExpansionChanged
Definition SExpandableArea.h:210
SLATE_API void SetAreaPadding(FMargin InAreaPadding)
Definition SExpandableArea.cpp:272
SLATE_API void SetStyle(const FExpandableAreaStyle *InStyle)
Definition SExpandableArea.cpp:239
TSharedPtr< SButton > ExpandingButton
Definition SExpandableArea.h:204
virtual SLATE_API FVector2D GetSectionScale() const
Definition SExpandableArea.cpp:193
SLATE_API void SetBorderBackgroundColor(const FSlateColor &InBorderColor)
Definition SExpandableArea.cpp:260
SLATE_API FReply OnHeaderClicked()
Definition SExpandableArea.cpp:175
TSharedPtr< SBorder > BodyBorder
Definition SExpandableArea.h:201
float MaxHeight
Definition SExpandableArea.h:216
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SExpandableArea.cpp:199
TSharedPtr< SBorder > TitleBorder
Definition SExpandableArea.h:195
const FSlateBrush * CollapsedImage
Definition SExpandableArea.h:222
virtual bool IsExpanded() const
Definition SExpandableArea.h:100
SLATE_BEGIN_ARGS(SExpandableArea)
Definition SExpandableArea.h:30
virtual SLATE_API EVisibility OnGetContentVisibility() const
Definition SExpandableArea.cpp:167
FCurveSequence RolloutCurve
Definition SExpandableArea.h:207
const FExpandableAreaStyle * WidgetStyle
Definition SExpandableArea.h:192
SLATE_API void InvalidateBorderBrush()
Definition SExpandableArea.cpp:255
virtual SLATE_API void SetExpanded(bool bExpanded)
Definition SExpandableArea.cpp:103
bool bAllowAnimatedTransition
Definition SExpandableArea.h:228
float MinWidth
Definition SExpandableArea.h:213
SLATE_API void SetBorderBrush(const FSlateBrush *InBorderBrush)
Definition SExpandableArea.cpp:244
virtual SLATE_API bool IsTitleHovered() const
Definition SExpandableArea.cpp:224
SLATE_API void SetHeaderPadding(FMargin InHeaderPadding)
Definition SExpandableArea.cpp:266
SLATE_API void Construct(const FArguments &InArgs)
Definition SExpandableArea.cpp:14
SLATE_API void InvalidateStyle()
Definition SExpandableArea.cpp:250
virtual SLATE_API void SetExpanded_Animated(bool bExpanded)
Definition SExpandableArea.cpp:124
virtual SLATE_API TSharedRef< SWidget > ConstructHeaderWidget(const FArguments &InArgs, TSharedRef< SWidget > HeaderContent)
Definition SExpandableArea.cpp:146
virtual SLATE_API const FSlateBrush * OnGetCollapseImage() const
Definition SExpandableArea.cpp:188
const FSlateBrush * ExpandedImage
Definition SExpandableArea.h:225
SLATE_API void SetMaxHeight(float InMaxHeight)
Definition SExpandableArea.cpp:230
bool bAreaCollapsed
Definition SExpandableArea.h:219
Definition SharedPointer.h:692
Definition SharedPointer.h:153
@ false
Definition radaudio_common.h:23
Definition Visibility.h:12
Definition CurveSequence.h:26
Definition SlateTypes.h:1218
Definition Color.h:48
Definition Margin.h:17
Definition SlateBrush.h:239
Definition SlateColor.h:42
Definition SlateFontInfo.h:147
Definition Optional.h:131