UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FFeedbackContext Class Reference

#include <FeedbackContext.h>

+ Inheritance diagram for FFeedbackContext:

Public Member Functions

virtual CORE_API void Serialize (const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category) override
 
virtual CORE_API void Serialize (const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category, double Time) override
 
virtual CORE_API void SerializeRecord (const UE::FLogRecord &Record) override
 
virtual CORE_API bool YesNof (const FText &Question)
 
virtual bool ReceivedUserCancel ()
 
UE_FORCEINLINE_HINT const FSlowTaskStackGetScopeStack () const
 
 DECLARE_EVENT_OneParam (FFeedbackContext, FOnStartSlowTask, const FText &TaskName)
 
FOnStartSlowTaskOnStartSlowTask ()
 
 DECLARE_EVENT_TwoParams (FFeedbackContext, FOnFinalizeSlowTask, const FText &TaskName, double DurationInSeconds)
 
FOnFinalizeSlowTaskOnFinalizeSlowTask ()
 
 DECLARE_EVENT_TwoParams (FFeedbackContext, FOnStartSlowTaskWithGuid, FGuid Guid, const FText &TaskName)
 
FOnStartSlowTaskWithGuidOnStartSlowTaskWithGuid ()
 
 DECLARE_EVENT_TwoParams (FFeedbackContext, FOnFinalizeSlowTaskWithGuid, FGuid Guid, const FText &TaskName)
 
FOnFinalizeSlowTaskWithGuidOnFinalizeSlowTaskWithGuid ()
 
CORE_API void BeginSlowTask (const FText &Task, bool ShowProgressDialog, bool bShowCancelButton=false)
 
CORE_API void UpdateProgress (int32 Numerator, int32 Denominator)
 
CORE_API void StatusUpdate (int32 Numerator, int32 Denominator, const FText &StatusText)
 
CORE_API void StatusForceUpdate (int32 Numerator, int32 Denominator, const FText &StatusText)
 
CORE_API void EndSlowTask ()
 
virtual FContextSupplierGetContext () const
 
virtual void SetContext (FContextSupplier *InContext)
 
virtual TWeakPtr< class SBuildProgressWidgetShowBuildProgressWindow ()
 
virtual void CloseBuildProgressWindow ()
 
CORE_API FFeedbackContext ()
 
virtual CORE_API ~FFeedbackContext ()
 
void GetWarnings (TArray< FString > &OutWarnings) const
 
int32 GetNumWarnings () const
 
void GetErrors (TArray< FString > &OutErrors) const
 
int32 GetNumErrors () const
 
void GetErrorsAndWarningsAndEmpty (TArray< FString > &OutWarningsAndErrors)
 
void ClearWarningsAndErrors ()
 
- Public Member Functions inherited from FOutputDevice
CORE_API FOutputDevice ()
 
CORE_API FOutputDevice (FOutputDevice &&)
 
CORE_API FOutputDevice (const FOutputDevice &)
 
CORE_API FOutputDeviceoperator= (FOutputDevice &&)
 
CORE_API FOutputDeviceoperator= (const FOutputDevice &)
 
virtual CORE_API ~FOutputDevice ()
 
virtual void Flush ()
 
virtual void TearDown ()
 
void SetSuppressEventTag (bool bInSuppressEventTag)
 
UE_FORCEINLINE_HINT bool GetSuppressEventTag () const
 
void SetAutoEmitLineTerminator (bool bInAutoEmitLineTerminator)
 
UE_FORCEINLINE_HINT bool GetAutoEmitLineTerminator () const
 
virtual void Dump (class FArchive &Ar)
 
virtual bool IsMemoryOnly () const
 
virtual bool CanBeUsedOnAnyThread () const
 
virtual bool CanBeUsedOnMultipleThreads () const
 
virtual bool CanBeUsedOnPanicThread () const
 
CORE_API void Log (const TCHAR *S)
 
CORE_API void Log (ELogVerbosity::Type Verbosity, const TCHAR *S)
 
