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

This commit is contained in:
2017-02-22 13:00:46 +00:00
parent 02e0bddd09
commit a74150ff71
14 changed files with 62 additions and 31 deletions

View File

@@ -15,7 +15,7 @@ if(DEFINED ENV{QNX_HOST})
else()
add_library(${PROJECT_NAME} SHARED ${CPPS})
endif()
set(LIBS ${QT_QTCORE_LIBRARY} ${PIP_LIBRARY})
set(LIBS ${QT_QTCORE_LIBRARY} ${PIP_LIBRARY} qad_utils)
target_link_libraries(${PROJECT_NAME} ${LIBS})
if(LIB)
if(WIN32)

View File

@@ -2,6 +2,24 @@
#include "qvariantedit.h"
const QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el) {
QAD::Enum ret;
piForeachC (PIVariantTypes::Enumerator & e, el.enum_list)
ret << QAD::Enumerator(e.value, PI2QString(e.name));
ret.selectValue(el.selectedValue());
return ret;
}
const PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el) {
PIVariantTypes::Enum ret;
foreach (const QAD::Enumerator & e, el.enum_list)
ret << PIVariantTypes::Enumerator(e.value, Q2PIString(e.name));
ret.selectValue(el.selectedValue());
return ret;
}
const QVariant PI2QVariant(const PIVariant & v) {
switch (v.type()) {
case PIVariant::pivBool: return QVariant(v.toBool());
@@ -22,6 +40,9 @@ const QVariant PI2QVariant(const PIVariant & v) {
case PIVariant::pivTime: return QVariant(PI2QTime(v.toTime()));
case PIVariant::pivDate: return QVariant(PI2QDate(v.toDate()));
case PIVariant::pivDateTime: return QVariant(PI2QDateTime(v.toDateTime()));
case PIVariant::pivEnum: return QVariant::fromValue(PI2QADEnum(v.toEnum()));
case PIVariant::pivFile: return QVariant::fromValue(PI2QADFile(v.toFile()));
case PIVariant::pivDir: return QVariant::fromValue(PI2QADDir(v.toDir()));
//case PIVariant::pivSystemTime: return QVariant(v.to());
default: return QVariant();
}
@@ -43,7 +64,10 @@ const PIVariant Q2PIVariant(const QVariant & v) {
case QVariant::Time: return PIVariant(Q2PITime(v.toTime()));
case QVariant::Date: return PIVariant(Q2PIDate(v.toDate()));
case QVariant::DateTime: return PIVariant(Q2PIDateTime(v.toDateTime()));
default: return PIVariant();
default: break;
}
if (v.canConvert<QAD::Enum>()) return PIVariant(QAD2PIEnum(v.value<QAD::Enum>()));
if (v.canConvert<QAD::File>()) return PIVariant(QAD2PIFile(v.value<QAD::File>()));
if (v.canConvert<QAD::Dir>()) return PIVariant(QAD2PIDir(v.value<QAD::Dir>()));
return PIVariant();
}

View File

@@ -5,6 +5,7 @@
#include "pimathmatrix.h"
#include "pitime.h"
#include "pivariant.h"
#include "qad_types.h"
#include <QString>
#include <QByteArray>
#include <QPointF>
@@ -47,6 +48,14 @@ inline const PIDate Q2PIDate(const QDate & v) {return PIDate(v.year(), v.month()
inline const PITime Q2PITime(const QTime & v) {return PITime(v.hour(), v.minute(), v.second(), v.msec());}
inline const PIDateTime Q2PIDateTime(const QDateTime & v) {return PIDateTime(Q2PIDate(v.date()), Q2PITime(v.time()));}
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);