git-svn-id: svn://db.shs.com.ru/libs@500 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -39,6 +39,12 @@ __QADTypesRegistrator__::__QADTypesRegistrator__() {
|
||||
qRegisterMetaType<QAD::IODevice>("QAD::IODevice");
|
||||
qRegisterMetaTypeStreamOperators<QAD::IODevice>("QAD::IODevice");
|
||||
|
||||
qRegisterMetaType<QAD::MathVector>("QAD::MathVector");
|
||||
qRegisterMetaTypeStreamOperators<QAD::MathVector>("QAD::MathVector");
|
||||
|
||||
qRegisterMetaType<QAD::MathMatrix>("QAD::MathMatrix");
|
||||
qRegisterMetaTypeStreamOperators<QAD::MathMatrix>("QAD::MathMatrix");
|
||||
|
||||
#if QT_VERSION >= 0x050200
|
||||
QMetaType::registerConverter<QAD::Enum, int>(&QAD::Enum::selectedValue);
|
||||
QMetaType::registerConverter<QAD::Enum, QString>(&QAD::Enum::selectedName);
|
||||
@@ -185,6 +191,8 @@ QVariant::Type typeFromLetter(const QString & l) {
|
||||
if (ft == "F") return (QVariant::Type)qMetaTypeId<QAD::File>();
|
||||
if (ft == "D") return (QVariant::Type)qMetaTypeId<QAD::Dir>();
|
||||
if (ft == "d") return (QVariant::Type)qMetaTypeId<QAD::IODevice>();
|
||||
if (ft == "V") return (QVariant::Type)qMetaTypeId<QAD::MathVector>();
|
||||
if (ft == "M") return (QVariant::Type)qMetaTypeId<QAD::MathMatrix>();
|
||||
return QVariant::String;
|
||||
}
|
||||
|
||||
|
||||
@@ -59,6 +59,16 @@ namespace QAD {
|
||||
PropertyStorage props;
|
||||
};
|
||||
|
||||
struct MathVector {
|
||||
MathVector(const QVector<double> & vec = QVector<double>()) {v = vec;}
|
||||
QVector<double> v;
|
||||
};
|
||||
|
||||
struct MathMatrix {
|
||||
MathMatrix(const QVector<QVector<double> > & mat = QVector<QVector<double> > ()) {m = mat;}
|
||||
QVector<QVector<double> > m; // [Row][Column]
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Q_DECLARE_METATYPE(QAD::Enumerator)
|
||||
@@ -86,6 +96,16 @@ inline QDataStream & operator <<(QDataStream & s, const QAD::IODevice & v) {s <<
|
||||
inline QDataStream & operator >>(QDataStream & s, QAD::IODevice & v) {s >> v.prefix >> v.mode >> v.options >> v.props; return s;}
|
||||
inline QDebug operator <<(QDebug s, const QAD::IODevice & v) {s.nospace() << v.toString(); return s.space();}
|
||||
|
||||
Q_DECLARE_METATYPE(QAD::MathVector)
|
||||
inline QDataStream & operator <<(QDataStream & s, const QAD::MathVector & v) {s << v.v; return s;}
|
||||
inline QDataStream & operator >>(QDataStream & s, QAD::MathVector & v) {s >> v.v; return s;}
|
||||
inline QDebug operator <<(QDebug s, const QAD::MathVector & v) {s.nospace() << "Vector " << v.v; return s.space();}
|
||||
|
||||
Q_DECLARE_METATYPE(QAD::MathMatrix)
|
||||
inline QDataStream & operator <<(QDataStream & s, const QAD::MathMatrix & v) {s << v.m; return s;}
|
||||
inline QDataStream & operator >>(QDataStream & s, QAD::MathMatrix & v) {s >> v.m; return s;}
|
||||
inline QDebug operator <<(QDebug s, const QAD::MathMatrix & v) {s.nospace() << "Matrix " << v.m; return s.space();}
|
||||
|
||||
|
||||
class __QADTypesRegistrator__ {
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user