34 lines
1.2 KiB
C++
34 lines
1.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "PropertyEditorModule.h"
|
|
|
|
struct FDetailLayoutData;
|
|
class FPropertyNode;
|
|
class FComplexPropertyNode;
|
|
|
|
namespace DetailLayoutHelpers
|
|
{
|
|
struct FUpdatePropertyMapArgs
|
|
{
|
|
FDetailLayoutData* LayoutData;
|
|
FCustomPropertyTypeLayoutMap* InstancedPropertyTypeToDetailLayoutMap;
|
|
bool bEnableFavoriteSystem;
|
|
bool bUpdateFavoriteSystemOnly;
|
|
};
|
|
|
|
/**
|
|
* Recursively updates children of property nodes. Generates default layout for properties
|
|
*
|
|
* @param InNode The parent node to get children from
|
|
* @param The detail layout builder that will be used for customization of this property map
|
|
* @param CurCategory The current category name
|
|
*/
|
|
void UpdateSinglePropertyMapRecursive(FPropertyNode& InNode, FName CurCategory, FComplexPropertyNode* CurObjectNode, FUpdatePropertyMapArgs& InUpdateArgs);
|
|
|
|
/**
|
|
* Calls a delegate for each registered class that has properties visible to get any custom detail layouts
|
|
*/
|
|
void QueryCustomDetailLayout(FDetailLayoutData& LayoutData, const FCustomDetailLayoutMap& InstancedDetailLayoutMap, const FOnGetDetailCustomizationInstance& GenericLayoutDelegate);
|
|
} |