From 9760c4b6f23454fac252d51cd4aa5bef319e13f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Wed, 19 Dec 2018 07:50:41 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@474 a8b55f48-bf90-11e4-a774-851b48703e85 --- piqt/piqt.h | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/piqt/piqt.h b/piqt/piqt.h index 3fe1a29..d4370d1 100644 --- a/piqt/piqt.h +++ b/piqt/piqt.h @@ -1,23 +1,17 @@ #ifndef PIQT_H #define PIQT_H -#include "pistring.h" #include "pimathvector.h" -#include "pigeometry.h" -#include "pitime.h" -#include "pivariant.h" +#include "pipropertystorage.h" #include "qad_types.h" -#include -#include -#include -#include #include #include -#include -#include #include +const QVariant PI2QVariant(const PIVariant & v); +const PIVariant Q2PIVariant(const QVariant & v); + //inline const QString PI2QString(const PIString & v) {return QString::fromLocal8Bit(v.data());} inline const QString PI2QString(const PIString & v) {return QString::fromUtf8(v.dataUTF8());} @@ -60,16 +54,38 @@ inline const PIDateTime Q2PIDateTime(const QDateTime & v) {return PIDateTime(Q2P inline const QColor PI2QColor(const PIVariantTypes::Color & v) {return QColor::fromRgba(v.rgba);} inline const PIVariantTypes::Color Q2PIColor(const QColor & v) {return PIVariantTypes::Color(v.rgba());} +inline PIPropertyStorage Q2PIPropertyStorage(const PropertyStorage & props) { + PIPropertyStorage ret; + foreach (const PropertyStorage::Property & p, props) + ret.addProperty(Q2PIString(p.name), Q2PIVariant(p.value), Q2PIString(p.comment), p.flags); + return ret; +} + +inline PropertyStorage PI2QPropertyStorage(const PIPropertyStorage & props) { + PropertyStorage ret; + piForeachC (PIPropertyStorage::Property & p, props) + ret.addProperty(PI2QString(p.name), PI2QVariant(p.value), PI2QString(p.comment), p.flags); + return ret; +} + + const QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el); inline const QAD::File PI2QADFile(const PIVariantTypes::File & v) {return QAD::File(PI2QString(v.file), PI2QString(v.filter), v.is_abs);} inline const QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v) {return QAD::Dir(PI2QString(v.dir), v.is_abs);} const PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el); inline const PIVariantTypes::File QAD2PIFile(const QAD::File & v) {return PIVariantTypes::File(Q2PIString(v.file), Q2PIString(v.filter), v.is_abs);} inline const PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v) {return PIVariantTypes::Dir(Q2PIString(v.dir), v.is_abs);} - -const QVariant PI2QVariant(const PIVariant & v); - -const PIVariant Q2PIVariant(const QVariant & v); +inline const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v) { + PIVariantTypes::IODevice d; + d.set(Q2PIPropertyStorage(v.props)); + d.prefix = Q2PIString(v.prefix); + d.mode = v.mode; + d.options = v.opts; + return d; +} +inline const QAD::IODevice QAD2PIIODevice(const PIVariantTypes::IODevice & v) { + return QAD::IODevice(PI2QString(v.prefix), PI2QPropertyStorage(v.get()), v.mode, v.options); +} //inline const PIVariant QString2PIVariant(const QString & v) {return PIVariant::readFromString(QString2PIString(v));}