summaryrefslogtreecommitdiff
path: root/tikzit/graph.h
blob: f55b3c97415b0929d24fc24e940d93474af1517f (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
#ifndef GRAPH_H
#define GRAPH_H

#include "node.h"
#include "edge.h"

#include <QObject>
#include <QVector>
#include <QMultiHash>

class Graph : public QObject
{
    Q_OBJECT
public:
    explicit Graph(QObject *parent = 0);
    Node *addNode();
    void removeNode(Node *n);
    Edge *addEdge(Node *s, Node*t);
    void removeEdge(Edge *e);

signals:

public slots:

private:
    QVector<Node*> nodes;
    QVector<Edge*> edges;
    QMultiHash<Node*,Edge*> inEdges;
    QMultiHash<Node*,Edge*> outEdges;
};

#endif // GRAPH_H