Added support for binding QDecimal values.
This commit is contained in:
+20
-2
@@ -10,6 +10,9 @@
|
||||
#include <QVariant>
|
||||
#include <QMessageBox>
|
||||
#include <QComboBox>
|
||||
#include <QDebug>
|
||||
|
||||
#include "../qdecimal/src/QDecDouble.hh"
|
||||
|
||||
#include "iform.h"
|
||||
#include "service.h"
|
||||
@@ -77,7 +80,15 @@ private:
|
||||
registerCombos();
|
||||
foreach (QWidget *widget, m_bindWidgets) {
|
||||
const char* prop = widget->metaObject()->userProperty().name();
|
||||
widget->setProperty(prop, ((QObject*)m_entity.data())->property(widget->objectName().toStdString().c_str()));
|
||||
QVariant value = ((QObject*)m_entity.data())->property(widget->objectName().toStdString().c_str());
|
||||
if (value.canConvert<QDecDouble>())
|
||||
{
|
||||
widget->setProperty(prop, value.value<QDecDouble>().toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
widget->setProperty(prop, value);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (QComboBox *combo, m_bindCombos.keys()) {
|
||||
@@ -117,7 +128,14 @@ private:
|
||||
|
||||
foreach (QWidget *widget, m_bindWidgets) {
|
||||
const char* prop = widget->metaObject()->userProperty().name();
|
||||
((QObject*)m_entity.data())->setProperty(widget->objectName().toStdString().c_str(), widget->property(prop));
|
||||
|
||||
QVariant val = widget->property(prop);
|
||||
if (((QObject*)m_entity.data())->property(widget->objectName().toStdString().c_str()).canConvert<QDecDouble>())
|
||||
{
|
||||
QDecDouble dec(val.toDouble());
|
||||
val = QVariant::fromValue(dec);
|
||||
}
|
||||
((QObject*)m_entity.data())->setProperty(widget->objectName().toStdString().c_str(), val);
|
||||
}
|
||||
|
||||
foreach (QComboBox *combo, m_bindCombos.keys()) {
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
#include <QSharedPointer>
|
||||
#include <QMetaProperty>
|
||||
#include <QModelIndex>
|
||||
#include <QDebug>
|
||||
|
||||
#include "../qdecimal/src/QDecDouble.hh"
|
||||
|
||||
#include "define.h"
|
||||
#include "core_global.h"
|
||||
@@ -58,6 +61,11 @@ public:
|
||||
return qobject_cast<ComboItem*>(dispData.value<QObject*>())->toString();
|
||||
}
|
||||
|
||||
if (dispData.canConvert<QDecDouble>())
|
||||
{
|
||||
return dispData.value<QDecDouble>().toDouble();
|
||||
}
|
||||
|
||||
return dispData;
|
||||
}
|
||||
|
||||
|
||||
+6
-1
@@ -127,4 +127,9 @@ OTHER_FILES += \
|
||||
users/metaData.json \
|
||||
roles/metaData.json
|
||||
|
||||
TRANSLATIONS = core_cz.ts
|
||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
|
||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
|
||||
else:unix: LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
|
||||
|
||||
INCLUDEPATH += $$PWD/../qdecimal/src
|
||||
INCLUDEPATH += $$PWD/../qdecimal/decnumber
|
||||
|
||||
@@ -9,5 +9,7 @@
|
||||
#define PERM_EDIT "EDIT"
|
||||
#define PERM_DELETE "DELETE"
|
||||
|
||||
#define DEC_MULTIPLE 100
|
||||
|
||||
#endif // DEFINE_H
|
||||
|
||||
|
||||
+4
-3
@@ -2,18 +2,19 @@
|
||||
#define ENUMS_H
|
||||
#include <QObject>
|
||||
|
||||
#include "core_global.h"
|
||||
|
||||
class Enums : public QObject
|
||||
class CORESHARED_EXPORT Enums : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_ENUMS(VatType)
|
||||
public:
|
||||
public:
|
||||
|
||||
enum VatType { HIGH,FIRST_LOWER,SECOND_LOWER };
|
||||
|
||||
Enums()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user