piqt const remove

This commit is contained in:
2023-07-14 13:36:40 +03:00
parent 4a927b524e
commit 2a063a4f00
2 changed files with 74 additions and 64 deletions

View File

@@ -8,25 +8,25 @@
#endif #endif
const QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el) { QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el) {
QAD::Enum ret; QAD::Enum ret;
piForeachC(PIVariantTypes::Enumerator & e, el.enum_list) for (const auto & e: el.enum_list)
ret << QAD::Enumerator(e.value, PI2QString(e.name)); ret << QAD::Enumerator(e.value, PI2QString(e.name));
ret.selectValue(el.selectedValue()); ret.selectValue(el.selectedValue());
return ret; return ret;
} }
const PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el) { PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el) {
PIVariantTypes::Enum ret; PIVariantTypes::Enum ret;
foreach(const QAD::Enumerator & e, el.enum_list) for (const auto & e: el.enum_list)
ret << PIVariantTypes::Enumerator(e.value, Q2PIString(e.name)); ret << PIVariantTypes::Enumerator(e.value, Q2PIString(e.name));
ret.selectValue(el.selectedValue()); ret.selectValue(el.selectedValue());
return ret; return ret;
} }
const QVariant PI2QVariant(const PIVariant & v) { QVariant PI2QVariant(const PIVariant & v) {
switch (v.type()) { switch (v.type()) {
case PIVariant::pivBool: return QVariant(v.toBool()); case PIVariant::pivBool: return QVariant(v.toBool());
case PIVariant::pivChar: case PIVariant::pivChar:
@@ -63,7 +63,7 @@ const QVariant PI2QVariant(const PIVariant & v) {
} }
const PIVariant Q2PIVariant(const QVariant & v) { PIVariant Q2PIVariant(const QVariant & v) {
#if QT_VERSION_MAJOR <= 5 #if QT_VERSION_MAJOR <= 5
switch (v.type()) { switch (v.type()) {
#else #else
@@ -184,7 +184,7 @@ const PIVariant Q2PIVariant(const QVariant & v) {
} }
const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v) { PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v) {
PIVariantTypes::IODevice d; PIVariantTypes::IODevice d;
d.set(Q2PIPropertyStorage(v.props)); d.set(Q2PIPropertyStorage(v.props));
d.prefix = Q2PIString(v.prefix); d.prefix = Q2PIString(v.prefix);
@@ -194,33 +194,33 @@ const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v) {
} }
const QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v) { QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v) {
return QAD::IODevice(PI2QString(v.prefix), PI2QPropertyStorage(v.get()), v.mode, v.options); return QAD::IODevice(PI2QString(v.prefix), PI2QPropertyStorage(v.get()), v.mode, v.options);
} }
const QAD::File PI2QADFile(const PIVariantTypes::File & v) { QAD::File PI2QADFile(const PIVariantTypes::File & v) {
return QAD::File(PI2QString(v.file), PI2QString(v.filter), v.is_abs, v.is_save); return QAD::File(PI2QString(v.file), PI2QString(v.filter), v.is_abs, v.is_save);
} }
const QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v) { QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v) {
return QAD::Dir(PI2QString(v.dir), v.is_abs); return QAD::Dir(PI2QString(v.dir), v.is_abs);
} }
const PIVariantTypes::File QAD2PIFile(const QAD::File & v) { PIVariantTypes::File QAD2PIFile(const QAD::File & v) {
return PIVariantTypes::File(Q2PIString(v.file), Q2PIString(v.filter), v.is_abs, v.is_save); return PIVariantTypes::File(Q2PIString(v.file), Q2PIString(v.filter), v.is_abs, v.is_save);
} }
const PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v) { PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v) {
return PIVariantTypes::Dir(Q2PIString(v.dir), v.is_abs); return PIVariantTypes::Dir(Q2PIString(v.dir), v.is_abs);
} }
#ifdef PIQT_HAS_GEOPOSITION #ifdef PIQT_HAS_GEOPOSITION
const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v) { QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v) {
PIGeoPosition p(v); PIGeoPosition p(v);
p.transformTo(PIGeoPosition::Cartesian); p.transformTo(PIGeoPosition::Cartesian);
p.setEllipsoidModel(PIEllipsoidModel::WGS84Ellipsoid()); p.setEllipsoidModel(PIEllipsoidModel::WGS84Ellipsoid());
@@ -229,7 +229,7 @@ const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v) {
} }
const PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v) { PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v) {
return PIGeoPosition(PIMathVectorT3d({v.latitude(), v.longitude(), v.altitude()}), PIGeoPosition::Geodetic); return PIGeoPosition(PIMathVectorT3d({v.latitude(), v.longitude(), v.altitude()}), PIGeoPosition::Geodetic);
} }
#endif #endif

View File

