UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SToolBarButtonBlock.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"
9#include "Input/Reply.h"
10#include "Textures/SlateIcon.h"
15
16class SBorder;
17
20
23
44
45
50 : public FMultiBlock
51{
52
53public:
54
55
57
75 );
76
94 const FUIAction& InUIAction,
97 );
98
100
101 void SetIsFocusable( bool bInIsFocusable ) { bIsFocusable = bInIsFocusable; }
102
104 void SetForceSmallIcons( const bool InForceSmallIcons ) { bForceSmallIcons = InForceSmallIcons; }
105
107 void SetBorderBrushName( const FName InBorderBrushName ) { BorderBrushName = InBorderBrushName; }
108
110 SLATE_API virtual void CreateMenuEntry(class FMenuBuilder& MenuBuilder) const override;
111 SLATE_API virtual bool HasIcon() const override;
112
115
117
118 SLATE_API void SetOnGetMenuContent(const FOnGetContent& OnGetMenuContent);
119
126
127protected:
128
129 SLATE_API bool GetIsFocusable() const;
130
131private:
132
134 SLATE_API virtual TSharedRef< class IMultiBlockBaseWidget > ConstructWidget() const override;
135
136private:
137
138 // Friend our corresponding widget class
140
142 TAttribute<FText> LabelOverride;
143
145 TAttribute<FText> ToolbarLabelOverride;
146
148 TAttribute<FText> ToolTipOverride;
149
151 TAttribute<FName> BorderBrushName;
152
154 TAttribute<FSlateIcon> IconOverride;
155
156 TOptional< EVisibility > LabelVisibility;
157
158 TSharedPtr<SWidget> CustomWidget;
159
162 EUserInterfaceActionType UserInterfaceActionType;
163
165 bool bIsFocusable;
166
168 bool bForceSmallIcons;
169
171 FNewMenuDelegate CustomMenuDelegate;
172
174 FOnGetContent OnGetMenuContent;
175
177 FGetDecoratedButtonDelegate GetDecoratedButtonDelegate;
178};
179
180
181
186 : public SMultiBlockBaseWidget
187{
188
189public:
190
196
197 SLATE_ARGUMENT( TOptional<EVisibility>, LabelVisibility )
198 SLATE_ARGUMENT( bool, IsFocusable )
200 SLATE_ARGUMENT( FName, TutorialHighlightName )
202
203
204
207 SLATE_API virtual void BuildMultiBlockWidget(const ISlateStyle* StyleSet, const FName& StyleName) override;
208
209
215 SLATE_API void Construct( const FArguments& InArgs );
216
218
223
228
235
241 SLATE_API bool IsEnabled() const;
242
249
250private:
252 EVisibility GetIconVisibility(bool bIsASmallIcon) const;
253
255 const FSlateBrush* GetIconBrush() const;
256
257 const FSlateBrush* GetOverlayIconBrush() const;
258
260 const FSlateBrush* GetNormalIconBrush() const;
261 const FSlateBrush* GetSmallIconBrush() const;
262
263 FSlateColor GetIconForegroundColor() const;
264
266 const FSlateBrush* GetOptionsBlockLeftBrush() const;
267
269 const FSlateBrush* GetOptionsBlockRightBrush() const;
270
271 EVisibility GetOptionsSeparatorVisibility() const;
272private:
274 TOptional<EVisibility> LabelVisibilityOverride;
275
277 TAttribute<EVisibility> LabelVisibility;
278
279 TSharedPtr<SBorder> ButtonBorder;
280 TSharedPtr<SBorder> OptionsBorder;
281
283 bool bIsFocusable;
284
286 bool bForceSmallIcons;
287
289 FName TutorialHighlightName;
290
291};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
Definition DelegateCombinations.h:54
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
ECheckBoxState
Definition SlateTypes.h:65
EUserInterfaceActionType
Definition UICommandInfo.h:20
Definition MultiBoxBuilder.h:310
Definition MultiBox.h:59
Definition NameTypes.h:617
Definition Reply.h:24
Definition SToolBarButtonBlock.h:51
void SetIsFocusable(bool bInIsFocusable)
Definition SToolBarButtonBlock.h:101
SLATE_API void SetCustomMenuDelegate(const FNewMenuDelegate &InOnFillMenuDelegate)
Definition SToolBarButtonBlock.cpp:73
void SetGetDecoratedButtonDelegate(const FGetDecoratedButtonDelegate &InGetDecoratedButtonDelegate)
Definition SToolBarButtonBlock.cpp:88
SLATE_API bool GetIsFocusable() const
Definition SToolBarButtonBlock.cpp:511
virtual SLATE_API bool HasIcon() const override
Definition SToolBarButtonBlock.cpp:124
void SetForceSmallIcons(const bool InForceSmallIcons)
Definition SToolBarButtonBlock.h:104
void SetBorderBrushName(const FName InBorderBrushName)
Definition SToolBarButtonBlock.h:107
SLATE_API void SetOnGetMenuContent(const FOnGetContent &OnGetMenuContent)
Definition SToolBarButtonBlock.cpp:83
SLATE_API void SetCustomWidget(const TSharedPtr< SWidget > &InCustomWidget)
Definition SToolBarButtonBlock.cpp:78
virtual SLATE_API void CreateMenuEntry(class FMenuBuilder &MenuBuilder) const override
Definition SToolBarButtonBlock.cpp:93
void SetLabelVisibility(EVisibility InLabelVisibility)
Definition SToolBarButtonBlock.h:99
Definition ISlateStyle.h:18
Definition SBorder.h:31
Definition MultiBox.h:618
Definition SToolBarButtonBlock.h:187
virtual SLATE_API void BuildMultiBlockWidget(const ISlateStyle *StyleSet, const FName &StyleName) override
Definition SToolBarButtonBlock.cpp:170
SLATE_BEGIN_ARGS(SToolBarButtonBlock)
Definition SToolBarButtonBlock.h:191
SLATE_API FReply OnClicked()
Definition SToolBarButtonBlock.cpp:520
SLATE_API void OnCheckStateChanged(const ECheckBoxState NewCheckedState)
Definition SToolBarButtonBlock.cpp:554
SLATE_API ECheckBoxState GetCheckState() const
Definition SToolBarButtonBlock.cpp:564
SLATE_API EVisibility GetBlockVisibility() const
Definition SToolBarButtonBlock.cpp:615
SLATE_API void Construct(const FArguments &InArgs)
Definition SToolBarButtonBlock.cpp:158
SLATE_API bool IsEnabled() const
Definition SToolBarButtonBlock.cpp:589
Definition Attribute.h:17
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
@ false
Definition radaudio_common.h:23
Definition Visibility.h:12
Definition SToolBarButtonBlock.h:25
FOnGetContent OnGetMenuContent
Definition SToolBarButtonBlock.h:39
FButtonArgs()
Definition SToolBarButtonBlock.h:42
FName ExtensionHook
Definition SToolBarButtonBlock.h:28
FName BorderBrushName
Definition SToolBarButtonBlock.h:34
TAttribute< FSlateIcon > IconOverride
Definition SToolBarButtonBlock.h:32
TSharedPtr< const FUICommandList > CommandList
Definition SToolBarButtonBlock.h:27
TAttribute< FText > ToolbarLabelOverride
Definition SToolBarButtonBlock.h:30
FNewMenuDelegate CustomMenuDelegate
Definition SToolBarButtonBlock.h:38
FUIAction Action
Definition SToolBarButtonBlock.h:36
TAttribute< FText > ToolTipOverride
Definition SToolBarButtonBlock.h:31
EUserInterfaceActionType UserInterfaceActionType
Definition SToolBarButtonBlock.h:35
TSharedPtr< const FUICommandInfo > Command
Definition SToolBarButtonBlock.h:26
TAttribute< FText > LabelOverride
Definition SToolBarButtonBlock.h:29
FName TutorialHighlightName
Definition SToolBarButtonBlock.h:33
FGetDecoratedButtonDelegate GetDecoratedButtonDelegate
Definition SToolBarButtonBlock.h:40
Definition SlateBrush.h:239
Definition SlateColor.h:42
Definition UIAction.h:37