git-svn-id: svn://db.shs.com.ru/libs@502 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-02-27 12:53:46 +00:00
parent e049cd5594
commit 816c119eb9
7 changed files with 503 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
#include "mathmatrixedit.h"
#include "qvariantedit_custom.h"
#include "matrixedit.h"
#include <QBoxLayout>
MathMatrixEdit::MathMatrixEdit(QWidget * parent): QWidget(parent) {
edit = new MatrixEdit();
setLayout(new QBoxLayout(QBoxLayout::LeftToRight));
layout()->setContentsMargins(0, 0, 0, 0);
layout()->addWidget(edit);
connect(edit, SIGNAL(changed()), this, SIGNAL(valueChanged()));
}
MathMatrixEdit::~MathMatrixEdit() {
delete edit;
}
QVariant MathMatrixEdit::value() const {
return QVariant::fromValue(QAD::MathMatrix(edit->matrix()));
}
bool MathMatrixEdit::isReadOnly() const {
return edit->isReadOnly();
}
void MathMatrixEdit::setValue(const QVariant & v) {
edit->setMatrix(v.value<QAD::MathMatrix>().m);
}
void MathMatrixEdit::setReadOnly(bool yes) {
edit->setReadOnly(yes);
}
class Factory: public QVariantEditorFactoryBase {
public:
Factory() {}
virtual QWidget * createEditor() {return new MathMatrixEdit();}
};
__MathMatrixEditRegistrator__::__MathMatrixEditRegistrator__() {
QVariantEditorFactories::registerEditorFactory(qMetaTypeId<QAD::MathMatrix>(), new Factory());
//__QADTypesRegistrator__::instance()->toString_funcs.insert(qMetaTypeId<QAD::IODevice>(), &QAD_IODevice_toString);
}