UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateAsyncTaskNotificationImpl.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Containers/Ticker.h"
7#include "Layout/Visibility.h"
9
11
15class FSlateAsyncTaskNotificationImpl : public TSharedFromThis<FSlateAsyncTaskNotificationImpl, ESPMode::ThreadSafe>, public FCoreAsyncTaskNotificationImpl
16{
17public:
18 //~ IAsyncTaskNotificationImpl
19 virtual void Initialize(const FAsyncTaskNotificationConfig& InConfig) override;
20 virtual void SetCanCancel(const TAttribute<bool>& InCanCancel) override;
21 virtual void SetKeepOpenOnSuccess(const TAttribute<bool>& InKeepOpenOnSuccess) override;
22 virtual void SetKeepOpenOnFailure(const TAttribute<bool>& InKeepOpenOnFailure) override;
24
26 virtual ~FSlateAsyncTaskNotificationImpl() override;
27
28private:
29 //~ FCoreAsyncTaskNotificationImpl
30 virtual void UpdateNotification() override;
31
33 bool TickNotification(float InDeltaTime);
34
36 void SyncAttributes();
37
39 void SetPendingNotificationState(const EAsyncTaskNotificationState InPendingCompletionState);
40
42 bool IsCancelButtonEnabled(SNotificationItem::ECompletionState InState) const;
43 EVisibility GetCancelButtonVisibility(SNotificationItem::ECompletionState InState) const;
44 void OnCancelButtonClicked();
45
47 bool IsPromptButtonEnabled(SNotificationItem::ECompletionState InState) const;
48 EVisibility GetPromptButtonVisibility(SNotificationItem::ECompletionState InState) const;
49 void OnPromptButtonClicked();
50 FText GetPromptButtonText() const;
51
53 EVisibility GetCloseButtonVisibility(SNotificationItem::ECompletionState InState) const;
54 void OnCloseButtonClicked();
55
56 /* Create the notification, if not already created */
57 void CreateNotification();
58
59 /* Cleanly destroy the current notification, if any */
60 void DestroyNotification();
61
62 /* Static function to update the notification from the main thread */
64
65private:
66
68 FAsyncTaskNotificationConfig NotificationConfig;
69
71 FTSTicker::FDelegateHandle TickerHandle;
72
75
77 FText PromptButtonText;
78
80 TAttribute<bool> bCanCancelAttr = false;
81 bool bCanCancel = false;
82
84 TAttribute<bool> bKeepOpenOnSuccessAttr = false;
85 bool bKeepOpenOnSuccess = false;
86
88 TAttribute<bool> bKeepOpenOnFailureAttr = false;
89 bool bKeepOpenOnFailure = false;
90
92 bool bInitializedNotification = false;
93
96
98 TOptional<EAsyncTaskNotificationState> PendingNotificationState;
99
101 TSharedPtr<SNotificationItem> OwningNotification;
102
104 FCriticalSection AttributesCS;
105
107 FCriticalSection CompletionCS;
108};
EAsyncTaskNotificationState
Definition AsyncTaskNotification.h:56
EAsyncTaskNotificationPromptAction
Definition AsyncTaskNotification.h:65
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition CoreAsyncTaskNotificationImpl.h:92
FText HyperlinkText
Definition CoreAsyncTaskNotificationImpl.h:131
FText PromptText
Definition CoreAsyncTaskNotificationImpl.h:125
FText ProgressText
Definition CoreAsyncTaskNotificationImpl.h:122
FText TitleText
Definition CoreAsyncTaskNotificationImpl.h:119
FSimpleDelegate Hyperlink
Definition CoreAsyncTaskNotificationImpl.h:128
Definition SlateAsyncTaskNotificationImpl.h:16
virtual ~FSlateAsyncTaskNotificationImpl() override
Definition SlateAsyncTaskNotificationImpl.cpp:32
virtual void SetKeepOpenOnFailure(const TAttribute< bool > &InKeepOpenOnFailure) override
Definition SlateAsyncTaskNotificationImpl.cpp:182
virtual EAsyncTaskNotificationPromptAction GetPromptAction() const override
Definition SlateAsyncTaskNotificationImpl.cpp:305
FSlateAsyncTaskNotificationImpl()
Definition SlateAsyncTaskNotificationImpl.cpp:27
virtual void SetKeepOpenOnSuccess(const TAttribute< bool > &InKeepOpenOnSuccess) override
Definition SlateAsyncTaskNotificationImpl.cpp:172
virtual void SetCanCancel(const TAttribute< bool > &InCanCancel) override
Definition SlateAsyncTaskNotificationImpl.cpp:162
Definition Text.h:385
ECompletionState
Definition SNotificationList.h:28
Definition Atomic.h:538
Definition Attribute.h:17
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:1295
Definition Visibility.h:12
Definition AsyncTaskNotification.h:20
Definition Optional.h:131