Files
UnrealEngine/Engine/Source/Editor/PropertyEditor/Public/PropertyRestriction.h
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

59 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "Containers/UnrealString.h"
#include "CoreMinimal.h"
#include "Internationalization/Text.h"
#define UE_API PROPERTYEDITOR_API
class IClassViewerFilter;
class FPropertyRestriction
{
public:
FPropertyRestriction(const FText& InReason)
: Reason(InReason)
{
}
const FText& GetReason() const { return Reason; }
UE_API bool IsValueHidden(const FString& Value) const;
UE_API bool IsValueDisabled(const FString& Value) const;
UE_API void AddHiddenValue(FString Value);
UE_API void AddDisabledValue(FString Value);
UE_API void AddClassFilter(TSharedRef<IClassViewerFilter> ClassFilter);
UE_API void RemoveHiddenValue(FString Value);
UE_API void RemoveDisabledValue(FString Value);
UE_API void RemoveClassFilter(TSharedRef<IClassViewerFilter> ClassFilter);
UE_API void RemoveAll();
TArray<FString>::TConstIterator GetHiddenValuesIterator() const
{
return HiddenValues.CreateConstIterator();
}
TArray<FString>::TConstIterator GetDisabledValuesIterator() const
{
return DisabledValues.CreateConstIterator();
}
TArray<TSharedRef<IClassViewerFilter>>::TConstIterator GeClassViewFilterIterator() const
{
return ClassViewFilter.CreateConstIterator();
}
private:
TArray<FString> HiddenValues;
TArray<FString> DisabledValues;
TArray<TSharedRef<IClassViewerFilter>> ClassViewFilter;
FText Reason;
};
#undef UE_API