AronaSlate/Source/Arona/UI/Widget/Mixer/SMixerEffectList.h
2024-01-25 11:21:15 +08:00

45 lines
992 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "SCompoundWidget.h"
#include "PluginHost/PluginHost.h"
class SButton;
class SVerticalBox;
class SScrollBox;
class FMixerTrack;
/**
*
*/
class ARONA_API SMixerEffectList : public SCompoundWidget
{
public:
~SMixerEffectList();
SLATE_BEGIN_ARGS(SMixerEffectList)
{
}
SLATE_END_ARGS()
/** Constructs this widget with InArgs */
void Construct(const FArguments& InArgs);
void SetMixerTrack(FMixerTrack* InMixerTrack);
private:
void OnMixerTrackEffectAdded(FMixerTrack* InMixerTrack, FPluginHost* InPluginHost);
void OnMixerTrackEffectRemoved(FPluginHost* InPluginHost);
void OnMixerTrackRemoved(FMixerTrack* InMixerTrack);
void AddEffectItemWidget(FPluginHost* InPluginHost);
FReply AddNewEffect();
TSharedPtr<SScrollBox> ScrollBox;
TSharedPtr<SVerticalBox> VerticalBox;
TSharedPtr<SButton> AddEffectButton;
FMixerTrack* MixerTrack;
};