CORE_API void Log (const FName &Category, ELogVerbosity::Type Verbosity, const TCHAR *Str)
 
CORE_API void Log (const FString &S)
 
CORE_API void Log (const FText &S)
 
CORE_API void Log (ELogVerbosity::Type Verbosity, const FString &S)
 
CORE_API void Log (const FName &Category, ELogVerbosity::Type Verbosity, const FString &S)
 
template<typename FmtType >
void Logf (const FmtType &Fmt)
 
template<typename FmtType , typename... Types>
void Logf (const FmtType &Fmt, Types... Args)
 
template<typename FmtType , typename... Types>
void Logf (ELogVerbosity::Type Verbosity, const FmtType &Fmt, Types... Args)
 
template<typename FmtType , typename... Types>
void CategorizedLogf (const FName &Category, ELogVerbosity::Type Verbosity, const FmtType &Fmt, Types... Args)
 

Public Attributes

bool TreatWarningsAsErrors = false
 
bool TreatErrorsAsWarnings = false
 

Protected Member Functions

virtual void StartSlowTask (const FText &Task, bool bShowCancelButton=false)
 
virtual void FinalizeSlowTask ()
 
virtual void ProgressReported (const float TotalProgressInterp, FText DisplayMessage)
 
virtual CORE_API bool IsPlayingInEditor () const
 
CORE_API ELogVerbosity::Type ResolveVerbosity (ELogVerbosity::Type Verbosity) const
 
CORE_API void FormatLine (FStringBuilderBase &Out, const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category, double Time, ELogVerbosity::Type *OutVerbosity=nullptr) const
 
CORE_API void FormatRecordLine (FStringBuilderBase &Out, const UE::FLogRecord &Record, ELogVerbosity::Type *OutVerbosity=nullptr) const
 
const TSharedPtr< FSlowTaskStack > & GetScopeStackSharedPtr () const
 
CORE_API void RequestUpdateUI (bool bForceUpdate=false)
 
CORE_API void UpdateUI ()
 
void AddWarning (const FString &InWarning)
 
void AddWarning (FString &&InWarning)
 
void AddError (const FString &InError)
 
void AddError (FString &&InError)
 

Protected Attributes

friend FSlowTask
 
FSlowTaskStack ScopeStack
 
TSharedPtr< FSlowTaskStackScopeStackSharedPtr
 
TArray< TUniquePtr< FSlowTask > > LegacyAPIScopes
 
- Protected Attributes inherited from FOutputDevice
bool bSuppressEventTag
 
bool bAutoEmitLineTerminator
 

Detailed Description

A context for displaying modal warning messages.

Constructor & Destructor Documentation

◆ FFeedbackContext()

FFeedbackContext::FFeedbackContext ( )
default

◆ ~FFeedbackContext()

FFeedbackContext::~FFeedbackContext ( )
virtual

Member Function Documentation

◆ AddError() [1/2]

void FFeedbackContext::AddError ( const FString &  InError)
inlineprotected

Adds a new error message to errors history.

Parameters
InWarningError message

◆ AddError() [2/2]

void FFeedbackContext::AddError ( FString &&  InError)
inlineprotected

◆ AddWarning() [1/2]

void FFeedbackContext::AddWarning ( const FString &  InWarning)
inlineprotected

Adds a new warning message to warnings history.

Parameters
InWarningWarning message

◆ AddWarning() [2/2]

void FFeedbackContext::AddWarning ( FString &&  InWarning)
inlineprotected

◆ BeginSlowTask()

void FFeedbackContext::BeginSlowTask ( const FText Task,
bool  ShowProgressDialog,
bool  bShowCancelButton = false 
)

◆ ClearWarningsAndErrors()

void FFeedbackContext::ClearWarningsAndErrors ( )
inline

Clears all history

◆ CloseBuildProgressWindow()

virtual void FFeedbackContext::CloseBuildProgressWindow ( )
inlinevirtual

