// 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 Error(const FText& Message) { TSharedRef Line = FTokenizedMessage::Create(EMessageSeverity::Error); Line->AddToken(FTextToken::Create(Message)); InternalLogMessage(Line); return Line; } TSharedRef Warning(const FText& Message) { TSharedRef Line = FTokenizedMessage::Create(EMessageSeverity::Warning); Line->AddToken(FTextToken::Create(Message)); InternalLogMessage(Line); return Line; } TSharedRef Note(const FText& Message) { TSharedRef Line = FTokenizedMessage::Create(EMessageSeverity::Info); Line->AddToken(FTextToken::Create(Message)); InternalLogMessage(Line); return Line; } virtual TSubclassOf GetContextClass() const = 0; protected: virtual void InternalLogMessage(TSharedRef& Message) = 0; }; #endif