Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
3d9a4ce4
Commit
3d9a4ce4
authored
Nov 22, 2015
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add enum and translator support
parent
9195b9d8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
265 additions
and
113 deletions
+265
-113
Fact.cc
src/FactSystem/Fact.cc
+102
-15
Fact.h
src/FactSystem/Fact.h
+56
-45
FactComboBox.qml
src/FactSystem/FactControls/FactComboBox.qml
+14
-2
FactMetaData.cc
src/FactSystem/FactMetaData.cc
+43
-14
FactMetaData.h
src/FactSystem/FactMetaData.h
+50
-37
No files found.
src/FactSystem/Fact.cc
View file @
3d9a4ce4
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
Fact
::
Fact
(
QObject
*
parent
)
Fact
::
Fact
(
QObject
*
parent
)
:
QObject
(
parent
)
:
QObject
(
parent
)
,
_componentId
(
-
1
)
,
_componentId
(
-
1
)
,
_
v
alue
(
0
)
,
_
rawV
alue
(
0
)
,
_type
(
FactMetaData
::
valueTypeInt32
)
,
_type
(
FactMetaData
::
valueTypeInt32
)
,
_metaData
(
NULL
)
,
_metaData
(
NULL
)
{
{
...
@@ -43,7 +43,7 @@ Fact::Fact(int componentId, QString name, FactMetaData::ValueType_t type, QObjec
...
@@ -43,7 +43,7 @@ Fact::Fact(int componentId, QString name, FactMetaData::ValueType_t type, QObjec
:
QObject
(
parent
)
:
QObject
(
parent
)
,
_name
(
name
)
,
_name
(
name
)
,
_componentId
(
componentId
)
,
_componentId
(
componentId
)
,
_
v
alue
(
0
)
,
_
rawV
alue
(
0
)
,
_type
(
type
)
,
_type
(
type
)
,
_metaData
(
NULL
)
,
_metaData
(
NULL
)
{
{
...
@@ -61,7 +61,7 @@ const Fact& Fact::operator=(const Fact& other)
...
@@ -61,7 +61,7 @@ const Fact& Fact::operator=(const Fact& other)
{
{
_name
=
other
.
_name
;
_name
=
other
.
_name
;
_componentId
=
other
.
_componentId
;
_componentId
=
other
.
_componentId
;
_
value
=
other
.
_v
alue
;
_
rawValue
=
other
.
_rawV
alue
;
_type
=
other
.
_type
;
_type
=
other
.
_type
;
if
(
_metaData
&&
other
.
_metaData
)
{
if
(
_metaData
&&
other
.
_metaData
)
{
...
@@ -80,26 +80,26 @@ void Fact::forceSetValue(const QVariant& value)
...
@@ -80,26 +80,26 @@ void Fact::forceSetValue(const QVariant& value)
QString
errorString
;
QString
errorString
;
if
(
_metaData
->
convertAndValidate
(
value
,
true
/* convertOnly */
,
typedValue
,
errorString
))
{
if
(
_metaData
->
convertAndValidate
(
value
,
true
/* convertOnly */
,
typedValue
,
errorString
))
{
_
value
.
setValue
(
typedValue
);
_
rawValue
.
setValue
(
_metaData
->
cookedTranslator
()(
typedValue
)
);
emit
valueChanged
(
_v
alue
);
emit
valueChanged
(
typedV
alue
);
emit
_containerValueChanged
(
_v
alue
);
emit
_containerValueChanged
(
typedV
alue
);
}
}
}
else
{
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
qWarning
()
<<
"Meta data pointer missing"
;
}
}
}
}
void
Fact
::
setValue
(
const
QVariant
&
value
)
void
Fact
::
set
Raw
Value
(
const
QVariant
&
value
)
{
{
if
(
_metaData
)
{
if
(
_metaData
)
{
QVariant
typedValue
;
QVariant
typedValue
;
QString
errorString
;
QString
errorString
;
if
(
_metaData
->
convertAndValidate
(
value
,
true
/* convertOnly */
,
typedValue
,
errorString
))
{
if
(
_metaData
->
convertAndValidate
(
value
,
true
/* convertOnly */
,
typedValue
,
errorString
))
{
if
(
typedValue
!=
_
v
alue
)
{
if
(
typedValue
!=
_
rawV
alue
)
{
_
v
alue
.
setValue
(
typedValue
);
_
rawV
alue
.
setValue
(
typedValue
);
emit
valueChanged
(
_value
);
emit
valueChanged
(
this
->
value
()
);
emit
_containerValueChanged
(
_value
);
emit
_containerValueChanged
(
this
->
value
()
);
}
}
}
}
}
else
{
}
else
{
...
@@ -107,11 +107,41 @@ void Fact::setValue(const QVariant& value)
...
@@ -107,11 +107,41 @@ void Fact::setValue(const QVariant& value)
}
}
}
}
void
Fact
::
setValue
(
const
QVariant
&
value
)
{
if
(
_metaData
)
{
setRawValue
(
_metaData
->
cookedTranslator
()(
value
));
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
}
}
void
Fact
::
setEnumStringValue
(
const
QString
&
value
)
{
if
(
_metaData
)
{
int
index
=
_metaData
->
enumStrings
().
indexOf
(
value
);
if
(
index
!=
-
1
)
{
setValue
(
_metaData
->
enumValues
()[
index
]);
}
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
}
}
void
Fact
::
setEnumIndex
(
int
index
)
{
if
(
_metaData
)
{
setValue
(
_metaData
->
enumValues
()[
index
]);
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
}
}
void
Fact
::
_containerSetValue
(
const
QVariant
&
value
)
void
Fact
::
_containerSetValue
(
const
QVariant
&
value
)
{
{
_
v
alue
=
value
;
_
rawV
alue
=
value
;
emit
valueChanged
(
_
v
alue
);
emit
valueChanged
(
_
rawV
alue
);
emit
vehicleUpdated
(
_
v
alue
);
emit
vehicleUpdated
(
_
rawV
alue
);
}
}
QString
Fact
::
name
(
void
)
const
QString
Fact
::
name
(
void
)
const
...
@@ -126,7 +156,63 @@ int Fact::componentId(void) const
...
@@ -126,7 +156,63 @@ int Fact::componentId(void) const
QVariant
Fact
::
value
(
void
)
const
QVariant
Fact
::
value
(
void
)
const
{
{
return
_value
;
if
(
_metaData
)
{
return
_metaData
->
rawTranslator
()(
_rawValue
);
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
return
_rawValue
;
}
}
QString
Fact
::
enumStringValue
(
void
)
const
{
if
(
_metaData
)
{
int
enumIndex
=
this
->
enumIndex
();
if
(
enumIndex
>
0
&&
enumIndex
<
_metaData
->
enumStrings
().
count
())
{
return
_metaData
->
enumStrings
()[
enumIndex
];
}
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
}
return
QString
();
}
int
Fact
::
enumIndex
(
void
)
const
{
if
(
_metaData
)
{
int
index
=
0
;
foreach
(
QVariant
enumValue
,
_metaData
->
enumValues
())
{
if
(
enumValue
==
value
())
{
return
index
;
}
index
++
;
}
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
}
return
-
1
;
}
QStringList
Fact
::
enumStrings
(
void
)
const
{
if
(
_metaData
)
{
return
_metaData
->
enumStrings
();
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
return
QStringList
();
}
}
QVariantList
Fact
::
enumValues
(
void
)
const
{
if
(
_metaData
)
{
return
_metaData
->
enumValues
();
}
else
{
qWarning
()
<<
"Meta data pointer missing"
;
return
QVariantList
();
}
}
}
QString
Fact
::
_variantToString
(
const
QVariant
&
variant
)
const
QString
Fact
::
_variantToString
(
const
QVariant
&
variant
)
const
...
@@ -279,6 +365,7 @@ QString Fact::group(void) const
...
@@ -279,6 +365,7 @@ QString Fact::group(void) const
void
Fact
::
setMetaData
(
FactMetaData
*
metaData
)
void
Fact
::
setMetaData
(
FactMetaData
*
metaData
)
{
{
_metaData
=
metaData
;
_metaData
=
metaData
;
emit
valueChanged
(
value
());
}
}
bool
Fact
::
valueEqualsDefault
(
void
)
const
bool
Fact
::
valueEqualsDefault
(
void
)
const
...
...
src/FactSystem/Fact.h
View file @
3d9a4ce4
...
@@ -46,56 +46,67 @@ public:
...
@@ -46,56 +46,67 @@ public:
const
Fact
&
operator
=
(
const
Fact
&
other
);
const
Fact
&
operator
=
(
const
Fact
&
other
);
Q_PROPERTY
(
int
componentId
READ
componentId
CONSTANT
)
Q_PROPERTY
(
int
componentId
READ
componentId
CONSTANT
)
Q_PROPERTY
(
QString
group
READ
group
CONSTANT
)
Q_PROPERTY
(
int
decimalPlaces
READ
decimalPlaces
CONSTANT
)
Q_PROPERTY
(
QString
name
READ
name
CONSTANT
)
Q_PROPERTY
(
QVariant
defaultValue
READ
defaultValue
CONSTANT
)
Q_PROPERTY
(
QVariant
value
READ
value
WRITE
setValue
NOTIFY
valueChanged
USER
true
)
Q_PROPERTY
(
QString
defaultValueString
READ
defaultValueString
CONSTANT
)
Q_PROPERTY
(
QVariant
valueString
READ
valueString
NOTIFY
valueChanged
)
Q_PROPERTY
(
bool
defaultValueAvailable
READ
defaultValueAvailable
CONSTANT
)
Q_PROPERTY
(
QString
units
READ
units
CONSTANT
)
Q_PROPERTY
(
int
enumIndex
READ
enumIndex
WRITE
setEnumIndex
NOTIFY
valueChanged
)
Q_PROPERTY
(
QVariant
defaultValue
READ
defaultValue
CONSTANT
)
Q_PROPERTY
(
QStringList
enumStrings
READ
enumStrings
CONSTANT
)
Q_PROPERTY
(
QString
defaultValueString
READ
defaultValueString
CONSTANT
)
Q_PROPERTY
(
QString
enumStringValue
READ
enumStringValue
WRITE
setEnumStringValue
NOTIFY
valueChanged
)
Q_PROPERTY
(
bool
defaultValueAvailable
READ
defaultValueAvailable
CONSTANT
)
Q_PROPERTY
(
QVariantList
enumValues
READ
enumValues
CONSTANT
)
Q_PROPERTY
(
bool
valueEqualsDefault
READ
valueEqualsDefault
NOTIFY
valueChanged
)
Q_PROPERTY
(
QString
group
READ
group
CONSTANT
)
Q_PROPERTY
(
FactMetaData
::
ValueType_t
type
READ
type
CONSTANT
)
Q_PROPERTY
(
QString
longDescription
READ
longDescription
CONSTANT
)
Q_PROPERTY
(
QString
shortDescription
READ
shortDescription
CONSTANT
)
Q_PROPERTY
(
QVariant
max
READ
max
CONSTANT
)
Q_PROPERTY
(
QString
longDescription
READ
longDescription
CONSTANT
)
Q_PROPERTY
(
QString
maxString
READ
maxString
CONSTANT
)
Q_PROPERTY
(
QVariant
min
READ
min
CONSTANT
)
Q_PROPERTY
(
bool
maxIsDefaultForType
READ
maxIsDefaultForType
CONSTANT
)
Q_PROPERTY
(
QString
minString
READ
minString
CONSTANT
)
Q_PROPERTY
(
QVariant
min
READ
min
CONSTANT
)
Q_PROPERTY
(
bool
minIsDefaultForType
READ
minIsDefaultForType
CONSTANT
)
Q_PROPERTY
(
QString
minString
READ
minString
CONSTANT
)
Q_PROPERTY
(
QVariant
max
READ
max
CONSTANT
)
Q_PROPERTY
(
bool
minIsDefaultForType
READ
minIsDefaultForType
CONSTANT
)
Q_PROPERTY
(
QString
maxString
READ
maxString
CONSTANT
)
Q_PROPERTY
(
QString
name
READ
name
CONSTANT
)
Q_PROPERTY
(
bool
maxIsDefaultForType
READ
maxIsDefaultForType
CONSTANT
)
Q_PROPERTY
(
QString
shortDescription
READ
shortDescription
CONSTANT
)
Q_PROPERTY
(
int
decimalPlaces
READ
decimalPlaces
CONSTANT
)
Q_PROPERTY
(
FactMetaData
::
ValueType_t
type
READ
type
CONSTANT
)
Q_PROPERTY
(
QString
units
READ
units
CONSTANT
)
Q_PROPERTY
(
QVariant
value
READ
value
WRITE
setValue
NOTIFY
valueChanged
)
Q_PROPERTY
(
bool
valueEqualsDefault
READ
valueEqualsDefault
NOTIFY
valueChanged
)
Q_PROPERTY
(
QVariant
valueString
READ
valueString
NOTIFY
valueChanged
)
/// Convert and validate value
/// Convert and validate value
/// @param convertOnly true: validate type conversion only, false: validate against meta data as well
/// @param convertOnly true: validate type conversion only, false: validate against meta data as well
Q_INVOKABLE
QString
validate
(
const
QString
&
value
,
bool
convertOnly
);
Q_INVOKABLE
QString
validate
(
const
QString
&
value
,
bool
convertOnly
);
// Property system methods
int
componentId
(
void
)
const
;
int
decimalPlaces
(
void
)
const
;
QString
name
(
void
)
const
;
QVariant
defaultValue
(
void
)
const
;
int
componentId
(
void
)
const
;
bool
defaultValueAvailable
(
void
)
const
;
QVariant
value
(
void
)
const
;
QString
defaultValueString
(
void
)
const
;
QString
valueString
(
void
)
const
;
int
enumIndex
(
void
)
const
;
QVariant
defaultValue
(
void
)
const
;
QStringList
enumStrings
(
void
)
const
;
QString
defaultValueString
(
void
)
const
;
QString
enumStringValue
(
void
)
const
;
bool
defaultValueAvailable
(
void
)
const
;
QVariantList
enumValues
(
void
)
const
;
bool
valueEqualsDefault
(
void
)
const
;
QString
group
(
void
)
const
;
QString
shortDescription
(
void
)
const
;
QString
longDescription
(
void
)
const
;
QString
longDescription
(
void
)
const
;
QVariant
max
(
void
)
const
;
QString
units
(
void
)
const
;
QString
maxString
(
void
)
const
;
QVariant
min
(
void
)
const
;
bool
maxIsDefaultForType
(
void
)
const
;
QString
minString
(
void
)
const
;
QVariant
min
(
void
)
const
;
bool
minIsDefaultForType
(
void
)
const
;
QString
minString
(
void
)
const
;
QVariant
max
(
void
)
const
;
bool
minIsDefaultForType
(
void
)
const
;
QString
maxString
(
void
)
const
;
QString
name
(
void
)
const
;
bool
maxIsDefaultForType
(
void
)
const
;
QVariant
rawValue
(
void
)
const
{
return
_rawValue
;
}
/// value prior to translation, careful
QString
group
(
void
)
const
;
QString
shortDescription
(
void
)
const
;
int
decimalPlaces
(
void
)
const
;
FactMetaData
::
ValueType_t
type
(
void
)
const
;
QString
units
(
void
)
const
;
QVariant
value
(
void
)
const
;
QString
valueString
(
void
)
const
;
bool
valueEqualsDefault
(
void
)
const
;
FactMetaData
::
ValueType_t
type
(
void
)
const
;
void
setRawValue
(
const
QVariant
&
value
);
void
setValue
(
const
QVariant
&
value
);
void
setEnumIndex
(
int
index
);
void
setEnumStringValue
(
const
QString
&
value
);
void
setValue
(
const
QVariant
&
value
);
// C++ methods
/// 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
);
...
@@ -127,7 +138,7 @@ private:
...
@@ -127,7 +138,7 @@ private:
QString
_name
;
QString
_name
;
int
_componentId
;
int
_componentId
;
QVariant
_
v
alue
;
QVariant
_
rawV
alue
;
FactMetaData
::
ValueType_t
_type
;
FactMetaData
::
ValueType_t
_type
;
FactMetaData
*
_metaData
;
FactMetaData
*
_metaData
;
};
};
...
...
src/FactSystem/FactControls/FactComboBox.qml
View file @
3d9a4ce4
...
@@ -8,6 +8,18 @@ import QGroundControl.Controls 1.0
...
@@ -8,6 +8,18 @@ import QGroundControl.Controls 1.0
QGCComboBox
{
QGCComboBox
{
property
Fact
fact
:
Fact
{
}
property
Fact
fact
:
Fact
{
}
currentIndex
:
fact
.
value
property
bool
indexModel
:
true
///< true: model must be specifed, selected index is fact value, false: use enum meta data
onActivated
:
fact
.
value
=
index
model
:
fact
.
enumStrings
currentIndex
:
indexModel
?
fact
.
value
:
fact
.
enumIndex
onActivated
:
{
if
(
indexModel
)
{
fact
.
value
=
index
}
else
{
console
.
log
(
"
setting enumIndex
"
,
index
)
fact
.
enumIndex
=
index
}
}
}
}
src/FactSystem/FactMetaData.cc
View file @
3d9a4ce4
...
@@ -34,30 +34,34 @@
...
@@ -34,30 +34,34 @@
FactMetaData
::
FactMetaData
(
QObject
*
parent
)
FactMetaData
::
FactMetaData
(
QObject
*
parent
)
:
QObject
(
parent
)
:
QObject
(
parent
)
,
_group
(
"*Default Group"
)
,
_type
(
valueTypeInt32
)
,
_type
(
valueTypeInt32
)
,
_decimalPlaces
(
defaultDecimalPlaces
)
,
_defaultValue
(
0
)
,
_defaultValue
(
0
)
,
_defaultValueAvailable
(
false
)
,
_defaultValueAvailable
(
false
)
,
_
min
(
_minForType
()
)
,
_
group
(
"*Default Group"
)
,
_max
(
_maxForType
())
,
_max
(
_maxForType
())
,
_minIsDefaultForType
(
true
)
,
_maxIsDefaultForType
(
true
)
,
_maxIsDefaultForType
(
true
)
,
_decimalPlaces
(
defaultDecimalPlaces
)
,
_min
(
_minForType
())
,
_minIsDefaultForType
(
true
)
,
_rawTranslator
(
defaultTranslator
)
,
_cookedTranslator
(
defaultTranslator
)
{
{
}
}
FactMetaData
::
FactMetaData
(
ValueType_t
type
,
QObject
*
parent
)
FactMetaData
::
FactMetaData
(
ValueType_t
type
,
QObject
*
parent
)
:
QObject
(
parent
)
:
QObject
(
parent
)
,
_group
(
"*Default Group"
)
,
_type
(
type
)
,
_type
(
type
)
,
_decimalPlaces
(
defaultDecimalPlaces
)
,
_defaultValue
(
0
)
,
_defaultValue
(
0
)
,
_defaultValueAvailable
(
false
)
,
_defaultValueAvailable
(
false
)
,
_
min
(
_minForType
()
)
,
_
group
(
"*Default Group"
)
,
_max
(
_maxForType
())
,
_max
(
_maxForType
())
,
_minIsDefaultForType
(
true
)
,
_maxIsDefaultForType
(
true
)
,
_maxIsDefaultForType
(
true
)
,
_decimalPlaces
(
defaultDecimalPlaces
)
,
_min
(
_minForType
())
,
_minIsDefaultForType
(
true
)
,
_rawTranslator
(
defaultTranslator
)
,
_cookedTranslator
(
defaultTranslator
)
{
{
}
}
...
@@ -70,16 +74,24 @@ FactMetaData::FactMetaData(const FactMetaData& other, QObject* parent)
...
@@ -70,16 +74,24 @@ FactMetaData::FactMetaData(const FactMetaData& other, QObject* parent)
const
FactMetaData
&
FactMetaData
::
operator
=
(
const
FactMetaData
&
other
)
const
FactMetaData
&
FactMetaData
::
operator
=
(
const
FactMetaData
&
other
)
{
{
_group
=
other
.
_group
;
_decimalPlaces
=
other
.
_decimalPlaces
;
_type
=
other
.
_type
;
_defaultValue
=
other
.
_defaultValue
;
_defaultValue
=
other
.
_defaultValue
;
_defaultValueAvailable
=
other
.
_defaultValueAvailable
;
_defaultValueAvailable
=
other
.
_defaultValueAvailable
;
_min
=
other
.
_min
;
_enumStrings
=
other
.
_enumStrings
;
_enumValues
=
other
.
_enumValues
;
_group
=
other
.
_group
;
_longDescription
=
other
.
_longDescription
;
_max
=
other
.
_max
;
_max
=
other
.
_max
;
_minIsDefaultForType
=
other
.
_minIsDefaultForType
;
_maxIsDefaultForType
=
other
.
_maxIsDefaultForType
;
_maxIsDefaultForType
=
other
.
_maxIsDefaultForType
;
_decimalPlaces
=
other
.
_decimalPlaces
;
_min
=
other
.
_min
;
_minIsDefaultForType
=
other
.
_minIsDefaultForType
;
_name
=
other
.
_name
;
_shortDescription
=
other
.
_shortDescription
;
_type
=
other
.
_type
;
_units
=
other
.
_units
;
_rawTranslator
=
other
.
_rawTranslator
;
_cookedTranslator
=
other
.
_cookedTranslator
;
return
*
this
;
return
*
this
;
}
}
...
@@ -229,3 +241,20 @@ bool FactMetaData::convertAndValidate(const QVariant& value, bool convertOnly, Q
...
@@ -229,3 +241,20 @@ bool FactMetaData::convertAndValidate(const QVariant& value, bool convertOnly, Q
return
convertOk
&&
errorString
.
isEmpty
();
return
convertOk
&&
errorString
.
isEmpty
();
}
}
void
FactMetaData
::
setEnumInfo
(
const
QStringList
&
strings
,
const
QVariantList
&
values
)
{
if
(
strings
.
count
()
!=
values
.
count
())
{
qWarning
()
<<
"Count mismatch strings:values"
<<
strings
.
count
()
<<
values
.
count
();
return
;
}
_enumStrings
=
strings
;
_enumValues
=
values
;
}
void
FactMetaData
::
setTranslators
(
Translator
rawTranslator
,
Translator
cookedTranslator
)
{
_rawTranslator
=
rawTranslator
;
_cookedTranslator
=
cookedTranslator
;
}
src/FactSystem/FactMetaData.h
View file @
3d9a4ce4
...
@@ -51,6 +51,8 @@ public:
...
@@ -51,6 +51,8 @@ public:
valueTypeFloat
,
valueTypeFloat
,
valueTypeDouble
valueTypeDouble
}
ValueType_t
;
}
ValueType_t
;
typedef
QVariant
(
*
Translator
)(
const
QVariant
&
from
);
FactMetaData
(
QObject
*
parent
=
NULL
);
FactMetaData
(
QObject
*
parent
=
NULL
);
FactMetaData
(
ValueType_t
type
,
QObject
*
parent
=
NULL
);
FactMetaData
(
ValueType_t
type
,
QObject
*
parent
=
NULL
);
...
@@ -58,32 +60,39 @@ public:
...
@@ -58,32 +60,39 @@ public:
const
FactMetaData
&
operator
=
(
const
FactMetaData
&
other
);
const
FactMetaData
&
operator
=
(
const
FactMetaData
&
other
);
// Property accessors
int
decimalPlaces
(
void
)
const
{
return
_decimalPlaces
;
}
QString
name
(
void
)
const
{
return
_name
;
}
QVariant
defaultValue
(
void
)
const
;
QString
group
(
void
)
const
{
return
_group
;
}
bool
defaultValueAvailable
(
void
)
const
{
return
_defaultValueAvailable
;
}
ValueType_t
type
(
void
)
const
{
return
_type
;
}
QStringList
enumStrings
(
void
)
const
{
return
_enumStrings
;
}
QVariant
defaultValue
(
void
)
const
;
QVariantList
enumValues
(
void
)
const
{
return
_enumValues
;
}
bool
defaultValueAvailable
(
void
)
const
{
return
_defaultValueAvailable
;
}
QString
group
(
void
)
const
{
return
_group
;
}
QString
shortDescription
(
void
)
const
{
return
_shortDescription
;
}
QString
longDescription
(
void
)
const
{
return
_longDescription
;}
QString
longDescription
(
void
)
const
{
return
_longDescription
;}
QVariant
max
(
void
)
const
{
return
_max
;
}
QString
units
(
void
)
const
{
return
_units
;
}
bool
maxIsDefaultForType
(
void
)
const
{
return
_maxIsDefaultForType
;
}
QVariant
min
(
void
)
const
{
return
_min
;
}
QVariant
min
(
void
)
const
{
return
_min
;
}
QVariant
max
(
void
)
const
{
return
_max
;
}
bool
minIsDefaultForType
(
void
)
const
{
return
_minIsDefaultForType
;
}
bool
minIsDefaultForType
(
void
)
const
{
return
_minIsDefaultForType
;
}
QString
name
(
void
)
const
{
return
_name
;
}
bool
maxIsDefaultForType
(
void
)
const
{
return
_maxIsDefaultForType
;
}
QString
shortDescription
(
void
)
const
{
return
_shortDescription
;
}
int
decimalPlaces
(
void
)
const
{
return
_decimalPlaces
;
}
ValueType_t
type
(
void
)
const
{
return
_type
;
}
QString
units
(
void
)
const
{
return
_units
;
}
Translator
rawTranslator
(
void
)
const
{
return
_rawTranslator
;
}
Translator
cookedTranslator
(
void
)
const
{
return
_cookedTranslator
;
}
// Property setters
void
setDecimalPlaces
(
int
decimalPlaces
)
{
_decimalPlaces
=
decimalPlaces
;
}
void
setName
(
const
QString
&
name
)
{
_name
=
name
;
}
void
setDefaultValue
(
const
QVariant
&
defaultValue
);
void
setGroup
(
const
QString
&
group
)
{
_group
=
group
;
}
void
setEnumInfo
(
const
QStringList
&
strings
,
const
QVariantList
&
values
);
void
setDefaultValue
(
const
QVariant
&
defaultValue
);
void
setGroup
(
const
QString
&
group
)
{
_group
=
group
;
}
void
setLongDescription
(
const
QString
&
longDescription
)
{
_longDescription
=
longDescription
;}
void
setMax
(
const
QVariant
&
max
);
void
setMin
(
const
QVariant
&
max
);
void
setName
(
const
QString
&
name
)
{
_name
=
name
;
}
void
setShortDescription
(
const
QString
&
shortDescription
)
{
_shortDescription
=
shortDescription
;
}
void
setShortDescription
(
const
QString
&
shortDescription
)
{
_shortDescription
=
shortDescription
;
}
void
setLongDescription
(
const
QString
&
longDescription
)
{
_longDescription
=
longDescription
;}
void
setUnits
(
const
QString
&
units
)
{
_units
=
units
;
}
void
setUnits
(
const
QString
&
units
)
{
_units
=
units
;
}
void
setMin
(
const
QVariant
&
max
);
void
setTranslators
(
Translator
rawTranslator
,
Translator
cookedTranslator
);
void
setMax
(
const
QVariant
&
max
);
static
QVariant
defaultTranslator
(
const
QVariant
&
from
)
{
return
from
;
}
void
setDecimalPlaces
(
int
decimalPlaces
)
{
_decimalPlaces
=
decimalPlaces
;
}
/// Converts the specified value, validating against meta data
/// Converts the specified value, validating against meta data
/// @param value Value to convert, can be string
/// @param value Value to convert, can be string
/// @param convertOnly true: convert to correct type only, do not validate against meta data
/// @param convertOnly true: convert to correct type only, do not validate against meta data
...
@@ -98,19 +107,23 @@ private:
...
@@ -98,19 +107,23 @@ private:
QVariant
_minForType
(
void
)
const
;
QVariant
_minForType
(
void
)
const
;
QVariant
_maxForType
(
void
)
const
;
QVariant
_maxForType
(
void
)
const
;
QString
_name
;
ValueType_t
_type
;
// must be first for correct constructor init
QString
_group
;
int
_decimalPlaces
;
ValueType_t
_type
;
QVariant
_defaultValue
;
QVariant
_defaultValue
;
bool
_defaultValueAvailable
;
bool
_defaultValueAvailable
;
QStringList
_enumStrings
;
QString
_shortDescription
;
QVariantList
_enumValues
;
QString
_longDescription
;
QString
_group
;
QString
_units
;
QString
_longDescription
;
QVariant
_min
;
QVariant
_max
;
QVariant
_max
;
bool
_maxIsDefaultForType
;
bool
_minIsDefaultForType
;
QVariant
_min
;
bool
_maxIsDefaultForType
;
bool
_minIsDefaultForType
;
int
_decimalPlaces
;
QString
_name
;
QString
_shortDescription
;
QString
_units
;
Translator
_rawTranslator
;
Translator
_cookedTranslator
;
};
};
#endif
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment