// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "ChannelRackItem.h" #include "SCompoundWidget.h" #include "SListView.h" #include "UI/Widget/IChildWindow.h" class FPattern; class FMidiPattern; class SScrollBox; class FPluginHost; /** * */ class ARONA_API SChannelRack : public SCompoundWidget, public IChildWindow { public: SLATE_BEGIN_ARGS(SChannelRack) { } SLATE_END_ARGS() /** Constructs this widget with InArgs */ void Construct(const FArguments& InArgs); virtual TSharedRef GetWidget() override { return AsShared(); } void SelectPattern(FMidiPattern* Pattern); private: void OnSelectPattern(FPattern* Pattern); void UpdateSplitterAPosition(float A); void UpdateSplitterBPosition(float B); void OnInstrumentHostCreated(FPluginHost* PluginHost); void OnInstrumentHostRemoved(FPluginHost* PluginHost); TSharedPtr ListView; };