2020-10-07 10:35:24 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
#include "Widgets/DeclarativeSyntaxSupport.h"
|
|
|
|
|
#include "Widgets/SWidget.h"
|
|
|
|
|
#include "MaterialNodes/SGraphNodeMaterialBase.h"
|
|
|
|
|
|
|
|
|
|
class SToolTip;
|
|
|
|
|
class UEdGraph;
|
|
|
|
|
class UMaterialGraphNode_Composite;
|
|
|
|
|
|
|
|
|
|
//@TODO: This class is mostly C&P from UK2Node_Composite, consolidate composites to not be BP specific.
|
|
|
|
|
class GRAPHEDITOR_API SGraphNodeMaterialComposite : public SGraphNodeMaterialBase
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
SLATE_BEGIN_ARGS(SGraphNodeMaterialComposite){}
|
|
|
|
|
SLATE_END_ARGS()
|
|
|
|
|
|
|
|
|
|
void Construct(const FArguments& InArgs, UMaterialGraphNode_Composite* InNode);
|
|
|
|
|
|
|
|
|
|
// SGraphNode interface
|
|
|
|
|
virtual void UpdateGraphNode() override;
|
|
|
|
|
virtual TSharedPtr<SToolTip> GetComplexTooltip() override;
|
|
|
|
|
// End of SGraphNode interface
|
|
|
|
|
|
|
|
|
|
// SNodePanel::SNode interface
|
2021-05-18 15:26:27 -04:00
|
|
|
virtual void MoveTo(const FVector2D& NewPosition, FNodeSet& NodeFilter, bool bMarkDirty = true) override;
|
2020-10-07 10:35:24 -04:00
|
|
|
// End of SNodePanel::SNode interface
|
|
|
|
|
protected:
|
|
|
|
|
virtual UEdGraph* GetInnerGraph() const;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
FText GetPreviewCornerText() const;
|
|
|
|
|
FText GetTooltipTextForNode() const;
|
|
|
|
|
|
|
|
|
|
TSharedRef<SWidget> CreateNodeBody();
|
|
|
|
|
|
|
|
|
|
/** Cached material graph node pointer to avoid casting */
|
|
|
|
|
UMaterialGraphNode_Composite* CompositeNode;
|
|
|
|
|
};
|