From 247d9e6b004b2920d696245838b9969690637fd2 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Fri, 3 Aug 2018 23:22:11 +0200 Subject: support for RGB colors, edit color and name in style editor --- src/data/tikzstyles.cpp | 67 ++++++++++++++++--------------------------------- 1 file changed, 22 insertions(+), 45 deletions(-) (limited to 'src/data/tikzstyles.cpp') diff --git a/src/data/tikzstyles.cpp b/src/data/tikzstyles.cpp index c96c55b..4a92d6d 100644 --- a/src/data/tikzstyles.cpp +++ b/src/data/tikzstyles.cpp @@ -18,40 +18,15 @@ #include "tikzstyles.h" #include "nodestyle.h" +#include "tikzassembler.h" #include #include +#include +#include TikzStyles::TikzStyles(QObject *parent) : QObject(parent) { - // 19 standard xcolor colours - _colNames << - "black" << - "gray" << - "darkgray" << - "lightgray" << - "white" << - - "red" << - "orange" << - "yellow" << - "lime" << - "blue" << - "purple" << - - "brown" << - "olive" << - "green" << - "teal" << - "cyan" << - - "magenta" << - "violet" << - "pink"; - - for (int i = 0; i < _colNames.length(); ++i) { - _cols << QColor(_colNames[i]); - } } NodeStyle *TikzStyles::nodeStyle(QString name) const @@ -79,31 +54,28 @@ void TikzStyles::clear() _edgeStyles.clear(); } -QColor TikzStyles::colorByIndex(int i) -{ - return _cols[i]; -} - -QColor TikzStyles::colorByName(QString name) -{ - for (int i = 0; i < _colNames.length(); ++i) { - if (_colNames[i] == name) return _cols[i]; - } - return QColor(); -} - -QString TikzStyles::nameForColor(QColor col) +bool TikzStyles::loadStyles(QString fileName) { - for (int i = 0; i < _colNames.length(); ++i) { - if (_cols[i] == col) return _colNames[i]; + QFile file(fileName); + if (file.open(QIODevice::ReadOnly)) { + QTextStream in(&file); + QString styleTikz = in.readAll(); + file.close(); + + clear(); + TikzAssembler ass(this); + return ass.parse(styleTikz); + } else { + return false; } - return QString(); } void TikzStyles::refreshModels(QStandardItemModel *nodeModel, QStandardItemModel *edgeModel) { nodeModel->clear(); edgeModel->clear(); + + //QString f = tikzit->styleFile(); //ui->styleFile->setText(f); @@ -113,11 +85,14 @@ void TikzStyles::refreshModels(QStandardItemModel *nodeModel, QStandardItemModel it->setEditable(false); it->setData(noneStyle->name()); nodeModel->appendRow(it); + it->setTextAlignment(Qt::AlignCenter); + it->setSizeHint(QSize(48,48)); foreach(NodeStyle *ns, _nodeStyles) { it = new QStandardItem(ns->icon(), ns->name()); it->setEditable(false); it->setData(ns->name()); + it->setSizeHint(QSize(48,48)); nodeModel->appendRow(it); } @@ -152,3 +127,5 @@ void TikzStyles::addStyle(QString name, GraphElementData *data) _nodeStyles << new NodeStyle(name, data); } } + + -- cgit v1.2.3