2021-01-20 00:42:47 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
#pragma once
|
|
|
|
|
#include "CoreMinimal.h"
|
2021-01-27 00:58:56 -04:00
|
|
|
|
2021-01-20 00:42:47 -04:00
|
|
|
#include "Input/Reply.h"
|
|
|
|
|
#include "Layout/Visibility.h"
|
|
|
|
|
#include "SGraphNode.h"
|
|
|
|
|
#include "Widgets/DeclarativeSyntaxSupport.h"
|
|
|
|
|
#include "Widgets/SOverlay.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Forward Declarations
|
2021-01-27 00:58:56 -04:00
|
|
|
class SGraphPin;
|
2021-01-20 00:42:47 -04:00
|
|
|
class SVerticalBox;
|
2021-04-07 02:59:10 -04:00
|
|
|
class UMetasoundEditorGraphInputLiteral;
|
2021-01-20 00:42:47 -04:00
|
|
|
class UMetasoundEditorGraphNode;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SMetasoundGraphNode : public SGraphNode
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
SLATE_BEGIN_ARGS(SMetasoundGraphNode)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SLATE_END_ARGS()
|
|
|
|
|
|
|
|
|
|
void Construct(const FArguments& InArgs, class UEdGraphNode* InNode);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
// SGraphNode Interface
|
|
|
|
|
virtual void CreateOutputSideAddButton(TSharedPtr<SVerticalBox> OutputBox) override;
|
2021-01-27 00:58:56 -04:00
|
|
|
virtual TSharedPtr<SGraphPin> CreatePinWidget(UEdGraphPin* InPin) const override;
|
|
|
|
|
virtual void CreateStandardPinWidget(UEdGraphPin* InPin) override;
|
2021-01-20 00:42:47 -04:00
|
|
|
virtual TSharedRef<SWidget> CreateNodeContentArea() override;
|
|
|
|
|
virtual TSharedRef<SWidget> CreateTitleWidget(TSharedPtr<SNodeTitle> NodeTitle) override;
|
|
|
|
|
virtual const FSlateBrush* GetNodeBodyBrush() const override;
|
2021-04-07 02:59:10 -04:00
|
|
|
virtual TSharedRef<SWidget> CreateTitleRightWidget() override;
|
2021-01-20 00:42:47 -04:00
|
|
|
virtual EVisibility IsAddPinButtonVisible() const override;
|
|
|
|
|
virtual FReply OnAddPin() override;
|
2021-05-18 15:27:53 -04:00
|
|
|
virtual void MoveTo(const FVector2D& NewPosition, FNodeSet& NodeFilter, bool bMarkDirty = true) override;
|
2021-01-20 00:42:47 -04:00
|
|
|
virtual void SetDefaultTitleAreaWidget(TSharedRef<SOverlay> DefaultTitleAreaWidget) override;
|
|
|
|
|
|
2021-04-07 02:59:10 -04:00
|
|
|
FName GetLiteralDataType() const;
|
2021-01-20 00:42:47 -04:00
|
|
|
UMetasoundEditorGraphNode& GetMetasoundNode();
|
|
|
|
|
const UMetasoundEditorGraphNode& GetMetasoundNode() const;
|
2021-04-07 02:59:10 -04:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
static void ExecuteInputTrigger(UMetasoundEditorGraphInputLiteral& Literal);
|
|
|
|
|
static TSharedRef<SWidget> CreateTriggerSimulationWidget(UMetasoundEditorGraphInputLiteral& Literal);
|
2021-01-20 00:42:47 -04:00
|
|
|
};
|