Files
UnrealEngineUWP/Engine/Source/Editor/ContentBrowserData/Public/ContentBrowserDataDragDropOp.h
Marc Audy 4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00

50 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Input/DragAndDrop.h"
#include "DragAndDrop/AssetDragDropOp.h"
#include "ContentBrowserItem.h"
class CONTENTBROWSERDATA_API FContentBrowserDataDragDropOp : public FAssetDragDropOp
{
public:
DRAG_DROP_OPERATOR_TYPE(FContentBrowserDataDragDropOp, FAssetDragDropOp)
static TSharedRef<FContentBrowserDataDragDropOp> New(TArrayView<const FContentBrowserItem> InDraggedItems);
static TSharedRef<FContentBrowserDataDragDropOp> Legacy_New(TArrayView<const FAssetData> InAssetData, TArrayView<const FString> InAssetPaths = TArrayView<const FString>(), UActorFactory* InActorFactory = nullptr);
const TArray<FContentBrowserItem>& GetDraggedItems() const
{
return DraggedItems;
}
const TArray<FContentBrowserItem>& GetDraggedFiles() const
{
return DraggedFiles;
}
const TArray<FContentBrowserItem>& GetDraggedFolders() const
{
return DraggedFolders;
}
private:
void Init(TArrayView<const FContentBrowserItem> InDraggedItems);
void LegacyInit(TArrayView<const FAssetData> InAssetData, TArrayView<const FString> InAssetPaths, UActorFactory* ActorFactory);
virtual void InitThumbnail() override;
virtual bool HasFiles() const override;
virtual bool HasFolders() const override;
virtual int32 GetTotalCount() const override;
virtual FText GetFirstItemText() const override;
private:
TArray<FContentBrowserItem> DraggedItems;
TArray<FContentBrowserItem> DraggedFiles;
TArray<FContentBrowserItem> DraggedFolders;
};