summaryrefslogtreecommitdiff
path: root/tikzit/src/data/graphelementproperty.h
blob: 01b6e5a51bb574499abd7b91d2f1fea81080d821 (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
37
38
39
40
#ifndef GRAPHELEMENTPROPERTY_H
#define GRAPHELEMENTPROPERTY_H

#include <QObject>

class GraphElementProperty
{
public:
    GraphElementProperty();
    GraphElementProperty(QString key, QString value, bool atom, bool keyMatch);

    // construct a property
    GraphElementProperty(QString key, QString value);

    // construct an atom or keymatch
    GraphElementProperty(QString key, bool keyMatch = false);

    QString key() const;
    QString value() const;
    void setValue(const QString &value);
    bool atom() const;
    bool keyMatch() const;

    bool matches(const GraphElementProperty &p);
    bool operator==(const GraphElementProperty &p);

    static QString tikzEscape(QString str);
    QString tikz();
signals:

public slots:

private:
    QString _key;
    QString _value;
    bool _atom;
    bool _keyMatch;
};

#endif // GRAPHELEMENTPROPERTY_H