EM_Task/TraceInsights/Private/Insights/Table/ViewModels/TableCellValueGetter.h

53 lines
1.6 KiB
C
Raw Normal View History

2026-02-13 16:18:33 +08:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Insights/Table/ViewModels/TableCellValue.h"
namespace Insights
{
class FBaseTreeNode;
class FTableColumn;
////////////////////////////////////////////////////////////////////////////////////////////////////
class ITableCellValueGetter
{
public:
virtual const TOptional<FTableCellValue> GetValue(const FTableColumn& Column, const FBaseTreeNode& Node) const = 0;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
class FTableCellValueGetter: public ITableCellValueGetter
{
public:
FTableCellValueGetter() {}
virtual ~FTableCellValueGetter() {}
virtual const TOptional<FTableCellValue> GetValue(const FTableColumn& Column, const FBaseTreeNode& Node) const override { return TOptional<FTableCellValue>(); }
};
////////////////////////////////////////////////////////////////////////////////////////////////////
class FNameValueGetter: public FTableCellValueGetter
{
public:
virtual const TOptional<FTableCellValue> GetValue(const FTableColumn& Column, const FBaseTreeNode& Node) const override;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
class FDisplayNameValueGetter: public FTableCellValueGetter
{
public:
virtual const TOptional<FTableCellValue> GetValue(const FTableColumn& Column, const FBaseTreeNode& Node) const override;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
} // namespace Insights