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)
24 _longitudeFact.setRawValue(other._longitudeFact.rawValue());
25 _latitudeFact.setRawValue(other._latitudeFact.rawValue());
26 _altitudeFact.setRawValue(other._altitudeFact.rawValue());
33 _longitudeFact.setRawValue(other._longitudeFact.rawValue());
34 _latitudeFact.setRawValue(other._latitudeFact.rawValue());
35 _altitudeFact.setRawValue(other._altitudeFact.rawValue());
47void RallyPoint::_factSetup(
void)
51 _longitudeFact.setMetaData(_metaDataMap[_longitudeFactName]);
52 _latitudeFact.setMetaData(_metaDataMap[_latitudeFactName]);
53 _altitudeFact.setMetaData(_metaDataMap[_altitudeFactName]);
55 _textFieldFacts.append(QVariant::fromValue(&_longitudeFact));
56 _textFieldFacts.append(QVariant::fromValue(&_latitudeFact));
57 _textFieldFacts.append(QVariant::fromValue(&_altitudeFact));
59 connect(&_longitudeFact, &
Fact::valueChanged,
this, &RallyPoint::_sendCoordinateChanged);
60 connect(&_latitudeFact, &
Fact::valueChanged,
this, &RallyPoint::_sendCoordinateChanged);
61 connect(&_altitudeFact, &
Fact::valueChanged,
this, &RallyPoint::_sendCoordinateChanged);
64void RallyPoint::_cacheFactMetadata() {
65 if (_metaDataMap.isEmpty()) {
72 if (coordinate != this->coordinate()) {
73 _longitudeFact.setRawValue(coordinate.longitude());
74 _latitudeFact.setRawValue(coordinate.latitude());
75 _altitudeFact.setRawValue(coordinate.altitude());
83 if (
dirty != _dirty) {
91 auto it = _metaDataMap.find(QString(_altitudeFactName));
92 if(it != _metaDataMap.end() && (*it)->defaultValueAvailable()) {
93 return (*it)->rawDefaultValue().toDouble();
98QGeoCoordinate RallyPoint::coordinate(
void)
const
100 return QGeoCoordinate(_latitudeFact.rawValue().toDouble(), _longitudeFact.rawValue().toDouble(), _altitudeFact.rawValue().toDouble());
103void RallyPoint::_sendCoordinateChanged(
void)
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 ...
void setCoordinate(const QGeoCoordinate &coordinate)
static double getDefaultFactAltitude()
QGeoCoordinate coordinate READ coordinate WRITE setCoordinate NOTIFY coordinateChanged(bool dirty READ dirty WRITE setDirty NOTIFY dirtyChanged) 1(QVariantList textFieldFacts MEMBER _textFieldFacts CONSTANT) QGeoCoordinate coordinate(void) const
const RallyPoint & operator=(const RallyPoint &other)
void dirtyChanged(bool dirty)
RallyPoint(const QGeoCoordinate &coordinate, QObject *parent=nullptr)
void setDirty(bool dirty)