Files
UnrealEngineUWP/Engine/Source/Editor/TranslationEditor/Private/CustomFontColumn.h
bryan sefcik b93a6cf7ed Pass 1 on editor include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e283bec5b0c765fc0ffdb

[CL 21960084 by bryan sefcik in ue5-main branch]
2022-09-11 18:33:06 -04:00

75 lines
2.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "UserInterface/PropertyTable/PropertyTableConstants.h"
#include "Fonts/SlateFontInfo.h"
#include "Framework/SlateDelegates.h"
#include "HAL/PlatformCrt.h"
#include "IPropertyTableCustomColumn.h"
#include "Styling/AppStyle.h"
#include "Templates/SharedPointer.h"
#include "UObject/NameTypes.h"
class FProperty;
class IPropertyTableCell;
class IPropertyTableCellPresenter;
class IPropertyTableColumn;
class IPropertyTableUtilities;
class SWidget;
/**
* A property table custom column used to display text cells in a chosen font
*/
class FCustomFontColumn : public IPropertyTableCustomColumn
{
public:
FCustomFontColumn(FSlateFontInfo InFont = FAppStyle::GetFontStyle( PropertyTableConstants::NormalFontStyle ), FOnClicked InOnChangeFontButtonClicked = NULL, FOnInt32ValueCommitted InOnFontSizeValueCommitted = NULL)
: Font(InFont)
, OnChangeFontButtonClicked(InOnChangeFontButtonClicked)
, OnFontSizeValueCommitted(InOnFontSizeValueCommitted)
{}
/** 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 */
private:
/** Font to use for this column's cells */
FSlateFontInfo Font;
/** List of properties that this Custom Font Column should be used to display */
TArray<FProperty*> SupportedProperties;
/** Function to call when Change Font button clicked */
FOnClicked OnChangeFontButtonClicked;
/** Function to call when Font Size SpinBox's Value is committed */
FOnInt32ValueCommitted OnFontSizeValueCommitted;
public:
void SetFont(FSlateFontInfo InFont)
{
Font = InFont;
}
void AddSupportedProperty(FProperty* Property)
{
SupportedProperties.Add(Property);
}
void SetOnChangeFontButtonClicked(FOnClicked InOnClicked)
{
OnChangeFontButtonClicked = InOnClicked;
}
void SetOnFontSizeValueCommitted(FOnInt32ValueCommitted InOnFontSizeValueCommitted)
{
OnFontSizeValueCommitted = InOnFontSizeValueCommitted;
}
};