summaryrefslogtreecommitdiff
path: root/tikzit/graphelementproperty.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/graphelementproperty.cpp')
-rw-r--r--tikzit/graphelementproperty.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/tikzit/graphelementproperty.cpp b/tikzit/graphelementproperty.cpp
new file mode 100644
index 0000000..7602b1c
--- /dev/null
+++ b/tikzit/graphelementproperty.cpp
@@ -0,0 +1,34 @@
+#include "graphelementproperty.h"
+
+GraphElementProperty::GraphElementProperty(QString key, QString value,
+ bool atom, bool keyMatch, QObject *parent) :
+ QObject(parent), _key(key), _value(value), _atom(atom), _keyMatch(keyMatch)
+{}
+
+GraphElementProperty::GraphElementProperty(QString key, QString value, QObject *parent) :
+ QObject(parent), _key(key), _value(value), _atom(false), _keyMatch(false)
+{}
+
+GraphElementProperty::GraphElementProperty(QString key, QObject *parent) :
+ QObject(parent), _key(key), _value(""), _atom(true), _keyMatch(false)
+{}
+
+QString GraphElementProperty::key() const
+{ return _key; }
+
+QString GraphElementProperty::value() const
+{ return _value; }
+
+bool GraphElementProperty::atom() const
+{ return _atom; }
+
+bool GraphElementProperty::keyMatch() const
+{ return _keyMatch; }
+
+bool GraphElementProperty::matches(GraphElementProperty *p)
+{
+ if (p->atom()) return _atom && _key == p->key();
+ if (p->keyMatch()) return !_atom && _key == p->key();
+ if (_keyMatch) return !p->atom() && _key == p->key();
+ return !_atom && _key == p->key() && _value == p->value();
+}