// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" //////////////////////////////////////////////////////////////////////////////////////////////////// struct FTimersViewColumns { ////////////////////////////////////////////////// // Column identifiers static const FName NameColumnID; static const FName MetaGroupNameColumnID; static const FName TypeColumnID; static const FName InstanceCountColumnID; // Inclusive Time columns static const FName TotalInclusiveTimeColumnID; static const FName MaxInclusiveTimeColumnID; static const FName UpperQuartileInclusiveTimeColumnID; static const FName AverageInclusiveTimeColumnID; static const FName MedianInclusiveTimeColumnID; static const FName LowerQuartileInclusiveTimeColumnID; static const FName MinInclusiveTimeColumnID; // Exclusive Time columns static const FName TotalExclusiveTimeColumnID; static const FName MaxExclusiveTimeColumnID; static const FName UpperQuartileExclusiveTimeColumnID; static const FName AverageExclusiveTimeColumnID; static const FName MedianExclusiveTimeColumnID; static const FName LowerQuartileExclusiveTimeColumnID; static const FName MinExclusiveTimeColumnID; }; //////////////////////////////////////////////////////////////////////////////////////////////////// namespace Insights { class FTableColumn; } //////////////////////////////////////////////////////////////////////////////////////////////////// struct FTimersViewColumnFactory { public: static void CreateTimersViewColumns(TArray>& Columns); static void CreateTimerTreeViewColumns(TArray>& Columns); static TSharedRef CreateNameColumn(); static TSharedRef CreateMetaGroupNameColumn(); static TSharedRef CreateTypeColumn(); static TSharedRef CreateInstanceCountColumn(); static TSharedRef CreateTotalInclusiveTimeColumn(); static TSharedRef CreateMaxInclusiveTimeColumn(); static TSharedRef CreateAverageInclusiveTimeColumn(); static TSharedRef CreateMedianInclusiveTimeColumn(); static TSharedRef CreateMinInclusiveTimeColumn(); static TSharedRef CreateTotalExclusiveTimeColumn(); static TSharedRef CreateMaxExclusiveTimeColumn(); static TSharedRef CreateAverageExclusiveTimeColumn(); static TSharedRef CreateMedianExclusiveTimeColumn(); static TSharedRef CreateMinExclusiveTimeColumn(); private: static constexpr float TotalTimeColumnInitialWidth = 60.0f; static constexpr float TimeMsColumnInitialWidth = 50.0f; }; ////////////////////////////////////////////////////////////////////////////////////////////////////