◆ DECLARE_EVENT_OneParam()

FFeedbackContext::DECLARE_EVENT_OneParam ( FFeedbackContext  ,
FOnStartSlowTask  ,
const FText TaskName 
)

◆ DECLARE_EVENT_TwoParams() [1/3]

FFeedbackContext::DECLARE_EVENT_TwoParams ( FFeedbackContext  ,
FOnFinalizeSlowTask  ,
const FText TaskName,
double  DurationInSeconds 
)

◆ DECLARE_EVENT_TwoParams() [2/3]

FFeedbackContext::DECLARE_EVENT_TwoParams ( FFeedbackContext  ,
FOnFinalizeSlowTaskWithGuid  ,
FGuid  Guid,
const FText TaskName 
)

◆ DECLARE_EVENT_TwoParams() [3/3]

FFeedbackContext::DECLARE_EVENT_TwoParams ( FFeedbackContext  ,
FOnStartSlowTaskWithGuid  ,
FGuid  Guid,
const FText TaskName 
)

◆ EndSlowTask()

void FFeedbackContext::EndSlowTask ( )

◆ FinalizeSlowTask()

virtual void FFeedbackContext::FinalizeSlowTask ( )
inlineprotectedvirtual

Called to destroy a slow task

◆ FormatLine()

void FFeedbackContext::FormatLine ( FStringBuilderBase Out,
const TCHAR V,
ELogVerbosity::Type  Verbosity,
const FName Category,
double  Time,
ELogVerbosity::Type OutVerbosity = nullptr 
) const
protected

◆ FormatRecordLine()

void FFeedbackContext::FormatRecordLine ( FStringBuilderBase Out,
const UE::FLogRecord Record,
ELogVerbosity::Type OutVerbosity = nullptr 
) const
protected

◆ GetContext()

◆ GetErrors()

void FFeedbackContext::GetErrors ( TArray< FString > &  OutErrors) const
inline

Gets errors history

◆ GetErrorsAndWarningsAndEmpty()

void FFeedbackContext::GetErrorsAndWarningsAndEmpty ( TArray< FString > &  OutWarningsAndErrors)
inline

Gets all errors and warnings and clears the history

◆ GetNumErrors()

int32 FFeedbackContext::GetNumErrors ( ) const
inline

◆ GetNumWarnings()

int32 FFeedbackContext::GetNumWarnings ( ) const
inline

◆ GetScopeStack()

UE_FORCEINLINE_HINT const FSlowTaskStack & FFeedbackContext::GetScopeStack ( ) const
inline

Public const access to the current state of the scope stack

◆ GetScopeStackSharedPtr()

const TSharedPtr< FSlowTaskStack > & FFeedbackContext::GetScopeStackSharedPtr ( ) const
inlineprotected

◆ GetWarnings()

void FFeedbackContext::GetWarnings ( TArray< FString > &  OutWarnings) const
inline

Gets warnings history

◆ IsPlayingInEditor()

bool FFeedbackContext::IsPlayingInEditor ( ) const
protectedvirtual

Called to check whether we are playing in editor when starting a slow task

◆ OnFinalizeSlowTask()

FOnFinalizeSlowTask & FFeedbackContext::OnFinalizeSlowTask ( )
inline

◆ OnFinalizeSlowTaskWithGuid()

FOnFinalizeSlowTaskWithGuid & FFeedbackContext::OnFinalizeSlowTaskWithGuid ( )
inline

◆ OnStartSlowTask()

FOnStartSlowTask & FFeedbackContext::OnStartSlowTask ( )
inline

◆ OnStartSlowTaskWithGuid()

FOnStartSlowTaskWithGuid & FFeedbackContext::OnStartSlowTaskWithGuid ( )
inline

◆ ProgressReported()

virtual void FFeedbackContext::ProgressReported ( const float  TotalProgressInterp,
FText  DisplayMessage 
)
inlineprotectedvirtual

Called when some progress has occurred

Parameters
TotalProgressInterp[0..1] Value indicating the total progress of the slow task
DisplayMessageThe message to display on the slow task

◆ ReceivedUserCancel()

virtual bool FFeedbackContext::ReceivedUserCancel ( )
inlinevirtual

Whether or not the user has canceled out of the progress dialog (i.e. the ongoing slow task or the last one that ran). The user cancel flag is reset when starting a new root slow task.

◆ RequestUpdateUI()

void FFeedbackContext::RequestUpdateUI ( bool  bForceUpdate = false)
protected

Ask that the UI be updated as a result of the scope stack changing

◆ ResolveVerbosity()

ELogVerbosity::Type FFeedbackContext::ResolveVerbosity ( ELogVerbosity::Type  Verbosity) const
protected

◆ Serialize() [1/2]

void FFeedbackContext::Serialize ( const TCHAR V,
ELogVerbosity::Type  Verbosity,
const FName Category 
)
overridevirtual

◆ Serialize() [2/2]

void FFeedbackContext::Serialize ( const TCHAR V,
ELogVerbosity::Type  Verbosity,
const FName Category,
double  Time 
)
overridevirtual

Reimplemented from FOutputDevice.

Reimplemented in FUnixFeedbackContext, FFilterFeedback, and FFeedbackContextAnsi.

◆ SerializeRecord()

void FFeedbackContext::SerializeRecord ( const UE::FLogRecord Record)
overridevirtual

Reimplemented from FOutputDevice.

Reimplemented in FUnixFeedbackContext, and FFeedbackContextAnsi.

◆ SetContext()

virtual void FFeedbackContext::SetContext ( FContextSupplier InContext)
inlinevirtual

◆ ShowBuildProgressWindow()

virtual TWeakPtr< class SBuildProgressWidget > FFeedbackContext::ShowBuildProgressWindow ( )
inlinevirtual

Shows/Closes Special Build Progress dialogs

◆ StartSlowTask()

virtual void FFeedbackContext::StartSlowTask ( const FText Task,
bool  bShowCancelButton = false 
)
inlineprotectedvirtual

Called to create a slow task

◆ StatusForceUpdate()

void FFeedbackContext::StatusForceUpdate ( int32  Numerator,
int32  Denominator,
const FText StatusText 
)

◆ StatusUpdate()

void FFeedbackContext::StatusUpdate ( int32  Numerator,
int32  Denominator,
const FText StatusText 
)

◆ UpdateProgress()

void FFeedbackContext::UpdateProgress ( int32  Numerator,
int32  Denominator 
)

◆ UpdateUI()

void FFeedbackContext::UpdateUI ( )
protected

Update the UI as a result of the scope stack changing

◆ YesNof()

bool FFeedbackContext::YesNof ( const FText Question)
virtual

Ask the user a binary question, returning their answer

Reimplemented in FMacFeedbackContext, FUnixFeedbackContext, FWindowsFeedbackContext, and FFeedbackContextAnsi.

Member Data Documentation

◆ FSlowTask

friend FFeedbackContext::FSlowTask
protected

◆ LegacyAPIScopes

TArray<TUniquePtr<FSlowTask> > FFeedbackContext::LegacyAPIScopes
protected

◆ ScopeStack

FSlowTaskStack FFeedbackContext::ScopeStack
protected

Stack of pointers to feedback scopes that are currently open

◆ ScopeStackSharedPtr

TSharedPtr<FSlowTaskStack> FFeedbackContext::ScopeStackSharedPtr
mutableprotected

Points to the ScopeStack above when initialized - this is because Slate wants a TSharedPtr, but we don't want to allocate

◆ TreatErrorsAsWarnings

bool FFeedbackContext::TreatErrorsAsWarnings = false

Demote any logged errors so that they act as warnings; takes priority over TreatWarningsAsErrors

◆ TreatWarningsAsErrors

bool FFeedbackContext::TreatWarningsAsErrors = false

Promote any logged warnings so that they act as errors


The documentation for this class was generated from the following files: