/*
TikZiT - a GUI diagram editor for TikZ
Copyright (C) 2018 Aleks Kissinger
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#include "edgestyle.h"
#include
#include
EdgeStyle *noneEdgeStyle = new EdgeStyle("none", new GraphElementData({GraphElementProperty("-")}));
EdgeStyle::EdgeStyle() : Style()
{
}
EdgeStyle::EdgeStyle(QString name, GraphElementData *data) : Style(name, data)
{
}
//EdgeStyle::ArrowTipStyle EdgeStyle::arrowHead() const
//{
// if (_data == 0) return NoTip;
// if (_data->atom("->") || _data->atom("<->") || _data->atom("|->")) return Pointer;
// if (_data->atom("-|") || _data->atom("<-|") || _data->atom("|-|")) return Flat;
// return NoTip;
//}
//EdgeStyle::ArrowTipStyle EdgeStyle::arrowTail() const
//{
// if (_data == 0) return NoTip;
// if (_data->atom("<-") || _data->atom("<->") || _data->atom("<-|")) return Pointer;
// if (_data->atom("|-") || _data->atom("|->") || _data->atom("|-|")) return Flat;
// return NoTip;
//}
//EdgeStyle::DrawStyle EdgeStyle::drawStyle() const
//{
// if (_data == 0) return Solid;
// if (_data->atom("dashed")) return Dashed;
// if (_data->atom("dotted")) return Dotted;
// return Solid;
//}
//QPen EdgeStyle::pen() const
//{
// QPen p(strokeColor());
// p.setWidthF((float)strokeThickness() * 2.0f);
// QVector pat;
// switch (drawStyle()) {
// case Dashed:
// pat << 3.0 << 3.0;
// p.setDashPattern(pat);
// break;
// case Dotted:
// pat << 1.0 << 1.0;
// p.setDashPattern(pat);
// break;
// case Solid:
// break;
// }
// return p;
//}
//QPainterPath EdgeStyle::path() const
//{
// return QPainterPath();
//}
//QPainterPath EdgeStyle::palettePath() const
//{
// return QPainterPath();
//}
//QIcon EdgeStyle::icon() const
//{
// // draw an icon matching the style
// QPixmap px(100,100);
// px.fill(Qt::transparent);
// QPainter painter(&px);
// if (_data == 0) {
// QPen pen(Qt::black);
// pen.setWidth(3);
// } else {
// painter.setPen(pen());
// }
// painter.drawLine(10, 50, 90, 50);
// QPen pn = pen();
// pn.setStyle(Qt::SolidLine);
// painter.setPen(pn);
// switch (arrowHead()) {
// case Pointer:
// painter.drawLine(90,50,80,40);
// painter.drawLine(90,50,80,60);
// break;
// case Flat:
// painter.drawLine(90,40,90,60);
// break;
// case NoTip:
// break;
// }
// switch (arrowTail()) {
// case Pointer:
// painter.drawLine(10,50,20,40);
// painter.drawLine(10,50,20,60);
// break;
// case Flat:
// painter.drawLine(10,40,10,60);
// break;
// case NoTip:
// break;
// }
// return QIcon(px);
//}