UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SClippingVerticalBox.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"
7#include "Styling/CoreStyle.h"
9#include "Widgets/SBoxPanel.h"
10#include "Styling/SlateTypes.h"
11
13class FPaintArgs;
15class SComboButton;
16
19{
20public:
28
29 SLATE_ARGUMENT(FOnGetContent, OnWrapButtonClicked)
30 SLATE_ARGUMENT(const ISlateStyle*, StyleSet)
31 SLATE_ARGUMENT(FName, StyleName)
32 SLATE_ATTRIBUTE( EVisibility, LabelVisibility)
33 SLATE_ARGUMENT(bool, IsFocusable)
34 SLATE_ATTRIBUTE( int32, SelectedIndex )
36
37
38 virtual int32 OnPaint( const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled ) const override;
40
42 virtual void OnArrangeChildren( const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
43
45 void Construct( const FArguments& InArgs );
46
48 void AddWrapButton();
49
51 {
52 return ClippedWidgets;
53 }
54
55private:
56 void OnWrapButtonOpenChanged(bool bIsOpen);
57 EActiveTimerReturnType UpdateWrapButtonStatus(double CurrentTime, float DeltaTime);
58
65 void InitializeWrapButton( TSharedPtr<SComboButton>& Button, bool bCreateSelectedAppearance );
66
67private:
69 TSharedPtr<SComboButton> WrapButton;
70
72 TSharedPtr<SComboButton> SelectedWrapButton;
73
75 FOnGetContent OnWrapButtonClicked;
76
77 TSharedPtr<FActiveTimerHandle> WrapButtonOpenTimer;
78
80 bool bIsFocusable = true;
81
83 const ISlateStyle* StyleSet = nullptr;
84
86 FButtonStyle Style;
87
89 FButtonStyle SelectedStyle;
90
92 TAttribute<int32> SelectedIndex = INDEX_NONE;
93
95 mutable int32 LastToolBarButtonIndex = INDEX_NONE;
96
97 FName StyleName;
98
99 mutable TArray<TWeakPtr<SWidget>> ClippedWidgets;
100 mutable TArray<int32> ClippedIndices;
101};
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
return true
Definition ExternalRpcRegistry.cpp:601
EActiveTimerReturnType
Definition SlateEnums.h:329
Definition ArrangedChildren.h:15
Definition CoreStyle.h:15
Definition NameTypes.h:617
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition ISlateStyle.h:18
Definition SClippingVerticalBox.h:19
virtual FVector2D ComputeDesiredSize(float) const override
Definition SClippingVerticalBox.cpp:77
virtual int32 OnPaint(const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SClippingVerticalBox.cpp:72
virtual void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SClippingVerticalBox.cpp:19
void AddWrapButton()
Definition SClippingVerticalBox.cpp:98
SLATE_BEGIN_ARGS(SClippingVerticalBox)
Definition SClippingVerticalBox.h:21
TArray< TWeakPtr< SWidget > > GetClippedWidgets() const
Definition SClippingVerticalBox.h:50
Definition SComboButton.h:25
void Construct()
Definition SPanel.h:65
Definition SBoxPanel.h:322
Definition SWidget.h:165
Definition Array.h:670
Definition Attribute.h:17
Definition SharedPointer.h:692
Definition SharedPointer.h:1295
Definition Visibility.h:12
Definition SlateTypes.h:509
Definition Geometry.h:40