Files
UnrealEngineUWP/Engine/Source/Editor/PropertyEditor/Public/IPropertyUtilities.h
Phillip Kavan dfa32e9708 Extends the class viewer module to support multiple custom class filters along with an optional associated view option flag.
Additional changes:
- Deprecates the previous method for specifying a singular custom class viewer filter and updates all existing occurrences of this pattern in engine code.
- Extends the property editor utilities interface to expose custom class filter(s) that can be applied to the class picker widget used for editing class property values.
- Adds an implementation of this interface to SDetailsView such that additional class filter(s) can now be configured to be applied to all underlying class property nodes.

#jira UE-108316
#rb Lauren.Barnes
#preflight 60c2102e8ae8960001110d50

[CL 16623084 by Phillip Kavan in ue5-main branch]
2021-06-10 10:31:37 -04:00

34 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "AssetThumbnail.h"
struct FPropertyChangedEvent;
class FEditConditionParser;
/**
* Settings for property editor widgets that call up to the base container for the widgets
* without knowing information about that container
*/
class IPropertyUtilities
{
public:
virtual ~IPropertyUtilities(){}
virtual class FNotifyHook* GetNotifyHook() const = 0;
virtual bool AreFavoritesEnabled() const = 0;
virtual void ToggleFavorite( const TSharedRef< class FPropertyEditor >& PropertyEditor ) const = 0;
virtual void CreateColorPickerWindow( const TSharedRef< class FPropertyEditor >& PropertyEditor, bool bUseAlpha ) const = 0;
virtual void EnqueueDeferredAction( FSimpleDelegate DeferredAction ) = 0;
virtual bool IsPropertyEditingEnabled() const = 0;
virtual void ForceRefresh() = 0;
virtual void RequestRefresh() = 0;
virtual TSharedPtr<class FAssetThumbnailPool> GetThumbnailPool() const = 0;
virtual void NotifyFinishedChangingProperties(const FPropertyChangedEvent& PropertyChangedEvent) = 0;
virtual bool HasClassDefaultObject() const = 0;
virtual const TArray<TWeakObjectPtr<UObject>>& GetSelectedObjects() const = 0;
/** If a customization standalone widget is used, the value should be update only once, when its window is closed */
virtual bool DontUpdateValueWhileEditing() const = 0;
virtual const TArray<TSharedRef<class IClassViewerFilter>>& GetClassViewerFilters() const = 0;
};