summaryrefslogtreecommitdiff
path: root/src/data
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-08-04 18:16:18 +0200
committerAleks Kissinger <aleks0@gmail.com>2018-08-04 18:16:18 +0200
commit20e06dd885819f7b16711ac5359fcdcfb8d26c86 (patch)
tree3b8548d24e964e3c3bb69b853f8e745f29b004dd /src/data
parent247d9e6b004b2920d696245838b9969690637fd2 (diff)
style editor
Diffstat (limited to 'src/data')
-rw-r--r--src/data/graphelementdata.cpp11
-rw-r--r--src/data/nodestyle.cpp17
-rw-r--r--src/data/nodestyle.h6
-rw-r--r--src/data/style.cpp1
-rw-r--r--src/data/style.h2
-rw-r--r--src/data/tikzstyles.cpp2
6 files changed, 18 insertions, 21 deletions
diff --git a/src/data/graphelementdata.cpp b/src/data/graphelementdata.cpp
index fcd90ea..85ae4cd 100644
--- a/src/data/graphelementdata.cpp
+++ b/src/data/graphelementdata.cpp
@@ -106,7 +106,7 @@ bool GraphElementData::atom(QString atom)
QVariant GraphElementData::data(const QModelIndex &index, int role) const
{
- if (role != Qt::DisplayRole)
+ if (role != Qt::DisplayRole && role != Qt::EditRole)
return QVariant();
if (index.row() >= 0 && index.row() < _properties.length()) {
@@ -135,9 +135,10 @@ QModelIndex GraphElementData::index(int row, int column, const QModelIndex &pare
QModelIndex GraphElementData::parent(const QModelIndex &index) const
{
- GraphElementProperty *p = static_cast<GraphElementProperty*>(index.internalPointer());
- if (p == root) return QModelIndex();
- else return createIndex(0,0,static_cast<void*>(root));
+ //GraphElementProperty *p = static_cast<GraphElementProperty*>(index.internalPointer());
+ //if (p == root) return QModelIndex();
+ //else return createIndex(0,0,static_cast<void*>(root));
+ return QModelIndex();
}
int GraphElementData::rowCount(const QModelIndex &parent) const
@@ -156,7 +157,7 @@ int GraphElementData::columnCount(const QModelIndex &) const
Qt::ItemFlags GraphElementData::flags(const QModelIndex &index) const
{
- return QAbstractItemModel::flags(index);
+ return QAbstractItemModel::flags(index) | Qt::ItemIsEditable;
}
//bool GraphElementData::setData(const QModelIndex &index, const QVariant &value, int role)
diff --git a/src/data/nodestyle.cpp b/src/data/nodestyle.cpp
index aec899f..9c38dfd 100644
--- a/src/data/nodestyle.cpp
+++ b/src/data/nodestyle.cpp
@@ -45,20 +45,21 @@ QBrush NodeStyle::brush() const
return QBrush(fillColor());
}
-NodeStyle::Shape NodeStyle::shape(bool tikzitOverride) const
+QString NodeStyle::shape(bool tikzitOverride) const
{
- if (_data == 0) return NodeStyle::Circle;
-
- QString sh = propertyWithDefault("shape", "circle", tikzitOverride);
- if (sh == "circle") return NodeStyle::Circle;
- else if (sh == "rectangle") return NodeStyle::Rectangle;
- else return NodeStyle::Circle;
+ return propertyWithDefault("shape", "circle", tikzitOverride);
}
QPainterPath NodeStyle::path() const
{
QPainterPath pth;
- pth.addEllipse(QPointF(0.0f,0.0f), 30.0f, 30.0f);
+ QString sh = shape();
+
+ if (sh == "rectangle") {
+ pth.addRect(-30.0f, -30.0f, 60.0f, 60.0f);
+ } else { // default is 'circle'
+ pth.addEllipse(QPointF(0.0f,0.0f), 30.0f, 30.0f);
+ }
return pth;
}
diff --git a/src/data/nodestyle.h b/src/data/nodestyle.h
index ce36006..67219db 100644
--- a/src/data/nodestyle.h
+++ b/src/data/nodestyle.h
@@ -30,17 +30,13 @@
class NodeStyle : public Style
{
public:
- enum Shape {
- Rectangle, UpTriangle, DownTriangle, Circle
- };
-
NodeStyle();
NodeStyle(QString name, GraphElementData *data);
QColor fillColor(bool tikzitOverride=true) const;
QBrush brush() const;
QPainterPath path() const override;
- Shape shape(bool tikzitOverride=true) const;
+ QString shape(bool tikzitOverride=true) const;
QPainterPath palettePath() const override;
QIcon icon() const override;
diff --git a/src/data/style.cpp b/src/data/style.cpp
index 2e19c4f..0128d36 100644
--- a/src/data/style.cpp
+++ b/src/data/style.cpp
@@ -65,6 +65,7 @@ QPen Style::pen() const
QString Style::propertyWithDefault(QString prop, QString def, bool tikzitOverride) const
{
+ if (_data == 0) return def;
QString val;
if (tikzitOverride) {
val = _data->property("tikzit " + prop);
diff --git a/src/data/style.h b/src/data/style.h
index 7a6ff18..1b0618e 100644
--- a/src/data/style.h
+++ b/src/data/style.h
@@ -47,9 +47,9 @@ public:
virtual QPainterPath palettePath() const = 0;
virtual QIcon icon() const = 0;
void setName(const QString &name);
+ QString propertyWithDefault(QString prop, QString def, bool tikzitOverride=true) const;
protected:
- QString propertyWithDefault(QString prop, QString def, bool tikzitOverride=true) const;
QString _name;
GraphElementData *_data;
};
diff --git a/src/data/tikzstyles.cpp b/src/data/tikzstyles.cpp
index 4a92d6d..a743d0c 100644
--- a/src/data/tikzstyles.cpp
+++ b/src/data/tikzstyles.cpp
@@ -120,10 +120,8 @@ void TikzStyles::addStyle(QString name, GraphElementData *data)
data->atom("<-") || data->atom("<->") || data->atom("<-|") ||
data->atom("|-") || data->atom("|->") || data->atom("|-|"))
{ // edge style
- qDebug() << "got edge style" << name;
_edgeStyles << new EdgeStyle(name, data);
} else { // node style
- qDebug() << "got node style" << name;
_nodeStyles << new NodeStyle(name, data);
}
}