Files
UnrealEngineUWP/Engine/Source/Editor/ContentBrowser/Public/ContentBrowserMenuContexts.h
rex hill e9da6f48ca Content Browser: Deactivate Add and Import buttons in content browser when path selected does not support those features (virtual paths such as /All)
#preflight 6227f184695c94f981bc741a
#rb jamie.dale

#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 19322495 via CL 19339234 via CL 19344449 via CL 19350377 via CL 19350529
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351705 by rex hill in ue5-main branch]
2022-03-11 03:58:36 -05:00

128 lines
2.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "ContentBrowserDelegates.h"
#include "AssetTypeCategories.h"
#include "ContentBrowserMenuContexts.generated.h"
class FAssetContextMenu;
class IAssetTypeActions;
class SAssetView;
class SContentBrowser;
class SFilterList;
UCLASS()
class CONTENTBROWSER_API UContentBrowserAssetContextMenuContext : public UObject
{
GENERATED_BODY()
public:
TWeakPtr<FAssetContextMenu> AssetContextMenu;
TWeakPtr<IAssetTypeActions> CommonAssetTypeActions;
UPROPERTY()
TArray<TWeakObjectPtr<UObject>> SelectedObjects;
UPROPERTY()
TObjectPtr<UClass> CommonClass;
UPROPERTY()
bool bCanBeModified;
UFUNCTION(BlueprintCallable, Category="Tool Menus")
TArray<UObject*> GetSelectedObjects() const
{
TArray<UObject*> Result;
Result.Reserve(SelectedObjects.Num());
for (const TWeakObjectPtr<UObject>& Object : SelectedObjects)
{
Result.Add(Object.Get());
}
return Result;
}
};
UCLASS()
class CONTENTBROWSER_API UContentBrowserAssetViewContextMenuContext : public UObject
{
GENERATED_BODY()
public:
TWeakPtr<SContentBrowser> OwningContentBrowser;
TWeakPtr<SAssetView> AssetView;
};
UCLASS()
class CONTENTBROWSER_API UContentBrowserMenuContext : public UObject
{
GENERATED_BODY()
public:
TWeakPtr<SContentBrowser> ContentBrowser;
};
UCLASS()
class CONTENTBROWSER_API UContentBrowserFolderContext : public UContentBrowserMenuContext
{
GENERATED_BODY()
public:
UPROPERTY()
bool bCanBeModified;
UPROPERTY()
bool bNoFolderOnDisk;
UPROPERTY()
int32 NumAssetPaths;
UPROPERTY()
int32 NumClassPaths;
FOnCreateNewFolder OnCreateNewFolder;
};
UCLASS()
class CONTENTBROWSER_API UContentBrowserFilterListContext : public UObject
{
GENERATED_BODY()
public:
TWeakPtr<SFilterList> FilterList;
EAssetTypeCategories::Type MenuExpansion;
};
UCLASS()
class CONTENTBROWSER_API UContentBrowserAddNewContextMenuContext : public UObject
{
GENERATED_BODY()
public:
TWeakPtr<SContentBrowser> ContentBrowser;
};
UCLASS()
class CONTENTBROWSER_API UContentBrowserToolbarMenuContext : public UObject
{
GENERATED_BODY()
public:
FName GetCurrentPath() const;
bool CanWriteToCurrentPath() const;
TWeakPtr<SContentBrowser> ContentBrowser;
};