UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SUniformGridPanel.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 "Layout/Margin.h"
10#include "Widgets/SWidget.h"
11#include "Layout/Children.h"
13#include "Widgets/SPanel.h"
14
16
19{
20public:
22 struct FSlot : public TSlotBase<FSlot>, public TAlignmentWidgetSlotMixin<FSlot>
23 {
26
28 : TSlotBase<FSlot>()
30 , Column( InColumn )
31 , Row( InRow )
32 {
33 }
34
40
42 {
43 if (InColumn != Column)
44 {
45 Column = InColumn;
47 }
48 }
49
51 {
52 return Column;
53 }
54
55 int32 GetRow() const
56 {
57 return Row;
58 }
59
61 {
62 if (InRow != Row)
63 {
64 Row = InRow;
66 }
67 }
68
69 private:
70 int32 Column;
71 int32 Row;
72 };
73
76
80 static SLATE_API FSlot::FSlotArguments Slot( int32 Column, int32 Row );
81
89
91 SLATE_SLOT_ARGUMENT(FSlot, Slots)
92
93
94 SLATE_ATTRIBUTE(FMargin, SlotPadding)
95
96
97 SLATE_ATTRIBUTE(float, MinDesiredSlotWidth)
98
99
100 SLATE_ATTRIBUTE(float, MinDesiredSlotHeight)
101
103
104 SLATE_API void Construct( const FArguments& InArgs );
105
106 //~ Begin SPanel Interface
109 //~ End SPanel Interface
110
113
116
119
127
135
138
140 // Begin SWidget overrides.
142 // End SWidget overrides.
143
144private:
145 TPanelChildren<FSlot> Children;
147
149 mutable int32 NumColumns;
150 mutable int32 NumRows;
151 mutable TSet<int32> CollapsedColumns;
152 mutable TSet<int32> CollapsedRows;
153
154 TSlateAttribute<float, EInvalidateWidgetReason::Layout> MinDesiredSlotWidth;
155 TSlateAttribute<float, EInvalidateWidgetReason::Layout> MinDesiredSlotHeight;
156};
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_SLOT_ARGUMENT(SlotType, SlotName)
Definition DeclarativeSyntaxSupport.h:348
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_SLOT_END_ARGS()
Definition DeclarativeSyntaxSupport.h:386
EInvalidateWidgetReason
Definition InvalidateWidgetReason.h:14
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition SPanel.h:30
void Construct()
Definition SPanel.h:65
Definition SUniformGridPanel.h:19
virtual SLATE_API FChildren * GetChildren() override
Definition SUniformGridPanel.cpp:145
virtual SLATE_API ~SUniformGridPanel()
SLATE_API bool RemoveSlot(const TSharedRef< SWidget > &SlotWidget)
Definition SUniformGridPanel.cpp:170
SLATE_API void SetMinDesiredSlotWidth(TAttribute< float > InMinDesiredSlotWidth)
Definition SUniformGridPanel.cpp:155
SLATE_API SUniformGridPanel()
Definition SUniformGridPanel.cpp:26
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SUniformGridPanel.cpp:81
SLATE_API void SetSlotPadding(TAttribute< FMargin > InSlotPadding)
Definition SUniformGridPanel.cpp:150
static SLATE_API FSlot::FSlotArguments Slot(int32 Column, int32 Row)
Definition SUniformGridPanel.cpp:36
SLATE_API void SetMinDesiredSlotHeight(TAttribute< float > InMinDesiredSlotHeight)
Definition SUniformGridPanel.cpp:160
SLATE_API FScopedWidgetSlotArguments AddSlot(int32 Column, int32 Row)
Definition SUniformGridPanel.cpp:165
SLATE_BEGIN_ARGS(SUniformGridPanel)
Definition SUniformGridPanel.h:82
virtual SLATE_API void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SUniformGridPanel.cpp:52
SLATE_API void ClearChildren()
Definition SUniformGridPanel.cpp:175
Definition SWidget.h:165
Definition BasicLayoutWidgetSlot.h:19
void ConstructMixin(const FChildren &SlotOwner, FSlotArgumentsMixin &&InArgs)
Definition BasicLayoutWidgetSlot.h:56
Definition Attribute.h:17
Definition Children.h:461
Definition SharedPointer.h:153
Definition SlotBase.h:122
void Construct(const FChildren &SlotOwner, FSlotArguments &&InArgs)
Definition SlotBase.h:212
static SLATECORE_API const EVisibility SelfHitTestInvisible
Definition Visibility.h:26
Definition Geometry.h:40
Definition Margin.h:17
Definition SlotBase.h:25
Definition SUniformGridPanel.h:23
void SetRow(int32 InRow)
Definition SUniformGridPanel.h:60
void SetColumn(int32 InColumn)
Definition SUniformGridPanel.h:41
int32 GetColumn() const
Definition SUniformGridPanel.h:50
void Construct(const FChildren &SlotOwner, FSlotArguments &&InArgs)
Definition SUniformGridPanel.h:35
int32 InRow
Definition SUniformGridPanel.h:29
SLATE_SLOT_BEGIN_ARGS_OneMixin(FSlot, TSlotBase< FSlot >, TAlignmentWidgetSlotMixin< FSlot >) FSlot(int32 InColumn
int32 GetRow() const
Definition SUniformGridPanel.h:55
Definition SWidget.h:189