code format

This commit is contained in:
2022-12-14 14:13:33 +03:00
parent 37480c9d1f
commit 2622737a52
39 changed files with 1295 additions and 1265 deletions

View File

@@ -1,27 +1,29 @@
#include "cddirectk.h"
#include "ui_cddirectk_type_dialog.h"
#include "cdutils_core.h"
#include "cdutils_k.h"
#include "qcd_core.h"
#include "qcd_model.h"
#include "graphic.h"
#include "piqt.h"
#include "qcd_core.h"
#include "qcd_model.h"
#include "qvariantedit.h"
#include <QFormLayout>
#include <QMimeData>
#include "ui_cddirectk_type_dialog.h"
#include <QDockWidget>
#include <QDragEnterEvent>
#include <QDragMoveEvent>
#include <QDropEvent>
#include <QMainWindow>
#include <QDockWidget>
#include <QFormLayout>
#include <QInputDialog>
#include <QMainWindow>
#include <QMimeData>
using namespace CDUtils;
KDockWidget::KDockWidget(QString title, QMainWindow * p): QDockWidget(title, p) {
da = p;
menu = new QMenu(this);
da = p;
menu = new QMenu(this);
QAction * a = new QAction(QIcon(":/icons/document-edit.png"), "Rename ...", this);
connect(a, SIGNAL(triggered(bool)), this, SLOT(rename()));
dactions << a;
@@ -48,20 +50,18 @@ void KDockWidget::addK(const CDType & t, CDDirectKTypeDialog::TypeInfo ti) {
if (k_list.contains(xp)) return;
k_list << xp;
info_list << ti;
//piCout << "add" << xp;
// piCout << "add" << xp;
QWidget * ve = ti.create();
//qDebug() << "add" << ve;
// qDebug() << "add" << ve;
lay->addRow(PI2QString(t.pathString().join(".")) + ":", ve);
QCDCore::instance()->bindWidget(ve, t);
//ve->setValue();
// ve->setValue();
}
QByteArray KDockWidget::save() const {
ChunkStream cs;
cs.add(1, windowTitle())
.add(2, getList(k_list))
.add(3, info_list);
cs.add(1, windowTitle()).add(2, getList(k_list)).add(3, info_list);
return cs.data();
}
@@ -70,13 +70,13 @@ void KDockWidget::load(QByteArray ba) {
clear();
if (ba.isEmpty()) return;
ChunkStream cs(ba);
PIVector<PIDeque<int> > list;
PIVector<PIDeque<int>> list;
QVector<CDDirectKTypeDialog::TypeInfo> ilist;
while (!cs.atEnd()) {
switch (cs.read()) {
case 1: setWindowTitle(cs.getData<QString>()); break;
case 2: list = setList(cs.getData<QStringList>()); break;
case 3: ilist = cs.getData<QVector<CDDirectKTypeDialog::TypeInfo> >(); break;
case 3: ilist = cs.getData<QVector<CDDirectKTypeDialog::TypeInfo>>(); break;
default: break;
}
}
@@ -96,9 +96,9 @@ void KDockWidget::clear() {
void KDockWidget::changedGlobal() {
//piCout << "changedGlobal ..." << k_list.size_s() << info_list.size() << lay->count() << lay->rowCount();
// piCout << "changedGlobal ..." << k_list.size_s() << info_list.size() << lay->count() << lay->rowCount();
for (int i = 0; i < k_list.size_s(); ++i) {
//piCout << "update" << i << "0";
// piCout << "update" << i << "0";
if (!K.exists(k_list[i])) {
k_list.remove(i);
info_list.remove(i);
@@ -106,57 +106,57 @@ void KDockWidget::changedGlobal() {
--i;
continue;
}
//piCout << "update" << i << "1";
QLabel * lbl = qobject_cast<QLabel*>(lay->itemAt(i, QFormLayout::LabelRole)->widget());
//piCout << "update" << i << "2";
// piCout << "update" << i << "1";
QLabel * lbl = qobject_cast<QLabel *>(lay->itemAt(i, QFormLayout::LabelRole)->widget());
// piCout << "update" << i << "2";
if (lbl) lbl->setText(PI2QString(K[k_list[i]].pathString().join(".")) + ":");
//piCout << "update" << i << "3";
// piCout << "update" << i << "3";
}
//piCout << "changedGlobal ok";
// piCout << "changedGlobal ok";
}
bool KDockWidget::eventFilter(QObject * o, QEvent * e) {
//if (o == graphic->viewport()) {
switch (e->type()) {
case QEvent::DragMove: {
QDragMoveEvent * de = (QDragMoveEvent*)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
if (!mime->text().startsWith("k")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::DragEnter: {
QDragEnterEvent * de = (QDragEnterEvent*)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
if (!mime->text().startsWith("k")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::Drop: {
QDropEvent * de = (QDropEvent*)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
//qDebug() << "drop" << mime->text();
if (!mime->text().startsWith("k")) break;
CDDirectKTypeDialog::TypeInfo ti;
CDType & k(K[CDCore::stringToPath(Q2PIString(mime->text().mid(1)))]);
if (k.type().left(1) == "n" || k.type().left(1) == "f") {
if (type_dialog->exec() == QDialog::Accepted)
ti = type_dialog->getType();
else
return true;
}
addK(k, ti);
de->accept();
return true;
} break;
default: break;
// if (o == graphic->viewport()) {
switch (e->type()) {
case QEvent::DragMove: {
QDragMoveEvent * de = (QDragMoveEvent *)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
if (!mime->text().startsWith("k")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::DragEnter: {
QDragEnterEvent * de = (QDragEnterEvent *)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
if (!mime->text().startsWith("k")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::Drop: {
QDropEvent * de = (QDropEvent *)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
// qDebug() << "drop" << mime->text();
if (!mime->text().startsWith("k")) break;
CDDirectKTypeDialog::TypeInfo ti;
CDType & k(K[CDCore::stringToPath(Q2PIString(mime->text().mid(1)))]);
if (k.type().left(1) == "n" || k.type().left(1) == "f") {
if (type_dialog->exec() == QDialog::Accepted)
ti = type_dialog->getType();
else
return true;
}
addK(k, ti);
de->accept();
return true;
} break;
default: break;
}
//}
return QWidget::eventFilter(o, e);
}
@@ -186,41 +186,46 @@ void KDockWidget::removeRow(int r) {
if (r < 0 || r >= lay->rowCount()) return;
#if QT_VERSION >= 0x050800
QFormLayout::TakeRowResult rr = lay->takeRow(r);
if (rr.fieldItem) {delete rr.fieldItem->widget(); delete rr.fieldItem;}
if (rr.labelItem) {delete rr.labelItem->widget(); delete rr.labelItem;}
if (rr.fieldItem) {
delete rr.fieldItem->widget();
delete rr.fieldItem;
}
if (rr.labelItem) {
delete rr.labelItem->widget();
delete rr.labelItem;
}
#else
piForTimes (2) {
QLayoutItem * i = lay->itemAt(r+r);
piForTimes(2) {
QLayoutItem * i = lay->itemAt(r + r);
lay->removeItem(i);
if (i) {delete i->widget(); delete i;}
if (i) {
delete i->widget();
delete i;
}
}
#endif
}
void KDockWidget::rename() {
QString nn = QInputDialog::getText(this, tr("Rename area"), tr("New area name:"),
QLineEdit::Normal, windowTitle());
QString nn = QInputDialog::getText(this, tr("Rename area"), tr("New area name:"), QLineEdit::Normal, windowTitle());
if (nn.isEmpty()) return;
setWindowTitle(nn);
}
void KDockWidget::removeK() {
QAction * a = qobject_cast<QAction * >(sender());
QAction * a = qobject_cast<QAction *>(sender());
if (!a) return;
int ind = a->data().toInt();
if (ind < 0 || ind >= k_list.size_s()) return;
k_list.remove(ind);
if (ind >= 0 && ind < info_list.size())
info_list.remove(ind);
if (ind >= 0 && ind < info_list.size()) info_list.remove(ind);
removeRow(ind);
}
CDDirectK::CDDirectK(QWidget * parent) : QWidget(parent), Ui::CDDirectK() {
CDDirectK::CDDirectK(QWidget * parent): QWidget(parent), Ui::CDDirectK() {
setupUi(this);
da = new QMainWindow();
da->setWindowFlags(frame->windowFlags());
@@ -229,8 +234,7 @@ CDDirectK::CDDirectK(QWidget * parent) : QWidget(parent), Ui::CDDirectK() {
}
CDDirectK::~CDDirectK() {
}
CDDirectK::~CDDirectK() {}
void CDDirectK::reset() {
@@ -242,12 +246,10 @@ void CDDirectK::reset() {
QByteArray CDDirectK::save() const {
ChunkStream cs;
QVector<QByteArray> dstates;
foreach (KDockWidget * d, docks) {
foreach(KDockWidget * d, docks) {
dstates << d->save();
}
cs.add(1, docks.size())
.add(2, dstates)
.add(3, da->saveState());
cs.add(1, docks.size()).add(2, dstates).add(3, da->saveState());
return cs.data();
}
@@ -260,14 +262,13 @@ void CDDirectK::load(QByteArray ba) {
switch (cs.read()) {
case 1: {
int s = cs.getData<int>();
piForTimes (s)
addArea();
} break;
piForTimes(s) addArea();
} break;
case 2: {
QVector<QByteArray> dstates = cs.getData<QVector<QByteArray> >();
QVector<QByteArray> dstates = cs.getData<QVector<QByteArray>>();
for (int i = 0; i < piMini(dstates.size(), docks.size()); ++i)
docks[i]->load(dstates[i]);
} break;
} break;
case 3: da->restoreState(cs.getData<QByteArray>()); break;
default: break;
}
@@ -286,13 +287,13 @@ void CDDirectK::addArea() {
void CDDirectK::changedGlobal() {
foreach (KDockWidget * d, docks)
foreach(KDockWidget * d, docks)
d->changedGlobal();
}
void CDDirectK::removeArea() {
KDockWidget * d = qobject_cast<KDockWidget * >(sender());
KDockWidget * d = qobject_cast<KDockWidget *>(sender());
if (!d) return;
docks.removeAll(d);
d->deleteLater();

View File

@@ -1,15 +1,16 @@
#ifndef CDDIRECTK_H
#define CDDIRECTK_H
#include "cddirectk_type_dialog.h"
#include "cdgraphics.h"
#include "ui_cddirectk.h"
#include "cddirectk_type_dialog.h"
class QFormLayout;
class KDockWidget: public QDockWidget {
Q_OBJECT
public:
KDockWidget(QString title = QString(), QMainWindow * p = 0);
@@ -26,11 +27,11 @@ private:
void contextMenuEvent(QContextMenuEvent * e);
void removeRow(int r);
QMenu * menu, * menu_k;
QList<QAction*> dactions;
QMenu *menu, *menu_k;
QList<QAction *> dactions;
QMainWindow * da;
CDDirectKTypeDialog * type_dialog;
PIVector<PIDeque<int> > k_list;
PIVector<PIDeque<int>> k_list;
QVector<CDDirectKTypeDialog::TypeInfo> info_list;
private slots:
@@ -39,17 +40,16 @@ private slots:
signals:
void removeRequest();
};
class CDDirectK: public QWidget, public Ui::CDDirectK
{
class CDDirectK
: public QWidget
, public Ui::CDDirectK {
Q_OBJECT
public:
explicit CDDirectK(QWidget *parent = 0);
explicit CDDirectK(QWidget * parent = 0);
~CDDirectK();
void reset();
@@ -59,7 +59,7 @@ public:
private:
void addArea();
QList<KDockWidget * > docks;
QList<KDockWidget *> docks;
QMainWindow * da;
public slots:
@@ -71,7 +71,6 @@ private slots:
void on_buttonRemoveAll_clicked();
signals:
};
#endif // CDDIRECTK_H

View File

@@ -1,25 +1,25 @@
#include "cddirectk_type_dialog.h"
#include "cdutils_core.h"
#include "piqt.h"
#include "qcd_core.h"
#include "qcd_model.h"
#include "piqt.h"
#include "spinslider.h"
#include "qvariantedit.h"
#include "spinslider.h"
CDDirectKTypeDialog::CDDirectKTypeDialog(QWidget * parent) : QDialog(parent), Ui::CDDirectKTypeDialog() {
CDDirectKTypeDialog::CDDirectKTypeDialog(QWidget * parent): QDialog(parent), Ui::CDDirectKTypeDialog() {
setupUi(this);
}
CDDirectKTypeDialog::~CDDirectKTypeDialog() {
}
CDDirectKTypeDialog::~CDDirectKTypeDialog() {}
CDDirectKTypeDialog::TypeInfo CDDirectKTypeDialog::getType() const {
if (!groupBox->isChecked()) return TypeInfo();
TypeInfo ret;
ret.type = comboType->currentIndex();
ret.type = comboType->currentIndex();
ret.params_d[0] = evalMin->value();
ret.params_d[1] = evalMax->value();
ret.params_d[2] = spinDecimals->value();
@@ -30,8 +30,6 @@ CDDirectKTypeDialog::TypeInfo CDDirectKTypeDialog::getType() const {
}
CDDirectKTypeDialog::TypeInfo::TypeInfo(int type_) {
type = type_;
params_d.resize(4);
@@ -52,14 +50,14 @@ QWidget * CDDirectKTypeDialog::TypeInfo::create() {
ret->setPrefix(params_s[0]);
ret->setSuffix(params_s[1]);
return ret;
} break;
} break;
case 1: {
QSlider * ret = new QSlider(Qt::Horizontal);
ret->setMinimum(params_d[0]);
ret->setMaximum(params_d[1]);
ret->setSingleStep(params_d[3]);
return ret;
} break;
} break;
case 2: {
SpinSlider * ret = new SpinSlider();
ret->setMinimum(params_d[0]);
@@ -69,7 +67,7 @@ QWidget * CDDirectKTypeDialog::TypeInfo::create() {
ret->setPrefix(params_s[0]);
ret->setSuffix(params_s[1]);
return ret;
} break;
} break;
default: break;
}
return new QVariantEdit();

View File

@@ -1,13 +1,16 @@
#ifndef CDDIRECTK_TYPE_DIALOG_H
#define CDDIRECTK_TYPE_DIALOG_H
#include <QDialog>
#include "ui_cddirectk_type_dialog.h"
#include <QDialog>
class CDDirectKTypeDialog: public QDialog, public Ui::CDDirectKTypeDialog
{
class CDDirectKTypeDialog
: public QDialog
, public Ui::CDDirectKTypeDialog {
Q_OBJECT
public:
explicit CDDirectKTypeDialog(QWidget * parent = 0);
~CDDirectKTypeDialog();
@@ -23,20 +26,18 @@ public:
TypeInfo getType() const;
private:
public slots:
private slots:
signals:
};
inline QDataStream & operator <<(QDataStream & s, const CDDirectKTypeDialog::TypeInfo & v) {
inline QDataStream & operator<<(QDataStream & s, const CDDirectKTypeDialog::TypeInfo & v) {
s << v.type << v.params_d << v.params_s;
return s;
}
inline QDataStream & operator >>(QDataStream & s, CDDirectKTypeDialog::TypeInfo & v) {
inline QDataStream & operator>>(QDataStream & s, CDDirectKTypeDialog::TypeInfo & v) {
s >> v.type >> v.params_d >> v.params_s;
return s;
}

View File

@@ -1,44 +1,43 @@
#include "cdgraphics.h"
//#include "ui_qcd_graphic.h"
// #include "ui_qcd_graphic.h"
#include "cdutils_core.h"
#include "cdutils_x.h"
#include "qcd_core.h"
#include "qcd_model.h"
#include "qcd_graphic.h"
#include "graphic.h"
#include "piqt.h"
#include <QMimeData>
#include "qcd_core.h"
#include "qcd_graphic.h"
#include "qcd_model.h"
#include <QDockWidget>
#include <QDragEnterEvent>
#include <QDragMoveEvent>
#include <QDropEvent>
#include <QMainWindow>
#include <QDockWidget>
#include <QInputDialog>
#include <QMainWindow>
#include <QMimeData>
using namespace CDUtils;
QStringList CDUtils::getList(const PIVector<PIDeque<int> > & x_list) {
QStringList CDUtils::getList(const PIVector<PIDeque<int>> & x_list) {
QStringList ret;
piForeachC (PIDeque<int> & p, x_list)
piForeachC(PIDeque<int> & p, x_list)
ret << PI2QString(CDCore::pathToString(p));
return ret;
}
PIVector<PIDeque<int> > CDUtils::setList(const QStringList & l) {
PIVector<PIDeque<int> > ret;
foreach (QString s, l)
PIVector<PIDeque<int>> CDUtils::setList(const QStringList & l) {
PIVector<PIDeque<int>> ret;
foreach(QString s, l)
ret << CDCore::stringToPath(Q2PIString(s));
return ret;
}
GDockWidget::GDockWidget(QString title, QMainWindow * p): QDockWidget(title, p) {
da = p;
menu = new QMenu(this);
da = p;
menu = new QMenu(this);
QAction * a = new QAction(QIcon(":/icons/document-edit.png"), "Rename ...", this);
connect(a, SIGNAL(triggered(bool)), this, SLOT(rename()));
dactions << a;
@@ -65,7 +64,7 @@ void GDockWidget::addX(const CDType & t) {
}
void GDockWidget::drawX(const PIMap<PIString, PIVector<double> > & data) {
void GDockWidget::drawX(const PIMap<PIString, PIVector<double>> & data) {
for (int i = 0; i < x_list.size_s(); ++i) {
PIString sp = CDCore::pathToString(x_list[i]);
PIVector<double> ch(data.at(sp));
@@ -79,10 +78,10 @@ void GDockWidget::drawX(const PIMap<PIString, PIVector<double> > & data) {
QByteArray GDockWidget::save() const {
ChunkStream cs;
cs.add(1, windowTitle())
.add(2, getList(x_list))
.add(3, graphic->graphic()->save())
.add(4, graphic->evalSpinBoxHistory()->expression())
.add(5, graphic->evalSpinBoxVisible()->expression());
.add(2, getList(x_list))
.add(3, graphic->graphic()->save())
.add(4, graphic->evalSpinBoxHistory()->expression())
.add(5, graphic->evalSpinBoxVisible()->expression());
return cs.data();
}
@@ -117,40 +116,40 @@ void GDockWidget::changedGlobal() {
bool GDockWidget::eventFilter(QObject * o, QEvent * e) {
//if (o == graphic->viewport()) {
switch (e->type()) {
case QEvent::DragMove: {
QDragMoveEvent * de = (QDragMoveEvent*)e;
const QMimeData * mime = de->mimeData();
//qDebug() << "enter" << mime;
if (!mime) break;
if (!mime->text().startsWith("x")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::DragEnter: {
QDragEnterEvent * de = (QDragEnterEvent*)e;
const QMimeData * mime = de->mimeData();
//qDebug() << "enter" << mime;
if (!mime) break;
if (!mime->text().startsWith("x")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::Drop: {
QDropEvent * de = (QDropEvent*)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
//qDebug() << "drop" << mime->text();
if (!mime->text().startsWith("x")) break;
addX(X[CDCore::stringToPath(Q2PIString(mime->text().mid(1)))]);
de->accept();
return true;
} break;
default: break;
}
// if (o == graphic->viewport()) {
switch (e->type()) {
case QEvent::DragMove: {
QDragMoveEvent * de = (QDragMoveEvent *)e;
const QMimeData * mime = de->mimeData();
// qDebug() << "enter" << mime;
if (!mime) break;
if (!mime->text().startsWith("x")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::DragEnter: {
QDragEnterEvent * de = (QDragEnterEvent *)e;
const QMimeData * mime = de->mimeData();
// qDebug() << "enter" << mime;
if (!mime) break;
if (!mime->text().startsWith("x")) break;
de->setDropAction(Qt::CopyAction);
de->accept();
return true;
} break;
case QEvent::Drop: {
QDropEvent * de = (QDropEvent *)e;
const QMimeData * mime = de->mimeData();
if (!mime) break;
// qDebug() << "drop" << mime->text();
if (!mime->text().startsWith("x")) break;
addX(X[CDCore::stringToPath(Q2PIString(mime->text().mid(1)))]);
de->accept();
return true;
} break;
default: break;
}
//}
return QWidget::eventFilter(o, e);
}
@@ -181,22 +180,21 @@ void GDockWidget::contextMenuEvent(QContextMenuEvent * e) {
CDGraphicWidget * GDockWidget::viewportGraphic(QObject * o) const {
if (!o) return 0;
while (!qobject_cast<CDGraphicWidget*>(o) && o)
while (!qobject_cast<CDGraphicWidget *>(o) && o)
o = o->parent();
return qobject_cast<CDGraphicWidget*>(o);
return qobject_cast<CDGraphicWidget *>(o);
}
void GDockWidget::rename() {
QString nn = QInputDialog::getText(this, tr("Rename area"), tr("New area name:"),
QLineEdit::Normal, windowTitle());
QString nn = QInputDialog::getText(this, tr("Rename area"), tr("New area name:"), QLineEdit::Normal, windowTitle());
if (nn.isEmpty()) return;
setWindowTitle(nn);
}
void GDockWidget::removeX() {
QAction * a = qobject_cast<QAction * >(sender());
QAction * a = qobject_cast<QAction *>(sender());
if (!a) return;
int ind = a->data().toInt();
if (ind < 0 || ind >= x_list.size_s()) return;
@@ -205,9 +203,7 @@ void GDockWidget::removeX() {
}
CDGraphics::CDGraphics(QWidget * parent) : QWidget(parent), Ui::CDGraphics() {
CDGraphics::CDGraphics(QWidget * parent): QWidget(parent), Ui::CDGraphics() {
setupUi(this);
da = new QMainWindow();
da->setWindowFlags(frame->windowFlags());
@@ -216,8 +212,7 @@ CDGraphics::CDGraphics(QWidget * parent) : QWidget(parent), Ui::CDGraphics() {
}
CDGraphics::~CDGraphics() {
}
CDGraphics::~CDGraphics() {}
void CDGraphics::reset() {
@@ -229,12 +224,10 @@ void CDGraphics::reset() {
QByteArray CDGraphics::save() const {
ChunkStream cs;
QVector<QByteArray> dstates;
foreach (GDockWidget * d, docks) {
foreach(GDockWidget * d, docks) {
dstates << d->save();
}
cs.add(1, docks.size())
.add(2, dstates)
.add(3, da->saveState());
cs.add(1, docks.size()).add(2, dstates).add(3, da->saveState());
X.lock();
cs.add(4, getList(X.enabledList()));
X.unlock();
@@ -251,23 +244,20 @@ void CDGraphics::load(QByteArray ba) {
switch (cs.read()) {
case 1: {
int s = cs.getData<int>();
piForTimes (s)
addGraphic();
} break;
piForTimes(s) addGraphic();
} break;
case 2: {
QVector<QByteArray> dstates = cs.getData<QVector<QByteArray> >();
QVector<QByteArray> dstates = cs.getData<QVector<QByteArray>>();
for (int i = 0; i < piMini(dstates.size(), docks.size()); ++i)
docks[i]->load(dstates[i]);
} break;
} break;
case 3: da->restoreState(cs.getData<QByteArray>()); break;
case 4:
X.lock();
X.setEnabledList(setList(cs.getData<QStringList>()));
X.unlock();
break;
case 5:
buttonConfigVisible->setChecked(cs.getData<bool>());
break;
case 5: buttonConfigVisible->setChecked(cs.getData<bool>()); break;
default: break;
}
}
@@ -276,9 +266,8 @@ void CDGraphics::load(QByteArray ba) {
GDockWidget * CDGraphics::graphicDock(Graphic * o) const {
if (!o) return 0;
foreach (GDockWidget * d, docks)
if (d->widget() == o)
return d;
foreach(GDockWidget * d, docks)
if (d->widget() == o) return d;
return 0;
}
@@ -301,11 +290,11 @@ void CDGraphics::addGraphic() {
void CDGraphics::receivedX() {
PIMap<PIString, PIVector<double> > data;
PIMap<PIString, PIVector<double>> data;
X.lock();
PIVector<PIDeque<int> > x_list = X.enabledList();
PIVector<PIDeque<int>> x_list = X.enabledList();
PIVector<double> ch;
piForeachC (PIDeque<int> & p, x_list) {
piForeachC(PIDeque<int> & p, x_list) {
CDType & t(X[p]);
if (t.xmode_rec() == CDType::X_Current)
ch.resize(1).fill(t.toDouble());
@@ -314,21 +303,21 @@ void CDGraphics::receivedX() {
t.history.clear();
data[CDCore::pathToString(t.path())] = ch;
}
//piCout << data;
// piCout << data;
X.unlock();
foreach (GDockWidget * d, docks)
foreach(GDockWidget * d, docks)
d->drawX(data);
}
void CDGraphics::changedGlobal() {
foreach (GDockWidget * d, docks)
foreach(GDockWidget * d, docks)
d->changedGlobal();
}
void CDGraphics::removeGraphic() {
GDockWidget * d = qobject_cast<GDockWidget * >(sender());
GDockWidget * d = qobject_cast<GDockWidget *>(sender());
if (!d) return;
docks.removeAll(d);
d->deleteLater();
@@ -343,7 +332,7 @@ void CDGraphics::on_buttonAdd_clicked() {
void CDGraphics::on_buttonClear_clicked() {
foreach (GDockWidget * d, docks)
foreach(GDockWidget * d, docks)
d->graphic->graphic()->clear();
}

View File

@@ -1,33 +1,33 @@
#ifndef CDGRAPHICS_H
#define CDGRAPHICS_H
#include <QWidget>
#include "qcd_graphic.h"
#include "ui_cdgraphics.h"
#include <QDockWidget>
#include <QMenu>
#include "ui_cdgraphics.h"
#include "qcd_graphic.h"
#include <QWidget>
#include <pistring.h>
namespace CDUtils {
class CDType;
class CDSection;
QStringList getList(const PIVector<PIDeque<int> > & x_list);
PIVector<PIDeque<int> > setList(const QStringList & l);
}
class CDType;
class CDSection;
QStringList getList(const PIVector<PIDeque<int>> & x_list);
PIVector<PIDeque<int>> setList(const QStringList & l);
} // namespace CDUtils
class QMainWindow;
class Graphic;
class GDockWidget: public QDockWidget {
Q_OBJECT
public:
GDockWidget(QString title = QString(), QMainWindow * p = 0);
void addX(const CDUtils::CDType & t);
void drawX(const PIMap<PIString, PIVector<double> > & data);
void drawX(const PIMap<PIString, PIVector<double>> & data);
QByteArray save() const;
void load(QByteArray ba);
void changedGlobal();
@@ -39,10 +39,10 @@ private:
void contextMenuEvent(QContextMenuEvent * e);
CDGraphicWidget * viewportGraphic(QObject * o) const;
QMenu * menu, * menu_x;
QList<QAction*> dactions;
QMenu *menu, *menu_x;
QList<QAction *> dactions;
QMainWindow * da;
PIVector<PIDeque<int> > x_list;
PIVector<PIDeque<int>> x_list;
private slots:
void rename();
@@ -50,17 +50,16 @@ private slots:
signals:
void removeRequest();
};
class CDGraphics : public QWidget, public Ui::CDGraphics
{
class CDGraphics
: public QWidget
, public Ui::CDGraphics {
Q_OBJECT
public:
explicit CDGraphics(QWidget *parent = 0);
explicit CDGraphics(QWidget * parent = 0);
~CDGraphics();
void reset();
@@ -72,7 +71,7 @@ private:
void addXToGraphic(const QString & xp, Graphic * g);
void addGraphic();
QList<GDockWidget * > docks;
QList<GDockWidget *> docks;
QMainWindow * da;
public slots:
@@ -86,7 +85,6 @@ private slots:
void on_buttonRemoveAll_clicked();
signals:
};
#endif // CDGRAPHICS_H

View File

@@ -1,27 +1,29 @@
#include "edockwidget.h"
#include "cdpultwindow.h"
#include "cdutils_core.h"
#include "cdutils_k.h"
#include "cdutils_x.h"
#include "cdutils_m.h"
#include "qcd_core.h"
#include "qcd_view.h"
#include "qcd_model.h"
#include "qcd_modedialog.h"
#include "cdutils_x.h"
#include "chunkstream.h"
#include "qvariantedit.h"
#include "edockwidget.h"
#include "piqt.h"
#include "piqt_highlighter.h"
#include "qcd_core.h"
#include "qcd_modedialog.h"
#include "qcd_model.h"
#include "qcd_view.h"
#include "qcodeedit.h"
#include "qvariantedit.h"
#include <QFileDialog>
#include <QScrollBar>
#include <QImageReader>
#include <QMessageBox>
#include <QScrollBar>
using namespace CDUtils;
CDPultWindow::CDPultWindow(QWidget *parent) : EMainWindow(parent), Ui::CDPultWindow() {
CDPultWindow::CDPultWindow(QWidget * parent): EMainWindow(parent), Ui::CDPultWindow() {
setupUi(this);
centralWidget()->hide();
setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::North);
@@ -48,24 +50,22 @@ CDPultWindow::CDPultWindow(QWidget *parent) : EMainWindow(parent), Ui::CDPultWin
session.addEntry(ribbon->tabWidget());
session.load();
reset();
connect(widgetK, SIGNAL(addToLog(CDViewWidget::LogIcon,QString)), this, SLOT(addToLog(CDViewWidget::LogIcon,QString)));
connect(widgetX, SIGNAL(addToLog(CDViewWidget::LogIcon,QString)), this, SLOT(addToLog(CDViewWidget::LogIcon,QString)));
connect(widgetC, SIGNAL(addToLog(CDViewWidget::LogIcon,QString)), this, SLOT(addToLog(CDViewWidget::LogIcon,QString)));
connect(widgetM, SIGNAL(addToLog(CDViewWidget::LogIcon,QString)), this, SLOT(addToLog(CDViewWidget::LogIcon,QString)));
connect(widgetK, SIGNAL(addToLog(CDViewWidget::LogIcon, QString)), this, SLOT(addToLog(CDViewWidget::LogIcon, QString)));
connect(widgetX, SIGNAL(addToLog(CDViewWidget::LogIcon, QString)), this, SLOT(addToLog(CDViewWidget::LogIcon, QString)));
connect(widgetC, SIGNAL(addToLog(CDViewWidget::LogIcon, QString)), this, SLOT(addToLog(CDViewWidget::LogIcon, QString)));
connect(widgetM, SIGNAL(addToLog(CDViewWidget::LogIcon, QString)), this, SLOT(addToLog(CDViewWidget::LogIcon, QString)));
connect(widgetK->view, SIGNAL(changedGlobal()), widgetDirectK, SLOT(changedGlobal()));
connect(widgetX->view, SIGNAL(changedGlobal()), widgetGraphics, SLOT(changedGlobal()));
connect(widgetX->view, SIGNAL(receivedX()), widgetGraphics, SLOT(receivedX()));
connect(widgetM->view, SIGNAL(messageReceived(QString,int,QString)), this, SLOT(messageReceived(QString,int,QString)));
connect(widgetM->view, SIGNAL(messageReceived(QString, int, QString)), this, SLOT(messageReceived(QString, int, QString)));
QCDCore::instance()->bindWidget(widgetK->view);
QCDCore::instance()->setDirectKEnabled(true);
X.start();
if (windowState() == Qt::WindowMinimized)
setWindowState(Qt::WindowNoState);
if (windowState() == Qt::WindowMinimized) setWindowState(Qt::WindowNoState);
}
CDPultWindow::~CDPultWindow() {
}
CDPultWindow::~CDPultWindow() {}
void CDPultWindow::loadFile(const QString & fp) {
@@ -87,14 +87,13 @@ void CDPultWindow::apply(bool sessions) {
if (sessions) {
widgetGraphics->load(session_gr);
widgetDirectK->load(session_dk);
if (!session_mw.isEmpty())
restoreState(session_mw);
if (!session_mw.isEmpty()) restoreState(session_mw);
X.lock();
PIVector<PIDeque<int> > x_list = X.enabledList();
PIVector<PIDeque<int>> x_list = X.enabledList();
X.unlock();
piForeachC (PIDeque<int> & p, x_list)
piForeachC(PIDeque<int> & p, x_list)
X.enable(X[p]);
((CDItemModel*)widgetX->view->model())->updateModel();
((CDItemModel *)widgetX->view->model())->updateModel();
widgetX->view->expandAll();
}
dockCDKView->setVisible(checkHasK->isChecked());
@@ -105,10 +104,9 @@ void CDPultWindow::apply(bool sessions) {
}
void CDPultWindow::closeEvent(QCloseEvent *e) {
void CDPultWindow::closeEvent(QCloseEvent * e) {
EMainWindow::closeEvent(e);
if (!e->isAccepted())
return;
if (!e->isAccepted()) return;
QApplication::closeAllWindows();
session.save();
session.setFile(QString());
@@ -141,8 +139,7 @@ bool CDPultWindow::load(const QString & path) {
checkHasM->setChecked(conf.getValue("has_m").toBool());
checkDefaultConfig->setChecked(conf.getValue("default_config").toBool());
codeConfig->setText(QByteArray2QString(conf.getValue("config").toByteArray()));
if (codeConfig->text().isEmpty())
codeConfig->setText(def_config);
if (codeConfig->text().isEmpty()) codeConfig->setText(def_config);
session_gr = conf.getValue("session_gr").toByteArray();
session_dk = conf.getValue("session_dk").toByteArray();
session_mw = conf.getValue("session_mw").toByteArray();
@@ -180,8 +177,8 @@ bool CDPultWindow::save(const QString & path) {
file_name = path;
return true;
//widgetK->setFile(path);
//widgetK->save();
// widgetK->setFile(path);
// widgetK->save();
}
@@ -201,7 +198,7 @@ QByteArray CDPultWindow::appIcon() const {
QBuffer buff(&ret);
buff.open(QIODevice::WriteOnly);
icon.save(&buff, "png");
//qDebug() << "s" << ret.size();
// qDebug() << "s" << ret.size();
return ret;
}
@@ -212,16 +209,16 @@ void CDPultWindow::setAppIcon(QByteArray ba) {
setWindowIcon(QIcon());
return;
}
//qDebug() << "l" << ba.size();
// qDebug() << "l" << ba.size();
icon = QImage::fromData(ba);
setWindowIcon(QIcon(QPixmap::fromImage(icon)));
//qDebug() << QApplication::windowIcon().availableSizes();
// qDebug() << QApplication::windowIcon().availableSizes();
}
void CDPultWindow::addToLog(CDViewWidget::LogIcon icon, const QString & msg) {
QListWidgetItem * ni = new QListWidgetItem(log_icons[icon], "(" + QTime::currentTime().toString() + ") " + msg);
bool s = listLog->verticalScrollBar()->value() == listLog->verticalScrollBar()->maximum();
bool s = listLog->verticalScrollBar()->value() == listLog->verticalScrollBar()->maximum();
listLog->addItem(ni);
if (s) listLog->scrollToBottom();
}
@@ -231,8 +228,7 @@ void CDPultWindow::messageReceived(QString path, int type, QString msg) {
MessageType mt = (MessageType)type;
const CDType & t(M.root()[CDCore::stringToPath(Q2PIString(path))]);
if (t.cd_type() != CDType::cdM) return;
if (mt == MessageBox)
QMessageBox::information(this, windowTitle(), QString("[%1]\n%2").arg(PI2QString(t.name()), msg));
if (mt == MessageBox) QMessageBox::information(this, windowTitle(), QString("[%1]\n%2").arg(PI2QString(t.name()), msg));
}
@@ -262,13 +258,15 @@ void CDPultWindow::on_editFileK_valueChanged(const QVariant & p) {
}
if (!fi.path().isEmpty() && fi.path() != ".") {
dir = fi.path();
if (!dir.endsWith("/"))
dir += "/";
if (!dir.endsWith("/")) dir += "/";
}
QAD::File f = editFileK->value().value<QAD::File>();
f.file = dir + xn + dot + ext; editFileX->setValue(QVariant::fromValue(f));
f.file = dir + cn + dot + ext; editFileC->setValue(QVariant::fromValue(f));
f.file = dir + mn + dot + ext; editFileM->setValue(QVariant::fromValue(f));
f.file = dir + xn + dot + ext;
editFileX->setValue(QVariant::fromValue(f));
f.file = dir + cn + dot + ext;
editFileC->setValue(QVariant::fromValue(f));
f.file = dir + mn + dot + ext;
editFileM->setValue(QVariant::fromValue(f));
}
@@ -284,10 +282,12 @@ void CDPultWindow::on_lineSessionName_textChanged(const QString & t) {
void CDPultWindow::on_buttonIcon_clicked() {
QList<QByteArray> ifl = QImageReader::supportedImageFormats();
QStringList sfl; foreach (QByteArray s, ifl) sfl << ("*." + QString(s).toLower());
QStringList sfl;
foreach(QByteArray s, ifl)
sfl << ("*." + QString(s).toLower());
QString f = QFileDialog::getOpenFileName(this, tr("Select icon"), last_icon, tr("Images") + " (" + sfl.join(" ") + ")");
if (f.isEmpty()) return;
last_icon = f;
icon = QImage(last_icon);
icon = QImage(last_icon);
setWindowIcon(QIcon(QPixmap::fromImage(icon)));
}

View File

@@ -1,32 +1,32 @@
#ifndef CDPULTWINDOW_H
#define CDPULTWINDOW_H
#include "emainwindow.h"
#include "ui_cdpultwindow.h"
#include "cdviewwidget.h"
#include "ribbon.h"
#include "emainwindow.h"
#include "piobject.h"
#include "ribbon.h"
#include "ui_cdpultwindow.h"
class CDPultWindow : public EMainWindow, public Ui::CDPultWindow
{
class CDPultWindow
: public EMainWindow
, public Ui::CDPultWindow {
Q_OBJECT
Q_ENUMS(LogIcon)
public:
explicit CDPultWindow(QWidget *parent = 0);
public:
explicit CDPultWindow(QWidget * parent = 0);
~CDPultWindow();
void loadFile(const QString & fp);
void apply(bool sessions);
private:
void closeEvent(QCloseEvent *);
void reset(bool full = false);
bool load(const QString & path);
bool save(const QString & path);
QString loadFilter() {return "Pult session(*.conf)";}
QString saveFilter() {return loadFilter();}
QString loadFilter() { return "Pult session(*.conf)"; }
QString saveFilter() { return loadFilter(); }
void loadingSession(QPIConfig & conf);
void savingSession(QPIConfig & conf);

View File

@@ -1,24 +1,25 @@
#include "cdviewwidget.h"
#include "cdutils_core.h"
#include "qcd_core.h"
#include "qcd_model.h"
#include "qcd_modedialog.h"
#include "qcd_model.h"
#include "qvariantedit.h"
#include <QFileDialog>
CDViewWidget::CDViewWidget(QWidget * parent) : QWidget(parent), Ui::CDViewWidget() {
CDViewWidget::CDViewWidget(QWidget * parent): QWidget(parent), Ui::CDViewWidget() {
qRegisterMetaType<CDViewWidget::LogIcon>("CDViewWidget::LogIcon");
setupUi(this);
connect(view, SIGNAL(sendSucceed()), this, SLOT(sended()));
connect(view, SIGNAL(sendSucceed()), this, SLOT(sended()));
connect(view, SIGNAL(receiveSucceed()), this, SLOT(received()));
connect(view, SIGNAL(sendFailed()), this, SLOT(sendFailed()));
connect(view, SIGNAL(receiveFailed()), this, SLOT(receiveFailed()));
connect(view, SIGNAL(sendFailed()), this, SLOT(sendFailed()));
connect(view, SIGNAL(receiveFailed()), this, SLOT(receiveFailed()));
}
CDViewWidget::~CDViewWidget() {
}
CDViewWidget::~CDViewWidget() {}
void CDViewWidget::reset() {
@@ -41,14 +42,20 @@ void CDViewWidget::setFile(const QString & f) {
void CDViewWidget::on_buttonSend_clicked() {
if (view->inProgress()) {addToLog(WaitIcon, "processing..."); return;}
if (view->inProgress()) {
addToLog(WaitIcon, "processing...");
return;
}
addToLog(WaitIcon, "Sending " + tl_u + "...");
view->send();
}
void CDViewWidget::on_buttonReceive_clicked() {
if (view->inProgress()) {addToLog(WaitIcon, "processing..."); return;}
if (view->inProgress()) {
addToLog(WaitIcon, "processing...");
return;
}
addToLog(WaitIcon, "Receiving " + tl_u + "...");
view->receive();
}
@@ -65,8 +72,10 @@ void CDViewWidget::on_buttonSave_clicked() {
void CDViewWidget::on_buttonParse_clicked() {
QString path = QFileDialog::getOpenFileName(this, "Select header file", "",
QString("%1 Description(%2_description.h);;Headers(*.h)").arg(tl_u, tl_l));
QString path = QFileDialog::getOpenFileName(this,
"Select header file",
"",
QString("%1 Description(%2_description.h);;Headers(*.h)").arg(tl_u, tl_l));
if (path.isEmpty()) return;
CDUtils::UpdateModeFlags mode = CDUtils::SaveByName;
if (!view->root()->isEmpty()) {

View File

@@ -1,18 +1,26 @@
#ifndef CDVIEWWIDGET_H
#define CDVIEWWIDGET_H
#include <QWidget>
#include "ui_cdviewwidget.h"
#include <QWidget>
class CDViewWidget : public QWidget, public Ui::CDViewWidget
{
class CDViewWidget
: public QWidget
, public Ui::CDViewWidget {
Q_OBJECT
public:
explicit CDViewWidget(QWidget *parent = 0);
explicit CDViewWidget(QWidget * parent = 0);
~CDViewWidget();
enum LogIcon {NoIcon, OKIcon, FailIcon, WaitIcon};
enum LogIcon {
NoIcon,
OKIcon,
FailIcon,
WaitIcon
};
void reset();
void setType(int t);
@@ -22,20 +30,19 @@ private:
QString tl_u, tl_l;
private slots:
void sended() {addToLog(OKIcon, tl_u + " " + tr("sended succesfull"));}
void received() {addToLog(OKIcon, tl_u + " " + tr("received succesfull"));}
void sendFailed() {addToLog(FailIcon, tl_u + " " + tr("NOT sended"));}
void receiveFailed() {addToLog(FailIcon, tl_u + " " + tr("NOT received"));}
void sended() { addToLog(OKIcon, tl_u + " " + tr("sended succesfull")); }
void received() { addToLog(OKIcon, tl_u + " " + tr("received succesfull")); }
void sendFailed() { addToLog(FailIcon, tl_u + " " + tr("NOT sended")); }
void receiveFailed() { addToLog(FailIcon, tl_u + " " + tr("NOT received")); }
void on_buttonSend_clicked();
void on_buttonReceive_clicked();
void on_buttonLoad_clicked();
void on_buttonSave_clicked();
void on_buttonParse_clicked();
//void on_buttonCalculate_clicked();
// void on_buttonCalculate_clicked();
signals:
void addToLog(CDViewWidget::LogIcon icon, const QString & msg);
};
#endif // CDVIEWWIDGET_H

View File

@@ -1,12 +1,12 @@
#include <QApplication>
#include "cdpultwindow.h"
int main(int argc, char *argv[]) {
#include <QApplication>
int main(int argc, char * argv[]) {
QApplication a(argc, argv);
enableHighDPI();
CDPultWindow w;
w.show();
if (a.arguments().size() > 1)
w.loadFile(a.arguments()[1]);
if (a.arguments().size() > 1) w.loadFile(a.arguments()[1]);
return a.exec();
}