SExtDependencyNode.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2017-2021 marynate. All Rights Reserved.
  2. #pragma once
  3. #include "CoreMinimal.h"
  4. #include "Widgets/DeclarativeSyntaxSupport.h"
  5. #include "SGraphNode.h"
  6. #include "EdGraphUtilities.h"
  7. class FExtAssetThumbnail;
  8. class UEdGraphNode_ExtDependency;
  9. /**
  10. * A GraphNode representing an ext reference node
  11. */
  12. class SExtDependencyNode : public SGraphNode
  13. {
  14. public:
  15. SLATE_BEGIN_ARGS( SExtDependencyNode ){}
  16. SLATE_END_ARGS()
  17. /** Constructs this widget with InArgs */
  18. void Construct( const FArguments& InArgs, UEdGraphNode_ExtDependency* InNode );
  19. // SGraphNode implementation
  20. virtual void UpdateGraphNode() override;
  21. virtual bool IsNodeEditable() const override { return false; }
  22. // End SGraphNode implementation
  23. private:
  24. FSlateColor GetNodeTitleBackgroundColor() const;
  25. FSlateColor GetNodeOverlayColor() const;
  26. FSlateColor GetNodeBodyBackgroundColor() const;
  27. private:
  28. TSharedPtr<class FExtAssetThumbnail> AssetThumbnail;
  29. };
  30. /**
  31. * SExtDependencyNode Factory
  32. */
  33. class FExtDependencyGraphPanelNodeFactory : public FGraphPanelNodeFactory
  34. {
  35. virtual TSharedPtr<class SGraphNode> CreateNode(UEdGraphNode* Node) const override;
  36. };