44 lines
960 B
C++
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;
|
|
};
|