void SPropertyEditorAsset::OnAssetDropped( UObject* InObject ) { if( CanEdit() ) { SetValue(InObject); } }
bool SPropertyEditorAsset::OnAssetDraggedOver( const UObject* InObject ) const { if (CanEdit() && InObject != NULL && InObject->IsA(ObjectClass)) { // Check against custom asset filter if (!OnShouldFilterAsset.IsBound() || !OnShouldFilterAsset.Execute(FAssetData(InObject))) { return CanSetBasedOnCustomClasses( FAssetData(InObject) ); } } return false; }
bool SPropertyEditorAsset::CanPaste() { FString ClipboardText; FPlatformMisc::ClipboardPaste(ClipboardText); const FString PossibleObjectPath = FPackageName::ExportTextPathToObjectPath(ClipboardText); bool bCanPaste = false; if( CanEdit() ) { if( PossibleObjectPath == TEXT("None") ) { bCanPaste = true; } else { FAssetRegistryModule& AssetRegistryModule = FModuleManager::Get().LoadModuleChecked<FAssetRegistryModule>(TEXT("AssetRegistry")); bCanPaste = PossibleObjectPath.Len() < NAME_SIZE && AssetRegistryModule.Get().GetAssetByObjectPath( *PossibleObjectPath ).IsValid(); } } return bCanPaste; }
bool SPropertyEditorText::IsReadOnly() const { return !CanEdit(); }
bool STextPropertyWidget::IsReadOnly() const { return !CanEdit(); }