From 903459f74e4a7f388b66ff105a46dce518a12b63 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 2 Mar 2016 14:40:40 -0800 Subject: [PATCH] Min/Max/DefaultValue support --- src/FactSystem/FactGroup.cc | 17 +++++++++++++++-- src/FactSystem/FactGroup.h | 3 +++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/FactSystem/FactGroup.cc b/src/FactSystem/FactGroup.cc index bea0959..01c4a50 100644 --- a/src/FactSystem/FactGroup.cc +++ b/src/FactSystem/FactGroup.cc @@ -40,6 +40,9 @@ const char* FactGroup::_versionJsonKey = "version"; const char* FactGroup::_typeJsonKey = "type"; const char* FactGroup::_shortDescriptionJsonKey = "shortDescription"; const char* FactGroup::_unitsJsonKey = "units"; +const char* FactGroup::_defaultValueJsonKey = "defaultValue"; +const char* FactGroup::_minJsonKey = "min"; +const char* FactGroup::_maxJsonKey = "max"; FactGroup::FactGroup(int updateRateMsecs, const QString& metaDataFile, QObject* parent) : QObject(parent) @@ -187,8 +190,8 @@ void FactGroup::_loadMetaData(const QString& jsonFilename) QStringList keys; QList types; - keys << _nameJsonKey << _decimalPlacesJsonKey; - types << QJsonValue::String << QJsonValue::Double; + keys << _nameJsonKey << _decimalPlacesJsonKey << _typeJsonKey << _shortDescriptionJsonKey << _unitsJsonKey << _defaultValueJsonKey << _minJsonKey << _maxJsonKey; + types << QJsonValue::String << QJsonValue::Double << QJsonValue::String << QJsonValue::String << QJsonValue::String << QJsonValue::Double << QJsonValue::Double << QJsonValue::Double; if (!JsonHelper::validateKeyTypes(jsonObject, keys, types, errorString)) { qWarning() << errorString; return; @@ -219,6 +222,16 @@ void FactGroup::_loadMetaData(const QString& jsonFilename) metaData->setShortDescription(jsonObject.value(_shortDescriptionJsonKey).toString()); metaData->setRawUnits(jsonObject.value(_unitsJsonKey).toString()); + if (jsonObject.contains(_defaultValueJsonKey)) { + metaData->setRawDefaultValue(jsonObject.value(_defaultValueJsonKey).toDouble()); + } + if (jsonObject.contains(_minJsonKey)) { + metaData->setRawMin(jsonObject.value(_minJsonKey).toDouble()); + } + if (jsonObject.contains(_maxJsonKey)) { + metaData->setRawMax(jsonObject.value(_maxJsonKey).toDouble()); + } + for (int i=0; i