UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SExpanderArrow.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 "Input/Reply.h"
8#include "Layout/Visibility.h"
10#include "Layout/Margin.h"
12#include "Styling/CoreStyle.h"
13
14class ITableRow;
15class SButton;
16
17template<>
19{
20 static constexpr bool SupportsInvalidation() { return true; }
21};
22
28{
30public:
31
46
49 SLATE_API void Construct( const FArguments& InArgs, const TSharedPtr<class ITableRow>& TableRow );
50
52
53 SLATE_API virtual int32 OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override;
54
57
60 float GetIndentAmount() const { return IndentAmountAttribute.Get(); }
61 int32 GetBaseIndentLevel() const { return BaseIndentLevelAttribute.Get(); }
62
64 {
65 return TSlateAttributeRef<float>{SharedThis(this), IndentAmountAttribute};
66 }
67
69 {
70 return TSlateAttributeRef<int32>{SharedThis(this), BaseIndentLevelAttribute};
71 }
72
75
78
81
83
86
89
90#if WITH_EDITORONLY_DATA
92 UE_DEPRECATED(5.7, "Use SetIndentAmount / GetIndentAmount / GetIndentAmountAttribute")
94
98#endif
99
102
103private:
105 TSlateAttribute<float> IndentAmountAttribute;
107 TSlateAttribute<int32> BaseIndentLevelAttribute;
108};
#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 SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
#define SLATE_DECLARE_WIDGET_API(WidgetType, ParentType, ModuleApiDefine)
Definition SlateControlledConstruction.h:22
Definition CoreStyle.h:15
Definition PaintArgs.h:23
Definition Reply.h:24
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition ISlateStyle.h:18
Definition ITableRow.h:15
Definition SButton.h:33
Definition SCompoundWidget.h:22
Definition SExpanderArrow.h:28
TSlateAttributeRef< float > GetIndentAmountAttribute() const
Definition SExpanderArrow.h:63
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SExpanderArrow.cpp:58
SLATE_API EVisibility GetExpanderVisibility() const
Definition SExpanderArrow.cpp:188
const ISlateStyle * StyleSet
Definition SExpanderArrow.h:88
TSlateAttribute< bool > ShouldDrawWires
Definition SExpanderArrow.h:101
SLATE_API FReply OnArrowClicked()
Definition SExpanderArrow.cpp:161
SLATE_API void SetIndentAmount(TAttribute< float > InIndentAmount)
Definition SExpanderArrow.cpp:177
SLATE_API void Construct(const FArguments &InArgs, const TSharedPtr< class ITableRow > &TableRow)
Definition SExpanderArrow.cpp:28
SLATE_BEGIN_ARGS(SExpanderArrow)
Definition SExpanderArrow.h:32
int32 GetBaseIndentLevel() const
Definition SExpanderArrow.h:61
TSharedPtr< SButton > ExpanderArrow
Definition SExpanderArrow.h:85
TSlateAttributeRef< int32 > GetBaseIndentLevelAttribute() const
Definition SExpanderArrow.h:68
TWeakPtr< class ITableRow > OwnerRowPtr
Definition SExpanderArrow.h:82
SLATE_API const FSlateBrush * GetExpanderImage() const
Definition SExpanderArrow.cpp:202
SLATE_API FMargin GetExpanderPadding() const
Definition SExpanderArrow.cpp:194
float GetIndentAmount() const
Definition SExpanderArrow.h:60
SLATE_API void SetBaseIndentLevel(TAttribute< int32 > InBaseIndentLevel)
Definition SExpanderArrow.cpp:182
Definition Attribute.h:17
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis(OtherType *ThisPtr)
Definition SharedPointer.h:1780
Definition SharedPointer.h:692
Definition SharedPointer.h:1295
@ false
Definition radaudio_common.h:23
Definition Visibility.h:12
Definition Geometry.h:40
Definition Margin.h:17
Definition SlateBrush.h:239
Definition SWidget.h:255
Definition SWidget.h:189
Definition SlateAttribute.h:234
static constexpr bool SupportsInvalidation()
Definition SExpanderArrow.h:20
Definition SWidget.h:69