1 #ifndef __PIPELINEEDITOR__NODE__H__
2 #define __PIPELINEEDITOR__NODE__H__
4 #include <QGraphicsItem>
7 // Some forward declarations
8 class QGraphicsSceneMouseEvent;
9 class QGraphicsSceneHoverEvent;
11 // Some forward declarations
20 namespace PipelineEditor
22 // Some other forward declarations
29 : public QGraphicsItem
32 Node( GraphCanvas* canvas, cpPlugins::Interface::Object* object );
35 void addEdge( Edge* edge );
36 QList< Edge* > edges( ) const;
38 QRectF boundingRect( ) const;
39 QPainterPath shape( ) const;
42 const QStyleOptionGraphicsItem* option,
47 QVariant itemChange( GraphicsItemChange change, const QVariant& value );
49 void mousePressEvent( QGraphicsSceneMouseEvent* event );
50 void mouseReleaseEvent( QGraphicsSceneMouseEvent* event );
51 void mouseDoubleClickEvent( QGraphicsSceneMouseEvent* event );
52 void hoverMoveEvent( QGraphicsSceneHoverEvent* event );
55 GraphCanvas* m_Canvas;
56 QList< Edge* > m_Edges;
57 cpPlugins::Interface::Object* m_Object;
58 mutable QString m_Label;
59 mutable QRectF m_Bounds;
60 mutable bool m_UpdatedBounds;
65 #endif // __PIPELINEEDITOR__NODE__H__