3
0

GraphCanvasNodePaletteItems.cpp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <GraphModel/Integration/NodePalette/GraphCanvasNodePaletteItems.h>
  9. #include <GraphModel/Integration/NodePalette/ModuleNodePaletteItem.h>
  10. #include <AzCore/IO/Path/Path.h>
  11. namespace GraphModelIntegration
  12. {
  13. /// Add common utilities to a specific Node Palette tree.
  14. void AddCommonNodePaletteUtilities(GraphCanvas::GraphCanvasTreeItem* rootItem, const GraphCanvas::EditorId& editorId)
  15. {
  16. GraphCanvas::IconDecoratedNodePaletteTreeItem* utilitiesCategory = rootItem->CreateChildNode<GraphCanvas::IconDecoratedNodePaletteTreeItem>("Utilities", editorId);
  17. utilitiesCategory->SetTitlePalette("UtilityNodeTitlePalette");
  18. utilitiesCategory->CreateChildNode<CommentNodePaletteTreeItem>("Comment", editorId);
  19. utilitiesCategory->CreateChildNode<NodeGroupNodePaletteTreeItem>("Node Group", editorId);
  20. }
  21. AZStd::string GetNodeName(AZStd::string_view sourceFileName)
  22. {
  23. AZ::IO::PathView name = AZ::IO::PathView(sourceFileName).Filename();
  24. if (name.empty())
  25. {
  26. name = "unnamed";
  27. AZ_Assert(false, "Could not get node name from module file path [%.*s]", AZ_STRING_ARG(sourceFileName));
  28. }
  29. return name.String();
  30. }
  31. void CreateGraphCanvasNodeMimeEvent::Reflect(AZ::ReflectContext* reflectContext)
  32. {
  33. AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(reflectContext);
  34. if (serializeContext)
  35. {
  36. serializeContext->Class<CreateGraphCanvasNodeMimeEvent, GraphCanvas::GraphCanvasMimeEvent>()
  37. ->Version(0)
  38. ;
  39. }
  40. }
  41. void CreateCommentNodeMimeEvent::Reflect(AZ::ReflectContext* reflectContext)
  42. {
  43. AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(reflectContext);
  44. if (serializeContext)
  45. {
  46. serializeContext->Class<CreateCommentNodeMimeEvent, GraphCanvas::GraphCanvasMimeEvent>()
  47. ->Version(0)
  48. ;
  49. }
  50. }
  51. void CreateNodeGroupNodeMimeEvent::Reflect(AZ::ReflectContext* reflectContext)
  52. {
  53. AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(reflectContext);
  54. if (serializeContext)
  55. {
  56. serializeContext->Class<CreateNodeGroupNodeMimeEvent, GraphCanvas::GraphCanvasMimeEvent>()
  57. ->Version(0)
  58. ;
  59. }
  60. }
  61. void CreateModuleNodeMimeEvent::Reflect(AZ::ReflectContext* reflectContext)
  62. {
  63. AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(reflectContext);
  64. if (serializeContext)
  65. {
  66. serializeContext->Class<CreateModuleNodeMimeEvent, GraphCanvas::GraphCanvasMimeEvent>()
  67. ->Version(0)
  68. ->Field("m_sourceFileName", &CreateModuleNodeMimeEvent::m_sourceFileName)
  69. ->Field("m_sourceFileId", &CreateModuleNodeMimeEvent::m_sourceFileId)
  70. ;
  71. }
  72. }
  73. }