Commit d9c32fc2 authored by Don Gagne's avatar Don Gagne

Merge pull request #2247 from DonLakeFlyer/MetaDataPrecision

Meta data values need string conversion as well
parents 4e6c64ad 1d193b99
...@@ -129,25 +129,30 @@ QVariant Fact::value(void) const ...@@ -129,25 +129,30 @@ QVariant Fact::value(void) const
return _value; return _value;
} }
QString Fact::valueString(void) const QString Fact::_variantToString(const QVariant& variant) const
{ {
QString valueString; QString valueString;
switch (type()) { switch (type()) {
case FactMetaData::valueTypeFloat: case FactMetaData::valueTypeFloat:
valueString = QString("%1").arg(value().toFloat(), 0, 'g', decimalPlaces()); valueString = QString("%1").arg(variant.toFloat(), 0, 'f', decimalPlaces());
break; break;
case FactMetaData::valueTypeDouble: case FactMetaData::valueTypeDouble:
valueString = QString("%1").arg(value().toDouble(), 0, 'g', decimalPlaces()); valueString = QString("%1").arg(variant.toDouble(), 0, 'f', decimalPlaces());
break; break;
default: default:
valueString = value().toString(); valueString = variant.toString();
break; break;
} }
return valueString; return valueString;
} }
QString Fact::valueString(void) const
{
return _variantToString(value());
}
QVariant Fact::defaultValue(void) const QVariant Fact::defaultValue(void) const
{ {
if (_metaData) { if (_metaData) {
...@@ -161,6 +166,11 @@ QVariant Fact::defaultValue(void) const ...@@ -161,6 +166,11 @@ QVariant Fact::defaultValue(void) const
} }
} }
QString Fact::defaultValueString(void) const
{
return _variantToString(defaultValue());
}
FactMetaData::ValueType_t Fact::type(void) const FactMetaData::ValueType_t Fact::type(void) const
{ {
return _type; return _type;
...@@ -206,6 +216,11 @@ QVariant Fact::min(void) const ...@@ -206,6 +216,11 @@ QVariant Fact::min(void) const
} }
} }
QString Fact::minString(void) const
{
return _variantToString(min());
}
QVariant Fact::max(void) const QVariant Fact::max(void) const
{ {
if (_metaData) { if (_metaData) {
...@@ -216,6 +231,11 @@ QVariant Fact::max(void) const ...@@ -216,6 +231,11 @@ QVariant Fact::max(void) const
} }
} }
QString Fact::maxString(void) const
{
return _variantToString(max());
}
bool Fact::minIsDefaultForType(void) const bool Fact::minIsDefaultForType(void) const
{ {
if (_metaData) { if (_metaData) {
......
...@@ -53,14 +53,17 @@ public: ...@@ -53,14 +53,17 @@ public:
Q_PROPERTY(QVariant valueString READ valueString NOTIFY valueChanged) Q_PROPERTY(QVariant valueString READ valueString NOTIFY valueChanged)
Q_PROPERTY(QString units READ units CONSTANT) Q_PROPERTY(QString units READ units CONSTANT)
Q_PROPERTY(QVariant defaultValue READ defaultValue CONSTANT) Q_PROPERTY(QVariant defaultValue READ defaultValue CONSTANT)
Q_PROPERTY(QString defaultValueString READ defaultValueString CONSTANT)
Q_PROPERTY(bool defaultValueAvailable READ defaultValueAvailable CONSTANT) Q_PROPERTY(bool defaultValueAvailable READ defaultValueAvailable CONSTANT)
Q_PROPERTY(bool valueEqualsDefault READ valueEqualsDefault NOTIFY valueChanged) Q_PROPERTY(bool valueEqualsDefault READ valueEqualsDefault NOTIFY valueChanged)
Q_PROPERTY(FactMetaData::ValueType_t type READ type CONSTANT) Q_PROPERTY(FactMetaData::ValueType_t type READ type CONSTANT)
Q_PROPERTY(QString shortDescription READ shortDescription CONSTANT) Q_PROPERTY(QString shortDescription READ shortDescription CONSTANT)
Q_PROPERTY(QString longDescription READ longDescription CONSTANT) Q_PROPERTY(QString longDescription READ longDescription CONSTANT)
Q_PROPERTY(QVariant min READ min CONSTANT) Q_PROPERTY(QVariant min READ min CONSTANT)
Q_PROPERTY(QString minString READ minString CONSTANT)
Q_PROPERTY(bool minIsDefaultForType READ minIsDefaultForType CONSTANT) Q_PROPERTY(bool minIsDefaultForType READ minIsDefaultForType CONSTANT)
Q_PROPERTY(QVariant max READ max CONSTANT) Q_PROPERTY(QVariant max READ max CONSTANT)
Q_PROPERTY(QString maxString READ maxString CONSTANT)
Q_PROPERTY(bool maxIsDefaultForType READ maxIsDefaultForType CONSTANT) Q_PROPERTY(bool maxIsDefaultForType READ maxIsDefaultForType CONSTANT)
Q_PROPERTY(int decimalPlaces READ decimalPlaces CONSTANT) Q_PROPERTY(int decimalPlaces READ decimalPlaces CONSTANT)
...@@ -70,25 +73,30 @@ public: ...@@ -70,25 +73,30 @@ public:
// Property system methods // Property system methods
QString name(void) const; QString name(void) const;
int componentId(void) const; int componentId(void) const;
QVariant value(void) const; QVariant value(void) const;
QString valueString(void) const; QString valueString(void) const;
void setValue(const QVariant& value); QVariant defaultValue(void) const;
QVariant defaultValue(void) const; QString defaultValueString(void) const;
bool defaultValueAvailable(void) const; bool defaultValueAvailable(void) const;
bool valueEqualsDefault(void) const; bool valueEqualsDefault(void) const;
QString shortDescription(void) const;
QString longDescription(void) const;
QString units(void) const;
QVariant min(void) const;
QString minString(void) const;
bool minIsDefaultForType(void) const;
QVariant max(void) const;
QString maxString(void) const;
bool maxIsDefaultForType(void) const;
QString group(void) const;
int decimalPlaces(void) const;
FactMetaData::ValueType_t type(void) const; FactMetaData::ValueType_t type(void) const;
QString shortDescription(void) const;
QString longDescription(void) const; void setValue(const QVariant& value);
QString units(void) const;
QVariant min(void) const;
bool minIsDefaultForType(void) const;
QVariant max(void) const;
bool maxIsDefaultForType(void) const;
QString group(void) const;
int decimalPlaces(void) const;
/// Sets and sends new value to vehicle even if value is the same /// Sets and sends new value to vehicle even if value is the same
void forceSetValue(const QVariant& value); void forceSetValue(const QVariant& value);
...@@ -115,6 +123,8 @@ signals: ...@@ -115,6 +123,8 @@ signals:
void _containerValueChanged(const QVariant& value); void _containerValueChanged(const QVariant& value);
private: private:
QString _variantToString(const QVariant& variant) const;
QString _name; QString _name;
int _componentId; int _componentId;
QVariant _value; QVariant _value;
......
...@@ -110,7 +110,7 @@ QGCViewDialog { ...@@ -110,7 +110,7 @@ QGCViewDialog {
visible: !fact.minIsDefaultForType visible: !fact.minIsDefaultForType
QGCLabel { text: "Minimum value:" } QGCLabel { text: "Minimum value:" }
QGCLabel { text: fact.min } QGCLabel { text: fact.minString }
} }
Row { Row {
...@@ -118,14 +118,14 @@ QGCViewDialog { ...@@ -118,14 +118,14 @@ QGCViewDialog {
visible: !fact.maxIsDefaultForType visible: !fact.maxIsDefaultForType
QGCLabel { text: "Maximum value:" } QGCLabel { text: "Maximum value:" }
QGCLabel { text: fact.max } QGCLabel { text: fact.maxString }
} }
Row { Row {
spacing: defaultTextWidth spacing: defaultTextWidth
QGCLabel { text: "Default value:" } QGCLabel { text: "Default value:" }
QGCLabel { text: fact.defaultValueAvailable ? fact.defaultValue : "none" } QGCLabel { text: fact.defaultValueAvailable ? fact.defaultValueString : "none" }
} }
QGCLabel { QGCLabel {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment