Open 3D Engine Atom Gem API Reference 24.09.2
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AtomToolsFramework::GraphView Class Reference

#include <GraphView.h>

Inherits QWidget, AtomToolsFramework::AtomToolsMainMenuRequestBus::Handler, GraphCanvas::SceneNotificationBus::Handler, and GraphCanvas::AssetEditorRequestBus::Handler.

Inherited by AtomToolsFramework::GraphDocumentView.

Public Member Functions

 AZ_CLASS_ALLOCATOR (GraphView, AZ::SystemAllocator)
 
 GraphView (const AZ::Crc32 &toolId, const GraphCanvas::GraphId &activeGraphId, GraphViewSettingsPtr graphViewSettingsPtr, QWidget *parent=0)
 
void SetActiveGraphId (const GraphCanvas::GraphId &activeGraphId, bool notify)
 

Protected Member Functions

void CreateActions ()
 
void CreateMenus (QMenuBar *menuBar) override
 
void UpdateMenus (QMenuBar *menuBar) override
 
AZ::s32 GetMainMenuPriority () const override
 
AZ::EntityId CreateNewGraph () override
 
bool ContainsGraph (const GraphCanvas::GraphId &graphId) const override
 
bool CloseGraph (const GraphCanvas::GraphId &graphId) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowSceneContextMenu (const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowNodeContextMenu (const AZ::EntityId &nodeId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowCommentContextMenu (const AZ::EntityId &nodeId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowNodeGroupContextMenu (const AZ::EntityId &groupId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowCollapsedNodeGroupContextMenu (const AZ::EntityId &nodeId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowBookmarkContextMenu (const AZ::EntityId &bookmarkId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowConnectionContextMenu (const AZ::EntityId &connectionId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::ContextMenuAction::SceneReaction ShowSlotContextMenu (const AZ::EntityId &slotId, const QPoint &screenPoint, const QPointF &scenePoint) override
 
GraphCanvas::Endpoint CreateNodeForProposal (const AZ::EntityId &connectionId, const GraphCanvas::Endpoint &endpoint, const QPointF &scenePoint, const QPoint &screenPoint) override
 
void OnWrapperNodeActionWidgetClicked (const AZ::EntityId &wrapperNode, const QRect &actionWidgetBoundingRect, const QPointF &scenePoint, const QPoint &screenPoint) override
 
void OnSelectionChanged () override
 
GraphCanvas::Endpoint HandleProposedConnection (const GraphCanvas::GraphId &graphId, const GraphCanvas::ConnectionId &connectionId, const GraphCanvas::Endpoint &endpoint, const GraphCanvas::NodeId &proposedNode, const QPoint &screenPoint)
 
GraphCanvas::ContextMenuAction::SceneReaction HandleContextMenu (GraphCanvas::EditorContextMenu &editorContextMenu, const AZ::EntityId &memberId, const QPoint &screenPoint, const QPointF &scenePoint) const
 
void AlignSelected (const GraphCanvas::AlignConfig &alignConfig)
 
void OpenPresetsEditor ()
 

Protected Attributes

const AZ::Crc32 m_toolId
 
GraphCanvas::GraphId m_activeGraphId
 
GraphViewSettingsPtr m_graphViewSettingsPtr
 
AzQtComponents::WindowDecorationWrapper * m_presetWrapper = {}
 
GraphCanvas::ConstructPresetDialog * m_presetEditor = {}
 
GraphCanvas::GraphCanvasGraphicsView * m_graphicsView = {}
 
GraphCanvas::AssetEditorToolbar * m_editorToolbar = {}
 
GraphCanvas::SceneContextMenu * m_sceneContextMenu = {}
 
GraphCanvas::EditorContextMenu * m_createNodeProposalContextMenu = {}
 
QAction * m_actionCut = {}
 
QAction * m_actionCopy = {}
 
QAction * m_actionPaste = {}
 
QAction * m_actionDelete = {}
 
QAction * m_actionDuplicate = {}
 
QAction * m_actionRemoveUnusedNodes = {}
 
QAction * m_actionRemoveUnusedElements = {}
 
QAction * m_actionSelectAll = {}
 
QAction * m_actionSelectNone = {}
 
QAction * m_actionSelectInputs = {}
 
QAction * m_actionSelectOutputs = {}
 
QAction * m_actionSelectConnected = {}
 
QAction * m_actionSelectEnable = {}
 
QAction * m_actionSelectDisable = {}
 
QAction * m_actionScreenShot = {}
 
QAction * m_actionAlignTop = {}
 
QAction * m_actionAlignBottom = {}
 
QAction * m_actionAlignLeft = {}
 
QAction * m_actionAlignRight = {}
 
QAction * m_actionPresetEditor = {}
 
QAction * m_actionShowEntireGraph = {}
 
QAction * m_actionZoomIn = {}
 
QAction * m_actionZoomOut = {}
 
QAction * m_actionZoomSelection = {}
 
QAction * m_actionGotoStartOfChain = {}
 
QAction * m_actionGotoEndOfChain = {}
 
QToolButton * m_takeScreenshot = {}
 

Detailed Description

GraphView manages displaying and interacting with a single Graph Canvas graph. Graph Canvas has other classes like the AssetEditorMainWindow that manage everything related to multiple graphs but it is too heavyweight and incompatible with the AtomToolsFramework application, main window, and document system. This class focuses on a single graph that might typically be represented or wrapped by a document class. It might be possible to reimplement AssetEditorMainWindow in terms of this to consolidate code and features.


The documentation for this class was generated from the following file: