diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2017-12-27 23:27:20 +0000 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2017-12-27 23:27:20 +0000 |
commit | c63dd506beefa844ddeab587a71af94063357372 (patch) | |
tree | aed5f5d1e6c0cca3866bec6fa1818b2fc8f883d7 /tikzit/src/gui/tikzscene.h | |
parent | fcc0fc080370c0c8e97a0c07043b83240d973cab (diff) |
adding and deleting nodes now works
Diffstat (limited to 'tikzit/src/gui/tikzscene.h')
-rw-r--r-- | tikzit/src/gui/tikzscene.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/tikzit/src/gui/tikzscene.h b/tikzit/src/gui/tikzscene.h index db95d88..a9af34b 100644 --- a/tikzit/src/gui/tikzscene.h +++ b/tikzit/src/gui/tikzscene.h @@ -25,9 +25,9 @@ class TikzScene : public QGraphicsScene public: TikzScene(TikzDocument *tikzDocument, QObject *parent); ~TikzScene(); - Graph *graph() const; - QVector<NodeItem *> nodeItems() const; - QVector<EdgeItem *> edgeItems() const; + Graph *graph(); + QMap<Node*,NodeItem*> &nodeItems(); + QMap<Edge*,EdgeItem*> &edgeItems(); void refreshAdjacentEdges(QList<Node*> nodes); TikzDocument *tikzDocument() const; @@ -35,14 +35,16 @@ public: public slots: void graphReplaced(); + protected: - void mousePressEvent(QGraphicsSceneMouseEvent *event); - void mouseMoveEvent(QGraphicsSceneMouseEvent *event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + void mousePressEvent(QGraphicsSceneMouseEvent *event) override; + void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override; + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; + void keyReleaseEvent(QKeyEvent *event) override; private: TikzDocument *_tikzDocument; - QVector<NodeItem*> _nodeItems; - QVector<EdgeItem*> _edgeItems; + QMap<Node*,NodeItem*> _nodeItems; + QMap<Edge*,EdgeItem*> _edgeItems; EdgeItem *_modifyEdgeItem; bool _firstControlPoint; @@ -51,6 +53,8 @@ private: int _oldBend; int _oldInAngle; int _oldOutAngle; + + void getSelection(QSet<Node*> &selNodes, QSet<Edge*> &selEdges); }; #endif // TIKZSCENE_H |