UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateWidgetStyleAsset.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
6#include "UObject/Object.h"
9#include "SlateWidgetStyleAsset.generated.h"
10
11class Error;
12
18{
20
21public:
23 UPROPERTY(Category=Appearance, EditAnywhere, Instanced)
25
27 const WidgetStyleType* GetStyle() const
28 {
29 return static_cast< const WidgetStyleType* >( GetStyle( WidgetStyleType::TypeName ) );
30 }
31
32 template< class WidgetStyleType >
34 {
35 return static_cast< const WidgetStyleType* >( GetStyleChecked( WidgetStyleType::TypeName ) );
36 }
37
39 {
40 if ( CustomStyle == nullptr )
41 {
42 return nullptr;
43 }
44
45 const FSlateWidgetStyle* Style = CustomStyle->GetStyle();
46
47 if ( (Style == nullptr) || (Style->GetTypeName() != DesiredTypeName) )
48 {
49 return nullptr;
50 }
51
52 return Style;
53 }
54
56 {
57 if ( CustomStyle == nullptr )
58 {
59 UE_LOG( LogSlateStyle, Error, TEXT("USlateWidgetStyleAsset::GetStyle : No custom style set for '%s'."), *GetPathName() );
60 return nullptr;
61 }
62
63 const FSlateWidgetStyle* Style = CustomStyle->GetStyle();
64
65 if ( Style == nullptr )
66 {
67 UE_LOG( LogSlateStyle, Error, TEXT("USlateWidgetStyleAsset::GetStyle : No style found in custom style set for '%s'."), *GetPathName() );
68 return nullptr;
69 }
70
71 if ( Style->GetTypeName() != DesiredTypeName )
72 {
73 UE_LOG( LogSlateStyle, Error, TEXT("USlateWidgetStyleAsset::GetStyle : The custom style is not of the desired type. Desired: '%s', Actual: '%s'"), *DesiredTypeName.ToString(), *Style->GetTypeName().ToString() );
74 return nullptr;
75 }
76
77 return Style;
78 }
79};
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
CORE_API FString ToString() const
Definition UnrealNames.cpp:3537
Definition Object.h:95
Definition SlateWidgetStyleAsset.h:18
const FSlateWidgetStyle * GetStyleChecked(const FName DesiredTypeName) const
Definition SlateWidgetStyleAsset.h:55
const FSlateWidgetStyle * GetStyle(const FName DesiredTypeName) const
Definition SlateWidgetStyleAsset.h:38
const WidgetStyleType * GetStyleChecked() const
Definition SlateWidgetStyleAsset.h:33
Definition SlateWidgetStyleContainerBase.h:21
Definition SlateWidgetStyle.h:16
virtual const FName GetTypeName() const
Definition SlateWidgetStyle.h:45
Definition ObjectPtr.h:488