// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Input/Reply.h" #include "Widgets/DeclarativeSyntaxSupport.h" #include "Framework/Commands/UICommandList.h" #include "VisualLogger/VisualLoggerTypes.h" #include "Widgets/Views/STableViewBase.h" #include "Widgets/Views/STableRow.h" #include "SVisualLoggerBaseWidget.h" struct FLogEntryItem; struct FVisualLoggerDBRow; class SVisualLoggerLogsList : public SVisualLoggerBaseWidget { public: SLATE_BEGIN_ARGS(SVisualLoggerLogsList){} SLATE_END_ARGS() void Construct(const FArguments& InArgs, const TSharedRef& InCommandList); virtual ~SVisualLoggerLogsList(); virtual FReply OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override; void ResetData(); void ObjectSelectionChanged(const TArray& Selection); void OnItemSelectionChanged(const FVisualLoggerDBRow& BDRow, int32 ItemIndex); void OnFiltersChanged(); void OnFiltersSearchChanged(const FText& Filter); protected: void RegenerateLogEntries(); void GenerateLogs(const FVisualLogDevice::FVisualLogEntryItem& EntryItem, bool bGenerateHeader); void LogEntryLineSelectionChanged(TSharedPtr SelectedItem, ESelectInfo::Type SelectInfo); TSharedRef LogEntryLinesGenerateRow(TSharedPtr Item, const TSharedRef& OwnerTable); protected: TSharedPtr > > LogsLinesWidget; TArray > CachedLogEntryLines; };