summaryrefslogtreecommitdiff
path: root/tikzit/src/gui/tikzscene.h
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/src/gui/tikzscene.h')
-rw-r--r--tikzit/src/gui/tikzscene.h20
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