2024-01-25 11:21:15 +08:00

44 lines
960 B
C++

// 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<SWidget> 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<SScrollBox> ListView;
};