Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundEditor/Private/SMetasoundEnumPin.h
jimmy smith b918d910e9 Metasound Enum Editor
#rb aaron.mcleran phil.popp rob.gay
#jira UEAU-650

#ROBOMERGE-SOURCE: CL 15390415 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15390421 by jimmy smith in ue5-main branch]
2021-02-11 15:07:57 -04:00

44 lines
990 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SWidget.h"
#include "SGraphPin.h"
#include "SGraphPinComboBox.h"
namespace Metasound
{
namespace Frontend
{
struct IEnumDataTypeInterface;
}
}
class SMetasoundEnumPin : public SGraphPin
{
SLATE_BEGIN_ARGS(SMetasoundEnumPin) {}
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, UEdGraphPin* InGraphPinObj);
static TSharedPtr<const Metasound::Frontend::IEnumDataTypeInterface> FindEnumInterfaceFromPin(UEdGraphPin* InPin);
protected:
TSharedPtr<class SPinComboBox> ComboBox;
TSharedRef<SWidget> GetDefaultValueWidget();
FString OnGetText() const;
void GenerateComboBoxIndexes(TArray<TSharedPtr<int32>>& OutComboBoxIndexes);
void ComboBoxSelectionChanged(TSharedPtr<int32> NewSelection, ESelectInfo::Type SelectInfo);
FText OnGetFriendlyName(int32 EnumIndex);
FText OnGetTooltip(int32 EnumIndex);
};