// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Widgets/SCompoundWidget.h" #include "Widgets/Views/SListView.h" class SSearchBox; class FGraphTrack; class FGraphSeries; // A widget representing all the series in a graph track, allowing management of their visibility class SGraphSeriesList: public SCompoundWidget { public: SLATE_BEGIN_ARGS(SGraphSeriesList) {} SLATE_END_ARGS() void Construct(const FArguments& InArgs, const TSharedRef& InGraphTrack); private: // Generate a row for the list TSharedRef OnGenerateRow(TSharedPtr Item, const TSharedRef& OwnerTable); // Refresh the list as the filter has changed void RefreshFilter(); private: // The graph track we are operating on TWeakPtr GraphTrack; // The search widget TSharedPtr SearchBox; // The list view widget TSharedPtr>> ListView; // Text we are searching for FText SearchText; // Filtered list of series TArray> FilteredSeries; };