20 #ifndef SUI_GRAPHSCENE_H
21 #define SUI_GRAPHSCENE_H
24 #include <QGraphicsScene>
26 #include "CoreTypes.h"
32 class QGraphicsSceneMouseEvent;
33 class QGraphicsSceneWheelEvent;
34 class QGraphicsSceneContextMenuEvent;
43 void setAction(QAction *action);
44 void updateGraph(DataStructurePtr g);
45 void updateDocument();
46 void setActiveGraph(DataStructurePtr g);
48 qreal zoomFactor()
const;
49 void zoomBy(qreal scaleFactor);
50 void zoomTo(qreal scaleFactor);
51 void zoomToRect(
const QRectF &rect);
53 void centerOn(
const QPointF &pos);
56 QGraphicsItem * createData(DataPtr n);
57 QGraphicsItem * createEdge(PointerPtr e);
58 void connectGraphSignals(DataStructurePtr g);
63 void createItems(DataStructurePtr dataStructure);
69 void setActiveDocument();
74 void keyPressed(QKeyEvent *key);
75 void keyReleased(QKeyEvent *key);
76 void addData(
const QPointF &pos);
77 void removeSelected();
78 void zoomFactorChanged(qreal zoomFactor);
81 void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
82 void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent);
83 void mouseReleaseEvent(QGraphicsSceneMouseEvent* mouseEvent);
84 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* mouseEvent);
85 void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
86 void wheelEvent(QGraphicsSceneWheelEvent* wheelEvent);
87 void keyPressEvent(QKeyEvent *keyEvent);
88 void keyReleaseEvent(QKeyEvent *keyEvent);
91 QMenu * createContextMenu(
const QPointF &scenePosition,
const QPointF &screenPosition);
93 Document *_graphDocument;
94 DataStructurePtr _graph;
96 QMultiHash<DataStructure*, QGraphicsItem* > _hashGraphs;
97 QGraphicsRectItem *_whiteboard;
98 void releaseDocument();
#define VISUALEDITOR_EXPORT
the base class for custom actions. This class provides the basic functionality for all custom actions...