Files
UnrealEngineUWP/Engine/Source/Developer/LogVisualizer/Public/LogVisualizerSettings.h
sebastian kowalczyk e0d333cfff Added extreme values for graphs in LogVisualizer (disabled by default and it can be enabled in settings)
[CL 2404471 by sebastian kowalczyk in Main branch]
2015-01-13 04:27:36 -05:00

99 lines
3.1 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
GameplayDebuggerSettings.h: Declares the UGameplayDebuggerSettings class.
=============================================================================*/
#pragma once
#include "LogVisualizerSettings.generated.h"
USTRUCT()
struct FFiltersPreset
{
GENERATED_USTRUCT_BODY()
UPROPERTY(config)
FString FilterName;
UPROPERTY(config)
FString ObjectNameFilter;
UPROPERTY(config)
FString DataFilter;
UPROPERTY(config)
TArray<FString> CategoryFilters;
UPROPERTY(config)
TArray<FString> SelectedClasses;
};
UCLASS(config = EditorUserSettings)
class LOGVISUALIZER_API ULogVisualizerSettings : public UObject
{
GENERATED_UCLASS_BODY()
public:
DECLARE_EVENT_OneParam(ULogVisualizerSettings, FSettingChangedEvent, FName /*PropertyName*/);
FSettingChangedEvent& OnSettingChanged() { return SettingChangedEvent; }
/**Whether to show trivial logs, i.e. the ones with only one entry.*/
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
bool bIgnoreTrivialLogs;
/**Threshold for trivial Logs*/
UPROPERTY(EditAnywhere, config, Category = "VisualLogger", meta = (EditCondition = "bIgnoreTrivialLogs", ClampMin = "0", ClampMax = "10", UIMin = "0", UIMax = "10"))
int32 TrivialLogsThreshold;
/**Whether to show the recent data or not. Property disabled for now.*/
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
bool bStickToRecentData;
/**Whether to reset current data or not for each new session.*/
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
bool bResetDataWithNewSession;
/**Whether to show histogram labels inside graph or outside. Property disabled for now.*/
UPROPERTY(VisibleAnywhere, config, Category = "VisualLogger")
bool bShowHistogramLabelsOutside;
/** Camera distance used to setup location during reaction on log item double click */
UPROPERTY(EditAnywhere, config, Category = "VisualLogger", meta = (ClampMin = "10", ClampMax = "1000", UIMin = "10", UIMax = "1000"))
float DefaultCameraDistance;
/**Whether to search/filter categories or to get text vlogs into account too */
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
bool bSearchInsideLogs;
/** Background color for 2d graphs visualization */
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
FColor GraphsBackgroundColor;
UPROPERTY(config)
TArray<FFiltersPreset> FilterPresets;
/**Whether to store all filter settings on exit*/
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
bool bPresistentFilters;
/** Whether to extreme values on graph (data has to be provided for extreme values) */
UPROPERTY(EditAnywhere, config, Category = "VisualLogger")
bool bDrawExtremesOnGraphs;
UPROPERTY(config)
FFiltersPreset PresistentPresets;
FFiltersPreset CurrentPresets;
// UObject overrides
#if WITH_EDITOR
virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
#endif
private:
// Holds an event delegate that is executed when a setting has changed.
FSettingChangedEvent SettingChangedEvent;
};