Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qdeclarativeposition_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 Jolla Ltd.
2// Copyright (C) 2016 The Qt Company Ltd.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5#ifndef QDECLARATIVEPOSITION_H
6#define QDECLARATIVEPOSITION_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtPositioningQuick/private/qpositioningquickglobal_p.h>
20#include <QtPositioning/QGeoPositionInfo>
21#include <QtCore/QObject>
22#include <QtCore/QProperty>
23#include <QtCore/QDateTime>
24#include <QtQml/qqml.h>
25
27
28class Q_POSITIONINGQUICK_EXPORT QDeclarativePosition : public QObject
29{
31 QML_NAMED_ELEMENT(Position)
33
34 Q_PROPERTY(bool latitudeValid READ isLatitudeValid BINDABLE bindableLatitudeValid)
35 Q_PROPERTY(bool longitudeValid READ isLongitudeValid BINDABLE bindableLongitudeValid)
36 Q_PROPERTY(bool altitudeValid READ isAltitudeValid BINDABLE bindableAltitudeValid)
37 Q_PROPERTY(QGeoCoordinate coordinate READ coordinate BINDABLE bindableCoordinate)
38 Q_PROPERTY(QDateTime timestamp READ timestamp BINDABLE bindableTimestamp)
39 Q_PROPERTY(double speed READ speed BINDABLE bindableSpeed)
40 Q_PROPERTY(bool speedValid READ isSpeedValid BINDABLE bindableSpeedValid)
41 Q_PROPERTY(qreal horizontalAccuracy READ horizontalAccuracy BINDABLE bindableHorizontalAccuracy)
42 Q_PROPERTY(qreal verticalAccuracy READ verticalAccuracy BINDABLE binableVerticalAccuracy)
43 Q_PROPERTY(bool horizontalAccuracyValid READ isHorizontalAccuracyValid BINDABLE
44 bindableHorizontalAccuracyValid)
45 Q_PROPERTY(bool verticalAccuracyValid READ isVerticalAccuracyValid BINDABLE
46 bindableVerticalAccuracyValid)
47
48 Q_PROPERTY(bool directionValid READ isDirectionValid BINDABLE bindableDirectionValid
49 REVISION(5, 1))
50 Q_PROPERTY(double direction READ direction BINDABLE bindableDirection REVISION(5, 1))
51 Q_PROPERTY(bool verticalSpeedValid READ isVerticalSpeedValid BINDABLE bindableVerticalSpeedValid
52 REVISION(5, 1))
53 Q_PROPERTY(double verticalSpeed READ verticalSpeed BINDABLE bindableVerticalSpeed
54 REVISION(5, 1))
55
56 Q_PROPERTY(double magneticVariation READ magneticVariation BINDABLE bindableMagneticVariation
57 REVISION(5, 2))
58 Q_PROPERTY(bool magneticVariationValid READ isMagneticVariationValid BINDABLE
59 bindableMagneticVariationValid REVISION(5, 2))
60
61 Q_PROPERTY(double directionAccuracy READ directionAccuracy BINDABLE bindableDirectionAccuracy
62 REVISION(6, 3))
63 Q_PROPERTY(bool directionAccuracyValid READ isDirectionAccuracyValid BINDABLE
64 bindableDirectionAccuracyValid REVISION(6, 3))
65
66public:
69
70 bool isLatitudeValid() const;
71 bool isLongitudeValid() const;
72 bool isAltitudeValid() const;
73 QDateTime timestamp() const;
74 double speed() const;
75 bool isSpeedValid() const;
76 QGeoCoordinate coordinate() const;
77 bool isHorizontalAccuracyValid() const;
78 qreal horizontalAccuracy() const;
79 bool isVerticalAccuracyValid() const;
80 qreal verticalAccuracy() const;
81
82 bool isDirectionValid() const;
83 double direction() const;
84
85 bool isVerticalSpeedValid() const;
86 double verticalSpeed() const;
87
88 bool isMagneticVariationValid() const;
89 double magneticVariation() const;
90
92 const QGeoPositionInfo &position() const;
93
94 bool isDirectionAccuracyValid() const;
95 double directionAccuracy() const;
96
97 QBindable<bool> bindableLatitudeValid() const;
98 QBindable<bool> bindableLongitudeValid() const;
99 QBindable<bool> bindableAltitudeValid() const;
100 QBindable<QGeoCoordinate> bindableCoordinate() const;
101 QBindable<QDateTime> bindableTimestamp() const;
102 QBindable<double> bindableSpeed() const;
103 QBindable<bool> bindableSpeedValid() const;
104 QBindable<qreal> bindableHorizontalAccuracy() const;
105 QBindable<qreal> binableVerticalAccuracy() const;
106 QBindable<bool> bindableHorizontalAccuracyValid() const;
107 QBindable<bool> bindableVerticalAccuracyValid() const;
108 QBindable<bool> bindableDirectionValid() const;
109 QBindable<double> bindableDirection() const;
110 QBindable<bool> bindableVerticalSpeedValid() const;
111 QBindable<double> bindableVerticalSpeed() const;
112 QBindable<double> bindableMagneticVariation() const;
113 QBindable<bool> bindableMagneticVariationValid() const;
114 QBindable<double> bindableDirectionAccuracy() const;
115 QBindable<bool> bindableDirectionAccuracyValid() const;
116
117private:
118 bool isLatitudeValidActualCalculation() const;
119 bool isLongitudeValidActualCalculation() const;
120 bool isAltitudeValidActualCalculation() const;
121 QGeoCoordinate coordinateActualCalculation() const;
122 QDateTime timestampActualCalculation() const;
123 double speedActualCalculation() const;
124 bool isSpeedValidActualCalculation() const;
125 qreal horizontalAccuracyActualCalculation() const;
126 qreal verticalAccuracyActualCalculation() const;
127 bool isHorizontalAccuracyValidActualCalculation() const;
128 bool isVerticalAccuracyValidActualCalculation() const;
129 bool isDirectionValidActualCalculation() const;
130 double directionActualCalculation() const;
131 bool isVerticalSpeedValidActualCalculation() const;
132 double verticalSpeedActualCalculation() const;
133 double magneticVariationActualCalculation() const;
134 bool isMagneticVariationValidActualCalculation() const;
135 double directionAccuracyActualCalculation() const;
136 bool isDirectionAccuracyValidActualCalculation() const;
137
138 QGeoPositionInfo m_info;
139
140 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedLatitudeValid,
141 &QDeclarativePosition::isLatitudeValidActualCalculation)
142 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedLongitudeValid,
143 &QDeclarativePosition::isLongitudeValidActualCalculation)
144 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedAltitudeValid,
145 &QDeclarativePosition::isAltitudeValidActualCalculation)
147 &QDeclarativePosition::coordinateActualCalculation)
149 &QDeclarativePosition::timestampActualCalculation)
150 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, double, m_computedSpeed,
151 &QDeclarativePosition::speedActualCalculation)
152 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedSpeedValid,
153 &QDeclarativePosition::isSpeedValidActualCalculation)
154 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, qreal, m_computedHorizontalAccuracy,
155 &QDeclarativePosition::horizontalAccuracyActualCalculation)
156 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, qreal, m_computedVerticalAccuracy,
157 &QDeclarativePosition::verticalAccuracyActualCalculation)
158 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedHorizontalAccuracyValid,
159 &QDeclarativePosition::isHorizontalAccuracyValidActualCalculation)
160 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedVerticalAccuracyValid,
161 &QDeclarativePosition::isVerticalAccuracyValidActualCalculation)
162 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedDirectionValid,
163 &QDeclarativePosition::isDirectionValidActualCalculation)
164 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, double, m_computedDirection,
165 &QDeclarativePosition::directionActualCalculation)
166 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedVerticalSpeedValid,
167 &QDeclarativePosition::isVerticalSpeedValidActualCalculation)
168 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, double, m_computedVerticalSpeed,
169 &QDeclarativePosition::verticalSpeedActualCalculation)
170 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, double, m_computedMagneticVariation,
171 &QDeclarativePosition::magneticVariationActualCalculation)
172 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedMagneticVariationValid,
173 &QDeclarativePosition::isMagneticVariationValidActualCalculation)
174 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, double, m_computedDirectionAccuracy,
175 &QDeclarativePosition::directionAccuracyActualCalculation)
176 Q_OBJECT_COMPUTED_PROPERTY(QDeclarativePosition, bool, m_computedDirectionAccuracyValid,
177 &QDeclarativePosition::isDirectionAccuracyValidActualCalculation)
178};
179
181
183
184#endif
\inmodule QtCore
Definition qproperty.h:811
\inmodule QtCore\reentrant
Definition qdatetime.h:283
\inmodule QtPositioning
\inmodule QtPositioning
\inmodule QtCore
Definition qobject.h:103
direction
Combined button and popup list for selecting options.
n void setPosition(void) \n\
#define Q_OBJECT_COMPUTED_PROPERTY(Class, Type, name, ...)
Definition qproperty.h:1355
#define QML_DECLARE_TYPE(TYPE)
Definition qqml.h:19
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
#define Q_PROPERTY(...)
#define Q_OBJECT
double qreal
Definition qtypes.h:187
#define explicit
QHostInfo info
[0]