Files
AronaSlate/Source/Arona/UI/Widget/PatternThumbnail/SPatternSelector.h
2024-01-25 11:21:15 +08:00

46 lines
1.0 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "SCompoundWidget.h"
class STextBlock;
class SAutoPatternThumbnail;
class SPatternThumbnail;
class SMidiPatternThumbnail;
class SScrollBox;
class SMenuAnchor;
class FPattern;
/**
*
*/
class ARONA_API SPatternSelector : public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS(SPatternSelector)
{
}
SLATE_END_ARGS()
/** Constructs this widget with InArgs */
void Construct(const FArguments& InArgs);
virtual FReply OnMouseButtonDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
private:
void OnPatternSelected(FPattern* Pattern);
void OnPatternDeselected(FPattern* Pattern);
void OnNewPattern(FPattern* Pattern);
void OnDeletePattern(FPattern* Pattern);
TSharedRef<SWidget> CreatePatternList();
TSharedPtr<SMenuAnchor> MenuAnchor;
TSharedPtr<SScrollBox> PatternList;
TSharedPtr<STextBlock> SelectPatternName;
TSharedPtr<SAutoPatternThumbnail> Thumbnail;
};