Files
UnrealEngine/Engine/Source/Editor/PropertyEditor/Private/DetailLayoutHelpers.h
2025-05-18 13:04:45 +08:00

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);
}