7#include "CoreMinimal.h"
8#include <IPropertyTypeCustomization.h>
9#include "Slate/SArticyIdProperty.h"
10#include "ClassViewerFilter.h"
11#include "ClassViewerModule.h"
12#include "ArticyObject.h"
31 virtual bool IsClassAllowed(
const FClassViewerInitializationOptions& InInitOptions,
const UClass* InClass, TSharedRef< FClassViewerFilterFuncs > InFilterFuncs)
override
41 virtual bool IsUnloadedClassAllowed(
const FClassViewerInitializationOptions& InInitOptions,
const TSharedRef< const IUnloadedBlueprintData > InUnloadedClassData, TSharedRef< FClassViewerFilterFuncs > InFilterFuncs)
override
64 static TSharedRef<IPropertyTypeCustomization>
MakeInstance();
67 virtual void CustomizeHeader(TSharedRef<IPropertyHandle> PropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& CustomizationUtils)
override;
69 virtual void CustomizeChildren(TSharedRef<IPropertyHandle> PropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils)
override;
90 TSharedPtr<IPropertyHandle> ArticyIdPropertyHandle;
91 TSharedPtr<SArticyIdProperty> ArticyIdPropertyWidget;
92 bool bShouldCustomize =
true;
94 UClass* GetClassRestriction()
const;
95 bool IsExactClass()
const;
96 bool IsReadOnly()
const;
97 bool HasClassRestrictionMetaData()
const;
98 bool HasExactClassMetaData()
const;
101 void OnArticyIdChanged(
const FArticyId& NewArticyId)
const;
Customizes the display and behavior of Articy ID properties in the details panel.
Definition ArticyIdCustomization.h:57
virtual void CustomizeChildren(TSharedRef< IPropertyHandle > PropertyHandle, IDetailChildrenBuilder &ChildBuilder, IPropertyTypeCustomizationUtils &CustomizationUtils) override
Customizes the children of the Articy ID property in the details panel.
Definition ArticyIdCustomization.cpp:93
static FArticyId GetIdFromValueString(FString SourceString)
Parses the given string to extract the Articy ID.
Definition ArticyIdCustomization.cpp:230
static FArticyId * RetrieveArticyId(IPropertyHandle *ArticyIdHandle)
Retrieves the Articy ID from the specified property handle.
Definition ArticyIdCustomization.cpp:106
static TSharedRef< IPropertyTypeCustomization > MakeInstance()
Creates a shared instance of the FArticyIdCustomization.
Definition ArticyIdCustomization.cpp:29
virtual void CustomizeHeader(TSharedRef< IPropertyHandle > PropertyHandle, FDetailWidgetRow &HeaderRow, IPropertyTypeCustomizationUtils &CustomizationUtils) override
Customizes the header of the Articy ID property in the details panel.
Definition ArticyIdCustomization.cpp:43
bool bRequiresExactClass
Whether an exact class match is required.
Definition ArticyIdCustomization.h:47
UClass * GivenClass
The class to filter by.
Definition ArticyIdCustomization.h:46
FArticyRefClassFilter(UClass *GivenClass=UArticyObject::StaticClass(), bool bInRequiresExactClass=false)
Constructs an instance of FArticyRefClassFilter with specified class and exact class requirement.
Definition ArticyIdCustomization.cpp:20
Definition ArticyBaseTypes.h:18