This repository has been archived on 2020-09-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
libs/qad/widgets/mathmatrixedit.cpp

54 lines
1.2 KiB
C++

#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);
}