summaryrefslogtreecommitdiff
path: root/tikzit/src/gui/tikzscene.h
blob: 2c773899a34224294f98c64bd7609ac983d84100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef TIKZSCENE_H
#define TIKZSCENE_H

#include "graph.h"
#include "nodeitem.h"
#include "edgeitem.h"

#include <QWidget>
#include <QGraphicsScene>
#include <QPainter>
#include <QRectF>
#include <QVector>
#include <QGraphicsEllipseItem>
#include <QGraphicsSceneMouseEvent>

class TikzScene : public QGraphicsScene
{
    Q_OBJECT
public:
    TikzScene(Graph *graph, QObject *parent);
    Graph *graph() const;
    void setGraph(Graph *graph);
public slots:
    void graphReplaced();
protected:
    void mousePressEvent(QGraphicsSceneMouseEvent *event);
    void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
private:
    Graph *_graph;
    QVector<NodeItem*> nodeItems;
    QVector<EdgeItem*> edgeItems;

};

#endif // TIKZSCENE_H