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

63 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Templates/SharedPointer.h"
#include "UObject/WeakFieldPtr.h"
#include "UObject/WeakObjectPtr.h"
#include "UObject/WeakObjectPtrTemplates.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SCompoundWidget.h"
class FProperty;
class SWidget;
#define LOCTEXT_NAMESPACE "ConfigEditor"
class FConfigCacheIni;
class IDetailsView;
class UConfigHierarchyPropertyView;
/*-----------------------------------------------------------------------------
SConfigEditor
-----------------------------------------------------------------------------*/
class SConfigEditor : public SCompoundWidget
{
public:
SLATE_USER_ARGS(SConfigEditor) {}
SLATE_END_ARGS()
//~ Begin SCompoundWidget|SWidget Interface
virtual void Construct(const FArguments& InArgs, TWeakFieldPtr<FProperty> InEditProperty);
//~ End SCompoundWidget|SWidget Interface
private:
/**
* Handle a change of target platform in the Config Editor UI
*/
void HandleTargetPlatformChanged();
// Panel used to select an available target platform.
TSharedPtr<class STargetPlatformSelector> TargetPlatformSelection;
/**
* Create the displayable area object for the selected platform
*/
void CreateDisplayObjectForSelectedTargetPlatform();
private:
// This is an object we use to create a config hierarchy display for a property
TWeakObjectPtr<UConfigHierarchyPropertyView> PropHelper;
// The display area for the config hierarchy editor.
TSharedPtr<SWidget> PropertyValueEditor;
// The bulk of the display of this hierarchy.
TSharedPtr<IDetailsView> DetailsView;
// Keep track of the property we are viewing.
TWeakFieldPtr<FProperty> EditProperty;
};
#undef LOCTEXT_NAMESPACE