// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Widgets/DeclarativeSyntaxSupport.h" #include "Widgets/SCompoundWidget.h" #include "Widgets/Views/STreeView.h" class FSequencer; class UMovieScene; class UMovieSceneSequence; struct FSequencerHierarchyNode; class SSequencerHierarchyBrowser : public SCompoundWidget { public: SLATE_BEGIN_ARGS(SSequencerHierarchyBrowser) {} SLATE_END_ARGS() void Construct(const FArguments& InArgs, TWeakPtr InWeakSequencer); ~SSequencerHierarchyBrowser(); TSharedPtr GetSequencer() const { return WeakSequencer.Pin(); } UMovieScene* GetMovieScene() const; private: void AddChildren(TSharedRef ParentNode, UMovieSceneSequence* Sequence); void UpdateTree(); void HandleTreeSelectionChanged(TSharedPtr InSelectedNode, ESelectInfo::Type SelectionType); private: /** The sequencer UI instance that is currently open */ TWeakPtr WeakSequencer; TSharedPtr>> TreeView; TArray> NodeGroupsTree; };