ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyRefCustomization.h
1//
2// Copyright (c) 2023 articy Software GmbH & Co. KG. All rights reserved.
3//
4
5#pragma once
6
7#include "CoreMinimal.h"
8#include <IPropertyTypeCustomization.h>
9#include "ArticyRef.h"
10#include "ArticyObject.h"
11
18class FArticyRefCustomization final : public IPropertyTypeCustomization
19{
20public:
26 static TSharedRef<IPropertyTypeCustomization> MakeInstance();
27
29 virtual void CustomizeHeader(TSharedRef<IPropertyHandle> PropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& CustomizationUtils) override;
30
31 virtual void CustomizeChildren(TSharedRef<IPropertyHandle> PropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils) override;
32
39 static FArticyRef* RetrieveArticyRef(IPropertyHandle* ArticyIdHandle);
40
47 static FArticyId GetIdFromValueString(FString SourceString);
48
49private:
51 TSharedPtr<IPropertyHandle> ArticyRefPropertyHandle;
52
54 TSharedPtr<SWidget> ArticyRefPropertyWidget;
55
61 UClass* GetClassRestriction() const;
62
68 bool IsExactClass() const;
69
75 bool IsReadOnly() const;
76
82 bool HasClassRestrictionMetaData() const;
83
89 bool HasExactClassMetaData() const;
90
96 FArticyRef GetArticyRef() const;
97
105 void OnArticyRefChanged(const FArticyRef& NewArticyRef) const;
106};
Customizes the ArticyRef property in the Unreal Engine editor's details panel.
Definition ArticyRefCustomization.h:19
virtual void CustomizeChildren(TSharedRef< IPropertyHandle > PropertyHandle, IDetailChildrenBuilder &ChildBuilder, IPropertyTypeCustomizationUtils &CustomizationUtils) override
Customizes the children of the ArticyRef property in the details panel.
Definition ArticyRefCustomization.cpp:67
virtual void CustomizeHeader(TSharedRef< IPropertyHandle > PropertyHandle, FDetailWidgetRow &HeaderRow, IPropertyTypeCustomizationUtils &CustomizationUtils) override
Customizes the header of the ArticyRef property in the details panel.
Definition ArticyRefCustomization.cpp:35
static FArticyId GetIdFromValueString(FString SourceString)
Retrieves the ArticyId from a formatted value string.
Definition ArticyRefCustomization.cpp:196
static FArticyRef * RetrieveArticyRef(IPropertyHandle *ArticyIdHandle)
Retrieves the ArticyRef object from a given property handle.
Definition ArticyRefCustomization.cpp:78
static TSharedRef< IPropertyTypeCustomization > MakeInstance()
Creates a shared instance of FArticyRefCustomization.
Definition ArticyRefCustomization.cpp:21
Definition ArticyBaseTypes.h:18
Definition ArticyRef.h:13