code format
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user