ezEngine Release 26.3
Loading...
Searching...
No Matches
ezQtVisualGraphScene Class Reference

#include <Scene.moc.h>

Inheritance diagram for ezQtVisualGraphScene:

Classes

struct  ConnectionDecorationFlags
 
struct  ConnectionStyle
 Visual style for rendering connections between pins. More...
 

Public Types

enum  Type { Node = QGraphicsItem::UserType + 1 , Pin , Connection }
 

Public Member Functions

 ezQtVisualGraphScene (QObject *pParent=nullptr)
 
virtual void InitScene (const ezVisualGraphObjectManager *pManager)
 
const ezVisualGraphObjectManagerGetDocumentNodeManager () const
 
const ezDocumentGetDocument () const
 
void SetConnectionStyle (ezEnum< ConnectionStyle > style)
 
ezEnum< ConnectionStyleGetConnectionStyle () const
 
void SetConnectionDecorationFlags (ezBitflags< ConnectionDecorationFlags > flags)
 
ezBitflags< ConnectionDecorationFlagsGetConnectionDecorationFlags () const
 

Static Public Member Functions

static ezRttiMappedObjectFactory< ezQtVisualGraphNode > & GetNodeFactory () { return new ezQtStateMachineConnection()
 
static ezRttiMappedObjectFactory< ezQtVisualGraphPin > & GetPinFactory ()
 
static ezRttiMappedObjectFactory< ezQtVisualGraphConnection > & GetConnectionFactory ()
 
static ezVec2 GetLastMouseInteractionPos ()
 

Protected Member Functions

virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void contextMenuEvent (QGraphicsSceneContextMenuEvent *contextMenuEvent) override
 
virtual void keyPressEvent (QKeyEvent *event) override
 
virtual ezStatus RemoveNode (ezQtVisualGraphNode *pNode)
 
virtual void RemoveSelectedNodesAction ()
 
virtual void ConnectPinsAction (const ezVisualGraphPin &sourcePin, const ezVisualGraphPin &targetPin)
 
virtual void DisconnectPinsAction (ezQtVisualGraphConnection *pConnection)
 
virtual void DisconnectPinsAction (ezQtVisualGraphPin *pPin)
 

Protected Attributes

const ezVisualGraphObjectManagerm_pManager = nullptr
 
ezMap< const ezDocumentObject *, ezQtVisualGraphNode * > m_Nodes
 
ezMap< const ezDocumentObject *, ezQtVisualGraphConnection * > m_Connections
 

Detailed Description

Qt graphics scene for displaying and interacting with visual graphs.

This class manages the visual representation of node graphs, including rendering nodes, pins, and connections. It handles user interactions such as node creation, connection dragging, and selection. Works in conjunction with ezVisualGraphObjectManager which manages the document-side graph data.


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