summaryrefslogtreecommitdiff
path: root/src/data/graphelementdata.cpp
diff options
context:
space:
mode:
authorGard Spreemann <gspr@nonempty.org>2020-08-20 09:03:17 +0200
committerGard Spreemann <gspr@nonempty.org>2020-08-20 09:03:17 +0200
commit4e1b4e9877732d1e1887674e48312902437f08c5 (patch)
tree7993cbc3ad71eed10da830aca85ef0b99d163bac /src/data/graphelementdata.cpp
parent99f00a3ef9d1bd2d686b1521d25c9afedb880b34 (diff)
parent300267089b80785551c4721684280efe654ec834 (diff)
Merge tag 'v2.1.6' into debian/sid
Diffstat (limited to 'src/data/graphelementdata.cpp')
-rw-r--r--src/data/graphelementdata.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/data/graphelementdata.cpp b/src/data/graphelementdata.cpp
index cd09a6d..e1e89b1 100644
--- a/src/data/graphelementdata.cpp
+++ b/src/data/graphelementdata.cpp
@@ -110,6 +110,14 @@ int GraphElementData::indexOfKey(QString key)
return -1;
}
+void GraphElementData::mergeData(GraphElementData *d)
+{
+ GraphElementProperty p;
+ foreach (p, d->properties()) {
+ if (!hasProperty(p.key())) add(p);
+ }
+}
+
bool GraphElementData::removeRows(int row, int /*count*/, const QModelIndex &parent)
{
if (row >= 0 && row < _properties.length()) {
@@ -257,3 +265,30 @@ QVector<GraphElementProperty> GraphElementData::properties() const
{
return _properties;
}
+
+GraphElementData *GraphElementData::pathData() const
+{
+ GraphElementData *d = new GraphElementData();
+ foreach(GraphElementProperty p, _properties) {
+ if (isPathProperty(p.key())) d->add(p);
+ }
+ return d;
+}
+
+GraphElementData *GraphElementData::nonPathData() const
+{
+ GraphElementData *d = new GraphElementData();
+ foreach(GraphElementProperty p, _properties) {
+ if (!isPathProperty(p.key())) d->add(p);
+ }
+ return d;
+}
+
+bool GraphElementData::isPathProperty(QString key)
+{
+ return (key == "bend left" ||
+ key == "bend right" ||
+ key == "in" ||
+ key == "out" ||
+ key == "looseness");
+}