70 lines
2.6 KiB
C++
70 lines
2.6 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Containers/UnrealString.h"
|
|
#include "CoreMinimal.h"
|
|
#include "IPropertyTableCellPresenter.h"
|
|
#include "IPropertyTableColumn.h"
|
|
#include "IPropertyTableCustomColumn.h"
|
|
#include "IPropertyTableUtilities.h"
|
|
#include "Internationalization/Text.h"
|
|
#include "Templates/SharedPointer.h"
|
|
#include "UObject/NameTypes.h"
|
|
|
|
class FProperty;
|
|
class IPropertyHandle;
|
|
class IPropertyTableCell;
|
|
class IPropertyTableColumn;
|
|
class IPropertyTableUtilities;
|
|
class SWidget;
|
|
|
|
class FConfigPropertyConfigFileStateCellPresenter : public TSharedFromThis< FConfigPropertyConfigFileStateCellPresenter >, public IPropertyTableCellPresenter
|
|
{
|
|
public:
|
|
|
|
FConfigPropertyConfigFileStateCellPresenter(const TSharedPtr< IPropertyHandle > PropertyHandle);
|
|
virtual ~FConfigPropertyConfigFileStateCellPresenter() {}
|
|
|
|
|
|
/** Begin IPropertyTableCellPresenter interface */
|
|
virtual TSharedRef< class SWidget > ConstructDisplayWidget() override;
|
|
virtual bool RequiresDropDown() override;
|
|
virtual TSharedRef< class SWidget > ConstructEditModeCellWidget() override;
|
|
virtual TSharedRef< class SWidget > ConstructEditModeDropDownWidget() override;
|
|
virtual TSharedRef< class SWidget > WidgetToFocusOnEdit() override;
|
|
virtual bool HasReadOnlyEditMode() override;
|
|
virtual FString GetValueAsString() override;
|
|
|
|
virtual FText GetValueAsText() override;
|
|
/** End IPropertyTableCellPresenter interface */
|
|
|
|
protected:
|
|
|
|
/**
|
|
* The text we display - we just store this as we never need to *edit* properties in the stats viewer,
|
|
* only view them. Therefore we dont need to dynamically update this string.
|
|
*/
|
|
FText Text;
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
* A property table custom column used to display source control condition of files.
|
|
*/
|
|
class CONFIGEDITOR_API FConfigPropertyConfigFileStateCustomColumn : public IPropertyTableCustomColumn
|
|
{
|
|
public:
|
|
FConfigPropertyConfigFileStateCustomColumn(){}
|
|
|
|
/** Begin IPropertyTableCustomColumn interface */
|
|
virtual bool Supports(const TSharedRef< IPropertyTableColumn >& Column, const TSharedRef< IPropertyTableUtilities >& Utilities) const override;
|
|
virtual TSharedPtr< SWidget > CreateColumnLabel(const TSharedRef< IPropertyTableColumn >& Column, const TSharedRef< IPropertyTableUtilities >& Utilities, const FName& Style) const override;
|
|
virtual TSharedPtr< IPropertyTableCellPresenter > CreateCellPresenter(const TSharedRef< IPropertyTableCell >& Cell, const TSharedRef< IPropertyTableUtilities >& Utilities, const FName& Style) const override;
|
|
/** End IPropertyTableCustomColumn interface */
|
|
|
|
/* The property type which can be displayed in this column */
|
|
FProperty* SupportedProperty;
|
|
};
|