@@ -47,96 +47,97 @@ class PIGeoPosition;
#include "qad_piqt_export.h" #include "qad_piqt_export.h"
QAD_PIQT_EXPORT const QVariant PI2QVariant(const PIVariant & v); QAD_PIQT_EXPORT QVariant PI2QVariant(const PIVariant & v);
QAD_PIQT_EXPORT const PIVariant Q2PIVariant(const QVariant & v); QAD_PIQT_EXPORT PIVariant Q2PIVariant(const QVariant & v);
// inline const QString PI2QString(const PIString & v) {return QString::fromLocal8Bit(v.data());} // inline QString PI2QString(const PIString & v) {return QString::fromLocal8Bit(v.data());}
inline const QString PI2QString(const PIString & v) { inline QString PI2QString(const PIString & v) {
return QString::fromUtf8(v.dataUTF8()); return QString::fromUtf8(v.dataUTF8());
} }
#if PIP_VERSION >= PIP_MAKE_VERSION(2, 38, 0) #if PIP_VERSION >= PIP_MAKE_VERSION(2, 38, 0)
inline const QString PI2QString(const PIConstChars & v) { inline QString PI2QString(const PIConstChars & v) {
return QString::fromLatin1(v.data(), v.length()); return QString::fromLatin1(v.data(), v.length());
} }
#endif #endif
// inline const PIString Q2PIString(const QString & v) {return PIString(v.toLocal8Bit().data());} // inline PIString Q2PIString(const QString & v) {return PIString(v.toLocal8Bit().data());}
inline const PIString Q2PIString(const QString & v) { inline PIString Q2PIString(const QString & v) {
return PIString::fromUTF8(v.toUtf8().data()); return PIString::fromUTF8(v.toUtf8().data());
} }
inline const QStringList PI2QStringList(const PIStringList & v) { inline QStringList PI2QStringList(const PIStringList & v) {
QStringList ret; QStringList ret;
piForeachC(PIString & s, v) for (const auto & s: v)
ret << PI2QString(s); ret << PI2QString(s);
return ret; return ret;
} }
inline const PIStringList Q2PIStringList(const QStringList & v) { inline PIStringList Q2PIStringList(const QStringList & v) {
PIStringList ret; PIStringList ret;
foreach(const QString & s, v) ret.reserve(v.size());
for (const auto & s: v)
ret << Q2PIString(s); ret << Q2PIString(s);
return ret; return ret;
} }
inline const QByteArray PI2QByteArray(const PIByteArray & v) { inline QByteArray PI2QByteArray(const PIByteArray & v) {
return QByteArray((const char *)(v.data()), v.size_s()); return QByteArray((const char *)(v.data()), v.size_s());
} }
inline const PIByteArray Q2PIByteArray(const QByteArray & v) { inline PIByteArray Q2PIByteArray(const QByteArray & v) {
return PIByteArray(v.constData(), v.size()); return PIByteArray(v.constData(), v.size());
} }
inline const QPointF PI2QVector2(const PIMathVectorT2d & v) { inline QPointF PI2QVector2(const PIMathVectorT2d & v) {
return QPointF(v[0], v[1]); return QPointF(v[0], v[1]);
} }
inline const QVector3D PI2QVector3(const PIMathVectorT3d & v) { inline QVector3D PI2QVector3(const PIMathVectorT3d & v) {
return QVector3D(v[0], v[1], v[2]); return QVector3D(v[0], v[1], v[2]);
} }
inline const PIMathVectorT2d Q2PIVector2(const QPointF & v) { inline PIMathVectorT2d Q2PIVector2(const QPointF & v) {
return PIMathVectorT2d({double(v.x()), double(v.y())}); return PIMathVectorT2d({double(v.x()), double(v.y())});
} }
inline const PIMathVectorT3d Q2PIVector3(const QVector3D & v) { inline PIMathVectorT3d Q2PIVector3(const QVector3D & v) {
return PIMathVectorT3d({double(v.x()), double(v.y()), double(v.z())}); return PIMathVectorT3d({double(v.x()), double(v.y()), double(v.z())});
} }
inline const QPointF PI2QPoint(const PIPointd & v) { inline QPointF PI2QPoint(const PIPointd & v) {
return QPointF(v.x, v.y); return QPointF(v.x, v.y);
} }
inline const PIPointd Q2PIPoint(const QPointF & v) { inline PIPointd Q2PIPoint(const QPointF & v) {
return PIPointd(v.x(), v.y()); return PIPointd(v.x(), v.y());
} }
inline const QRectF PI2QRect(const PIRectd & v) { inline QRectF PI2QRect(const PIRectd & v) {
return QRectF(v.left(), v.bottom(), v.width(), v.height()); return QRectF(v.left(), v.bottom(), v.width(), v.height());
} }
inline const PIRectd Q2PIRect(const QRectF & v) { inline PIRectd Q2PIRect(const QRectF & v) {
return PIRectd(v.left(), v.top(), v.width(), v.height()); return PIRectd(v.left(), v.top(), v.width(), v.height());
} }
inline const QLineF PI2QLine(const PILined & v) { inline QLineF PI2QLine(const PILined & v) {
return QLineF(PI2QPoint(v.p0), PI2QPoint(v.p1)); return QLineF(PI2QPoint(v.p0), PI2QPoint(v.p1));
} }
inline const PILined Q2PILine(const QLineF & v) { inline PILined Q2PILine(const QLineF & v) {
return PILined(Q2PIPoint(v.p1()), Q2PIPoint(v.p2())); return PILined(Q2PIPoint(v.p1()), Q2PIPoint(v.p2()));
} }
inline const QAD::MathVector PI2QMathVector(const PIMathVectord & v) { inline QAD::MathVector PI2QMathVector(const PIMathVectord & v) {
QVector<double> q = QVector<double>(v.size()); QVector<double> q = QVector<double>(v.size());
memcpy(q.data(), v.data(), q.size() * sizeof(double)); memcpy(q.data(), v.data(), q.size() * sizeof(double));
return QAD::MathVector(q); return QAD::MathVector(q);
} }
inline const PIMathVectord Q2PIMathVector(const QAD::MathVector & v) { inline PIMathVectord Q2PIMathVector(const QAD::MathVector & v) {
PIMathVectord p = PIMathVectord(v.v.size()); PIMathVectord p = PIMathVectord(v.v.size());
memcpy(p.data(), v.v.data(), p.size() * sizeof(double)); memcpy(p.data(), v.v.data(), p.size() * sizeof(double));
return p; return p;
} }
inline const QAD::MathMatrix PI2QMathMatrix(const PIMathMatrixd & v) { inline QAD::MathMatrix PI2QMathMatrix(const PIMathMatrixd & v) {
PIVector<PIVector<double>> p = v.toVectors(); PIVector<PIVector<double>> p = v.toVectors();
QVector<QVector<double>> q = QVector<QVector<double>>(p.size()); QVector<QVector<double>> q = QVector<QVector<double>>(p.size());
for (int i = 0; i < q.size(); ++i) { for (int i = 0; i < q.size(); ++i) {
@@ -145,7 +146,7 @@ inline const QAD::MathMatrix PI2QMathMatrix(const PIMathMatrixd & v) {
} }
return QAD::MathMatrix(q); return QAD::MathMatrix(q);
} }
inline const PIMathMatrixd Q2PIMathMatrix(const QAD::MathMatrix & v) { inline PIMathMatrixd Q2PIMathMatrix(const QAD::MathMatrix & v) {
PIVector<PIVector<double>> p = PIVector<PIVector<double>>(v.m.size()); PIVector<PIVector<double>> p = PIVector<PIVector<double>>(v.m.size());
for (int i = 0; i < v.m.size(); ++i) { for (int i = 0; i < v.m.size(); ++i) {
p[i].resize(v.m[i].size()); p[i].resize(v.m[i].size());
@@ -155,37 +156,37 @@ inline const PIMathMatrixd Q2PIMathMatrix(const QAD::MathMatrix & v) {
} }
inline const QDate PI2QDate(const PIDate & v) { inline QDate PI2QDate(const PIDate & v) {
return QDate(v.year, v.month, v.day); return QDate(v.year, v.month, v.day);
} }
inline const QTime PI2QTime(const PITime & v) { inline QTime PI2QTime(const PITime & v) {
return QTime(v.hours, v.minutes, v.seconds, v.milliseconds); return QTime(v.hours, v.minutes, v.seconds, v.milliseconds);
} }
inline const QDateTime PI2QDateTime(const PIDateTime & v) { inline QDateTime PI2QDateTime(const PIDateTime & v) {
return QDateTime(PI2QDate(v.date()), PI2QTime(v.time())); return QDateTime(PI2QDate(v.date()), PI2QTime(v.time()));
} }
inline const PIDate Q2PIDate(const QDate & v) { inline PIDate Q2PIDate(const QDate & v) {
return PIDate(v.year(), v.month(), v.day()); return PIDate(v.year(), v.month(), v.day());
} }
inline const PITime Q2PITime(const QTime & v) { inline PITime Q2PITime(const QTime & v) {
return PITime(v.hour(), v.minute(), v.second(), v.msec()); return PITime(v.hour(), v.minute(), v.second(), v.msec());
} }
inline const PIDateTime Q2PIDateTime(const QDateTime & v) { inline PIDateTime Q2PIDateTime(const QDateTime & v) {
return PIDateTime(Q2PIDate(v.date()), Q2PITime(v.time())); return PIDateTime(Q2PIDate(v.date()), Q2PITime(v.time()));
} }
inline const QColor PI2QColor(const PIVariantTypes::Color & v) { inline QColor PI2QColor(const PIVariantTypes::Color & v) {
return QColor::fromRgba(v.rgba); return QColor::fromRgba(v.rgba);
} }
inline const PIVariantTypes::Color Q2PIColor(const QColor & v) { inline PIVariantTypes::Color Q2PIColor(const QColor & v) {
return PIVariantTypes::Color(v.rgba()); return PIVariantTypes::Color(v.rgba());
} }
template<typename T> template<typename T>
inline const QVector<T> PI2QVector(const PIVector<T> & v) { inline QVector<T> PI2QVector(const PIVector<T> & v) {
QVector<T> ret; QVector<T> ret;
ret.reserve(v.size_s()); ret.reserve(v.size_s());
for (int i = 0; i < v.size_s(); ++i) for (int i = 0; i < v.size_s(); ++i)
@@ -193,10 +194,19 @@ inline const QVector<T> PI2QVector(const PIVector<T> & v) {
return ret; return ret;
} }
template<typename T> template<typename T>
inline const PIVector<T> Q2PIVector(const QVector<T> & v) { inline PIVector<T> Q2PIVector(const QVector<T> & v) {
if (v.isEmpty()) return PIVector<T>(); if (v.isEmpty()) return PIVector<T>();
return PIVector<T>(v.constData(), (size_t)v.size()); return PIVector<T>(v.constData(), (size_t)v.size());
} }
template<typename T>
inline PIVector<T> Q2PIVector(const QList<T> & v) {
if (v.isEmpty()) return PIVector<T>();
PIVector<T> ret;
ret.reserve(v.size());
for (const auto & i: v)
ret << i;
return ret;
}
template<typename K, typename T> template<typename K, typename T>
inline QMap<K, T> PI2QMap(const PIMap<K, T> & v) { inline QMap<K, T> PI2QMap(const PIMap<K, T> & v) {
@@ -223,33 +233,33 @@ inline PIMap<K, T> Q2PIMap(const QMap<K, T> & v) {
inline PIPropertyStorage Q2PIPropertyStorage(const PropertyStorage & props) { inline PIPropertyStorage Q2PIPropertyStorage(const PropertyStorage & props) {
PIPropertyStorage ret; PIPropertyStorage ret;
foreach(const PropertyStorage::Property & p, props) for (const auto & p: props)
ret.addProperty(Q2PIString(p.name), Q2PIVariant(p.value), Q2PIString(p.comment), p.flags); ret.addProperty(Q2PIString(p.name), Q2PIVariant(p.value), Q2PIString(p.comment), p.flags);
return ret; return ret;
} }
inline PropertyStorage PI2QPropertyStorage(const PIPropertyStorage & props) { inline PropertyStorage PI2QPropertyStorage(const PIPropertyStorage & props) {
PropertyStorage ret; PropertyStorage ret;
piForeachC(PIPropertyStorage::Property & p, props) for (const auto & p: props)
ret.addProperty(PI2QString(p.name), PI2QVariant(p.value), PI2QString(p.comment), p.flags); ret.addProperty(PI2QString(p.name), PI2QVariant(p.value), PI2QString(p.comment), p.flags);
return ret; return ret;
} }
QAD_PIQT_EXPORT const QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el); QAD_PIQT_EXPORT QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el);
QAD_PIQT_EXPORT const QAD::File PI2QADFile(const PIVariantTypes::File & v); QAD_PIQT_EXPORT QAD::File PI2QADFile(const PIVariantTypes::File & v);
QAD_PIQT_EXPORT const QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v); QAD_PIQT_EXPORT QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v);
QAD_PIQT_EXPORT const QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v); QAD_PIQT_EXPORT QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v);
QAD_PIQT_EXPORT const PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el); QAD_PIQT_EXPORT PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el);
QAD_PIQT_EXPORT const PIVariantTypes::File QAD2PIFile(const QAD::File & v); QAD_PIQT_EXPORT PIVariantTypes::File QAD2PIFile(const QAD::File & v);
QAD_PIQT_EXPORT const PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v); QAD_PIQT_EXPORT PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v);
QAD_PIQT_EXPORT const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v); QAD_PIQT_EXPORT PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v);
// inline const PIVariant QString2PIVariant(const QString & v) {return PIVariant::readFromString(QString2PIString(v));} // inline PIVariant QString2PIVariant(const QString & v) {return PIVariant::readFromString(QString2PIString(v));}
#ifdef PIQT_HAS_GEOPOSITION #ifdef PIQT_HAS_GEOPOSITION
QAD_PIQT_EXPORT const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v); QAD_PIQT_EXPORT QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v);
QAD_PIQT_EXPORT const PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v); QAD_PIQT_EXPORT PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v);
#endif #endif
template<typename From> template<typename From>