18#include "TypedElementSelectionInterface.generated.h"
59 UPROPERTY(BlueprintReadWrite, Category=
"TypedElementInterfaces|Selection|IsSelectedOptions", meta=(AllowPrivateAccess=
true))
62 FName TEDSIntegrationSelectionSetName =
FName();
93 UPROPERTY(BlueprintReadWrite, Category=
"TypedElementInterfaces|Selection|SelectionOptions", meta=(AllowPrivateAccess=
true))
97 bool bAllowGroups =
true;
100 bool bAllowLegacyNotifications =
true;
103 bool bWarnIfLocked =
false;
106 bool bAllowSubRootSelection =
false;
111 FName TEDSIntegrationSelectionSetName =
FName();
122 checkf(
Cloned,
TEXT(
"ITypedElementTransactedElement derived types must implement a valid Clone function!"));
128 return GetElementImpl();
149 checkf(!
InArchive.IsPersistent(),
TEXT(
"ITypedElementTransactedElement can only be serialized by transient archives!"));
163UINTERFACE(MinimalAPI, BlueprintType, meta = (CannotImplementInterfaceInBlueprint))
250 UFUNCTION(BlueprintCallable, Category =
"TypedElementInterfaces|Selection")
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UINTERFACE(...)
Definition ObjectMacros.h:780
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint8 FTypedHandleTypeId
Definition TypedElementLimits.h:29
ETypedElementSelectionMethod
Definition TypedElementSelectionInterface.h:25
ETypedElementChildInclusionMethod
Definition TypedElementSelectionInterface.h:36
Definition Archive.h:1208
Definition NameTypes.h:617
Definition TypedElementSelectionInterface.h:170
TUniquePtr< ITypedElementTransactedElement > CreateTransactedElement(const FTypedHandleTypeId InTypeId)
Definition TypedElementSelectionInterface.h:232
virtual TYPEDELEMENTRUNTIME_API bool SelectElement(const FTypedElementHandle &InElementHandle, const FTypedElementListPtr &InSelectionSet, const FTypedElementSelectionOptions &InSelectionOptions)
Definition TypedElementSelectionInterface.cpp:18
virtual TYPEDELEMENTRUNTIME_API bool DeselectElement(const FTypedElementHandle &InElementHandle, const FTypedElementListPtr &InSelectionSet, const FTypedElementSelectionOptions &InSelectionOptions)
Definition TypedElementSelectionInterface.cpp:23
virtual bool AllowSelectionModifiers(const FTypedElementHandle &InElementHandle, const FTypedElementListConstPtr &InSelectionSet)
Definition TypedElementSelectionInterface.h:204
virtual bool CanDeselectElement(const FTypedElementHandle &InElementHandle, const FTypedElementSelectionOptions &InSelectionOptions)
Definition TypedElementSelectionInterface.h:187
virtual TYPEDELEMENTRUNTIME_API bool IsElementSelected(const FTypedElementHandle &InElementHandle, const FTypedElementListConstPtr &SelectionSetPtr, const FTypedElementIsSelectedOptions &InSelectionOptions)
Definition TypedElementSelectionInterface.cpp:13
virtual FTypedElementHandle GetSelectionElement(const FTypedElementHandle &InElementHandle, const FTypedElementListConstPtr &InCurrentSelection, const ETypedElementSelectionMethod InSelectionMethod)
Definition TypedElementSelectionInterface.h:209
virtual bool CanSelectElement(const FTypedElementHandle &InElementHandle, const FTypedElementSelectionOptions &InSelectionOptions)
Definition TypedElementSelectionInterface.h:182
TUniquePtr< ITypedElementTransactedElement > CreateTransactedElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementSelectionInterface.h:219
virtual bool ShouldPreventTransactions(const FTypedElementHandle &InElementHandle)
Definition TypedElementSelectionInterface.h:214
virtual TUniquePtr< ITypedElementTransactedElement > CreateTransactedElementImpl()
Definition TypedElementSelectionInterface.h:296
Definition TypedElementSelectionInterface.h:115
virtual FTypedElementHandle GetElementImpl() const =0
void SetElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementSelectionInterface.h:136
FTypedElementHandle GetElement() const
Definition TypedElementSelectionInterface.h:126
TUniquePtr< ITypedElementTransactedElement > Clone() const
Definition TypedElementSelectionInterface.h:119
void SetElementType(const FTypedHandleTypeId InTypeId)
Definition TypedElementSelectionInterface.h:142
virtual void SerializeImpl(FArchive &InArchive)=0
void Serialize(FArchive &InArchive)
Definition TypedElementSelectionInterface.h:147
virtual void SetElementImpl(const FTypedElementHandle &InElementHandle)=0
virtual ~ITypedElementTransactedElement()=default
virtual TUniquePtr< ITypedElementTransactedElement > CloneImpl() const =0
FTypedHandleTypeId GetElementType() const
Definition TypedElementSelectionInterface.h:131
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition Interface.h:19
Definition TypedElementSelectionInterface.h:165
@ false
Definition radaudio_common.h:23
Definition TypedElementHandle.h:625
Definition TypedElementListProxy.h:18
Definition TypedElementHandle.h:18
Definition TypedElementSelectionInterface.h:47
FTypedElementIsSelectedOptions & SetNameForTEDSIntegration(const FName &InTEDSIntegrationSelectionSetName)
Definition TypedElementSelectionInterface.h:55
bool AllowIndirect() const
Definition TypedElementSelectionInterface.h:52
FName GetNameForTEDSIntegration() const
Definition TypedElementSelectionInterface.h:56
FTypedElementIsSelectedOptions & SetAllowIndirect(const bool InAllowIndirect)
Definition TypedElementSelectionInterface.h:51
Definition TypedElementSelectionInterface.h:67
FTypedElementSelectionOptions & SetWarnIfLocked(const bool InWarnIfLocked)
Definition TypedElementSelectionInterface.h:80
bool AllowLegacyNotifications() const
Definition TypedElementSelectionInterface.h:78
bool WarnIfLocked() const
Definition TypedElementSelectionInterface.h:81
FTypedElementSelectionOptions & SetAllowSubRootSelection(const bool InAllowSubRootSelectioin)
Definition TypedElementSelectionInterface.h:83
bool AllowSubRootSelection() const
Definition TypedElementSelectionInterface.h:84
FTypedElementSelectionOptions & SetAllowHidden(const bool InAllowHidden)
Definition TypedElementSelectionInterface.h:71
ETypedElementChildInclusionMethod GetChildElementInclusionMethod() const
Definition TypedElementSelectionInterface.h:87
FTypedElementSelectionOptions & SetAllowGroups(const bool InAllowGroups)
Definition TypedElementSelectionInterface.h:74
bool AllowHidden() const
Definition TypedElementSelectionInterface.h:72
FTypedElementSelectionOptions & SetNameForTEDSIntegration(const FName &InTEDSIntegrationSelectionSetName)
Definition TypedElementSelectionInterface.h:90
bool AllowGroups() const
Definition TypedElementSelectionInterface.h:75
FTypedElementSelectionOptions & SetAllowLegacyNotifications(const bool InAllowLegacyNotifications)
Definition TypedElementSelectionInterface.h:77
FTypedElementSelectionOptions & SetChildElementInclusionMethod(const ETypedElementChildInclusionMethod InChildElementInclusionMethod)
Definition TypedElementSelectionInterface.h:86
FName GetNameForTEDSIntegration() const
Definition TypedElementSelectionInterface.h:91
Definition TypedElementHandle.h:271
BaseInterfaceType * InterfacePtr
Definition TypedElementHandle.h:386
TUniquePtr< ITypedElementTransactedElement > CreateTransactedElement() const
Definition TypedElementSelectionInterface.h:310
FTypedElementHandle GetSelectionElement(FTypedElementListConstRef InCurrentSelection, const ETypedElementSelectionMethod InSelectionMethod) const
Definition TypedElementSelectionInterface.h:308
bool ShouldPreventTransactions() const
Definition TypedElementSelectionInterface.h:309
bool SelectElement(FTypedElementListRef InSelectionSet, const FTypedElementSelectionOptions &InSelectionOptions) const
Definition TypedElementSelectionInterface.h:305
bool IsElementSelected(FTypedElementListConstRef InSelectionSet, const FTypedElementIsSelectedOptions &InSelectionOptions) const
Definition TypedElementSelectionInterface.h:302
bool CanSelectElement(const FTypedElementSelectionOptions &InSelectionOptions) const
Definition TypedElementSelectionInterface.h:303
bool DeselectElement(FTypedElementListRef InSelectionSet, const FTypedElementSelectionOptions &InSelectionOptions) const
Definition TypedElementSelectionInterface.h:306
bool AllowSelectionModifiers(FTypedElementListConstRef InSelectionSet) const
Definition TypedElementSelectionInterface.h:307
bool CanDeselectElement(const FTypedElementSelectionOptions &InSelectionOptions) const
Definition TypedElementSelectionInterface.h:304
Definition TypedElementHandle.h:396