3QMap<QString, FactMetaData*> RallyPoint::_metaDataMap;
8 , _longitudeFact(0, _longitudeFactName,
FactMetaData::valueTypeDouble)
9 , _latitudeFact(0, _latitudeFactName,
FactMetaData::valueTypeDouble)
10 , _altitudeFact(0, _altitudeFactName,
FactMetaData::valueTypeDouble)
20 , _longitudeFact(0, _longitudeFactName,
FactMetaData::valueTypeDouble)
21 , _latitudeFact(0, _latitudeFactName,
FactMetaData::valueTypeDouble)
22 , _altitudeFact(0, _altitudeFactName,
FactMetaData::valueTypeDouble)
47void RallyPoint::_factSetup(
void)
51 _latitudeFact.
setMetaData(_metaDataMap[_latitudeFactName]);
52 _longitudeFact.
setMetaData(_metaDataMap[_longitudeFactName]);
53 _altitudeFact.
setMetaData(_metaDataMap[_altitudeFactName]);
55 _textFieldFacts.append(QVariant::fromValue(&_latitudeFact));
56 _textFieldFacts.append(QVariant::fromValue(&_longitudeFact));
57 _textFieldFacts.append(QVariant::fromValue(&_altitudeFact));
59 connect(&_latitudeFact, &
Fact::valueChanged,
this, &RallyPoint::_sendCoordinateChanged);
60 connect(&_longitudeFact, &
Fact::valueChanged,
this, &RallyPoint::_sendCoordinateChanged);
61 connect(&_altitudeFact, &
Fact::valueChanged,
this, &RallyPoint::_sendCoordinateChanged);
64void RallyPoint::_cacheFactMetadata() {
65 if (_metaDataMap.isEmpty()) {
83 if (
dirty != _dirty) {
91 auto it = _metaDataMap.find(QString(_altitudeFactName));
92 if(it != _metaDataMap.end() && (*it)->defaultValueAvailable()) {
93 return (*it)->rawDefaultValue().toDouble();
100 return QGeoCoordinate(_latitudeFact.
rawValue().toDouble(), _longitudeFact.
rawValue().toDouble(), _altitudeFact.
rawValue().toDouble());
103void RallyPoint::_sendCoordinateChanged(
void)
void setMetaData(FactMetaData *metaData, bool setDefaultFromMetaData=false)
void setRawValue(const QVariant &value)
QVariant rawValue() const
Value after translation.
void valueChanged(const QVariant &value)
This signal is only meant for use by the QT property system. It should not be connected to by client ...
This class is used to encapsulate the QGeoCoordinate associated with a Rally Point into a QObject suc...
QGeoCoordinate coordinate(void) const
void setCoordinate(const QGeoCoordinate &coordinate)
static double getDefaultFactAltitude()
const RallyPoint & operator=(const RallyPoint &other)
void dirtyChanged(bool dirty)
RallyPoint(const QGeoCoordinate &coordinate, QObject *parent=nullptr)
void coordinateChanged(const QGeoCoordinate &coordinate)
void setDirty(bool dirty)