UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UIAction.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"
8
11
14
17
20
23
24
31
32
37{
40
43
46
49
52
53public:
54
57
65
74
84
94
105
116
117public:
118
124 bool CanExecute( ) const
125 {
126 // Fire the 'can execute' delegate if we have one, otherwise always return true
127 return CanExecuteAction.IsBound() ? CanExecuteAction.Execute() : true;
128 }
129
133 bool Execute( ) const
134 {
135 // It's up to the programmer to ensure that the action is still valid by the time the user clicks on the
136 // button. Otherwise the user won't know why the action didn't take place!
137 if( CanExecute() )
138 {
139 return ExecuteAction.ExecuteIfBound();
140 }
141
142 return false;
143 }
144
151 {
152 if (GetActionCheckState.IsBound())
153 {
154 return GetActionCheckState.Execute();
155 }
156
158 }
159
165 bool IsBound( ) const
166 {
167 return ExecuteAction.IsBound();
168 }
169
176 {
177 if (IsActionVisibleDelegate.IsBound())
178 {
179 const bool bIsVisible = IsActionVisibleDelegate.Execute();
180 return bIsVisible ? EVisibility::Visible : EVisibility::Collapsed;
181 }
182
184 }
185
191 bool CanRepeat( ) const
192 {
194 }
195
200 {
201 if (InDelegate.IsBound())
202 {
203 const bool bIsChecked = InDelegate.Execute();
205 }
206
208 }
209};
210
217{
218
219public:
220 virtual FName GetContextName() const = 0;
221};
222
230{
231public:
232
234
236
237private:
239};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal(ReturnValueType, DelegateName)
Definition DelegateCombinations.h:41
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
ECheckBoxState
Definition SlateTypes.h:65
EUIActionRepeatMode
Definition UIAction.h:27
Definition NameTypes.h:617
Definition Array.h:670
Definition SharedPointer.h:692
Definition Visibility.h:12
static SLATECORE_API const EVisibility Visible
Definition Visibility.h:14
static SLATECORE_API const EVisibility Collapsed
Definition Visibility.h:17
Definition UIAction.h:230
SLATE_API void AddContext(const TSharedPtr< IUIActionContextBase > &InContext)
Definition UIAction.cpp:91
SLATE_API TSharedPtr< IUIActionContextBase > FindContext(const FName InName) const
Definition UIAction.cpp:78
Definition UIAction.h:37
FCanExecuteAction CanExecuteAction
Definition UIAction.h:42
FExecuteAction ExecuteAction
Definition UIAction.h:39
EVisibility IsVisible() const
Definition UIAction.h:175
static ECheckBoxState IsActionCheckedPassthrough(FIsActionChecked InDelegate)
Definition UIAction.h:199
ECheckBoxState GetCheckState() const
Definition UIAction.h:150
bool IsBound() const
Definition UIAction.h:165
SLATE_API FUIAction()
Definition UIAction.cpp:7
bool CanRepeat() const
Definition UIAction.h:191
FIsActionButtonVisible IsActionVisibleDelegate
Definition UIAction.h:48
bool Execute() const
Definition UIAction.h:133
FGetActionCheckState GetActionCheckState
Definition UIAction.h:45
bool CanExecute() const
Definition UIAction.h:124
EUIActionRepeatMode RepeatMode
Definition UIAction.h:51
Definition UIAction.h:217
virtual FName GetContextName() const =0