Mapper  0.9.0
API documentation
Classes | Signals | Public Member Functions | Protected Member Functions | List of all members
OpenOrienteering::GPSDisplay Class Reference

Retrieves the GPS position and displays a marker at this position on a MapWidget. More...

#include <gps_display.h>

Inheritance diagram for OpenOrienteering::GPSDisplay:
Inheritance graph
[legend]
Collaboration diagram for OpenOrienteering::GPSDisplay:
Collaboration graph
[legend]

Signals

void mapPositionUpdated (const OpenOrienteering::MapCoordF &coord, float accuracy)
 Is emitted whenever a new position update happens. More...
 
void latLonUpdated (double latitude, double longitude, double altitude, float accuracy)
 Like mapPositionUpdated(), but gives the values as latitude / longitude in degrees and also gives altitude (meters above sea level; -9999 is unknown) More...
 
void positionUpdatesInterrupted ()
 Is emitted when updates are interrupted after previously being active, due to loss of satellite reception or another error such as the user turning off the GPS receiver. More...
 

Public Member Functions

 GPSDisplay (MapWidget *widget, const Georeferencing &georeferencing, QObject *parent=nullptr)
 Creates a GPS display for the given map widget and georeferencing. More...
 
 ~GPSDisplay () override
 Destructor, removes the GPS display from the map widget. More...
 
bool checkGPSEnabled ()
 Checks if GPS is enabled, and may guide the user to the device settings. More...
 
void startUpdates ()
 Starts regular position updates. This will issue redraws of the map widget. More...
 
void stopUpdates ()
 Stops regular position updates. More...
 
void setVisible (bool visible)
 Sets GPS marker visibility (true by default) More...
 
bool isVisible () const
 Returns GPS marker visibility. More...
 
void enableDistanceRings (bool enable)
 Sets whether distance rings are drawn. More...
 
void enableHeadingIndicator (bool enable)
 Sets whether the current heading from the Compass is used to draw a heading indicator. More...
 
void paint (QPainter *painter)
 This is called from the MapWidget drawing code to draw the GPS position marker. More...
 
bool hasValidPosition () const
 Returns if a valid position was received since the last call to startUpdates(). More...
 
const MapCoordFgetLatestGPSCoord () const
 Returns the latest received GPS coord. Check hasValidPosition() beforehand! More...
 
float getLatestGPSCoordAccuracy () const
 Returns the accuracy of the latest received GPS coord, or -1 if unknown. Check hasValidPosition() beforehand! More...
 
void startBlinking (int seconds)
 Starts quick blinking for one or more seconds. More...
 
void stopBlinking ()
 Stops blinking. More...
 
bool isBlinking () const
 Returns true while blinking is active. More...
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual ~QObject ()
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

Protected Member Functions

void timerEvent (QTimerEvent *e) override
 Handles blinking. More...
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Retrieves the GPS position and displays a marker at this position on a MapWidget.

Todo:
Use qreal instead of float (in all sensor code) for consistency with Qt.

Constructor & Destructor Documentation

◆ GPSDisplay()

OpenOrienteering::GPSDisplay::GPSDisplay ( MapWidget widget,
const Georeferencing georeferencing,
QObject parent = nullptr 
)

Creates a GPS display for the given map widget and georeferencing.

◆ ~GPSDisplay()

OpenOrienteering::GPSDisplay::~GPSDisplay ( )
override

Destructor, removes the GPS display from the map widget.

Member Function Documentation

◆ checkGPSEnabled()

bool OpenOrienteering::GPSDisplay::checkGPSEnabled ( )

Checks if GPS is enabled, and may guide the user to the device settings.

If GPS is not enabled in the device settings, it asks the user whether he wishes to open the device's location settings dialog. (At the moment, this is implemented for Android only.)

Returns true if GPS is enabled, but also when the settings dialog remains open when returning from this function and the final setting is unknown.

◆ enableDistanceRings()

void OpenOrienteering::GPSDisplay::enableDistanceRings ( bool  enable)

Sets whether distance rings are drawn.

◆ enableHeadingIndicator()

void OpenOrienteering::GPSDisplay::enableHeadingIndicator ( bool  enable)

Sets whether the current heading from the Compass is used to draw a heading indicator.

◆ getLatestGPSCoord()

const MapCoordF& OpenOrienteering::GPSDisplay::getLatestGPSCoord ( ) const
inline

Returns the latest received GPS coord. Check hasValidPosition() beforehand!

◆ getLatestGPSCoordAccuracy()

float OpenOrienteering::GPSDisplay::getLatestGPSCoordAccuracy ( ) const
inline

Returns the accuracy of the latest received GPS coord, or -1 if unknown. Check hasValidPosition() beforehand!

◆ hasValidPosition()

bool OpenOrienteering::GPSDisplay::hasValidPosition ( ) const
inline

Returns if a valid position was received since the last call to startUpdates().

◆ isBlinking()

bool OpenOrienteering::GPSDisplay::isBlinking ( ) const
inline

Returns true while blinking is active.

◆ isVisible()

bool OpenOrienteering::GPSDisplay::isVisible ( ) const
inline

Returns GPS marker visibility.

◆ latLonUpdated

void OpenOrienteering::GPSDisplay::latLonUpdated ( double  latitude,
double  longitude,
double  altitude,
float  accuracy 
)
signal

Like mapPositionUpdated(), but gives the values as latitude / longitude in degrees and also gives altitude (meters above sea level; -9999 is unknown)

◆ mapPositionUpdated

void OpenOrienteering::GPSDisplay::mapPositionUpdated ( const OpenOrienteering::MapCoordF coord,
float  accuracy 
)
signal

Is emitted whenever a new position update happens.

If the accuracy is unknown, -1 will be given.

◆ paint()

void OpenOrienteering::GPSDisplay::paint ( QPainter painter)

This is called from the MapWidget drawing code to draw the GPS position marker.

◆ positionUpdatesInterrupted

void OpenOrienteering::GPSDisplay::positionUpdatesInterrupted ( )
signal

Is emitted when updates are interrupted after previously being active, due to loss of satellite reception or another error such as the user turning off the GPS receiver.

◆ setVisible()

void OpenOrienteering::GPSDisplay::setVisible ( bool  visible)

Sets GPS marker visibility (true by default)

◆ startBlinking()

void OpenOrienteering::GPSDisplay::startBlinking ( int  seconds)

Starts quick blinking for one or more seconds.

◆ startUpdates()

void OpenOrienteering::GPSDisplay::startUpdates ( )

Starts regular position updates. This will issue redraws of the map widget.

◆ stopBlinking()

void OpenOrienteering::GPSDisplay::stopBlinking ( )

Stops blinking.

◆ stopUpdates()

void OpenOrienteering::GPSDisplay::stopUpdates ( )

Stops regular position updates.

◆ timerEvent()

void OpenOrienteering::GPSDisplay::timerEvent ( QTimerEvent e)
overrideprotectedvirtual

Handles blinking.

Reimplemented from QObject.


The documentation for this class was generated from the following files: