Files
UnrealEngine/Engine/Source/Runtime/UMG/Public/Editor/WidgetCompilerLog.h
2025-05-18 13:04:45 +08:00

48 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "Logging/TokenizedMessage.h"
#include "Templates/SubclassOf.h"
#if WITH_EDITOR
class UUserWidget;
class IWidgetCompilerLog
{
public:
TSharedRef<FTokenizedMessage> Error(const FText& Message)
{
TSharedRef<FTokenizedMessage> Line = FTokenizedMessage::Create(EMessageSeverity::Error);
Line->AddToken(FTextToken::Create(Message));
InternalLogMessage(Line);
return Line;
}
TSharedRef<FTokenizedMessage> Warning(const FText& Message)
{
TSharedRef<FTokenizedMessage> Line = FTokenizedMessage::Create(EMessageSeverity::Warning);
Line->AddToken(FTextToken::Create(Message));
InternalLogMessage(Line);
return Line;
}
TSharedRef<FTokenizedMessage> Note(const FText& Message)
{
TSharedRef<FTokenizedMessage> Line = FTokenizedMessage::Create(EMessageSeverity::Info);
Line->AddToken(FTextToken::Create(Message));
InternalLogMessage(Line);
return Line;
}
virtual TSubclassOf<UUserWidget> GetContextClass() const = 0;
protected:
virtual void InternalLogMessage(TSharedRef<FTokenizedMessage>& Message) = 0;
};
#endif