InterfaceGPS 0.1.0
Interface embarquée Qt pour navigation, multimédia, caméra et télémétrie
Chargement...
Recherche...
Aucune correspondance
navigationpage.h
Aller à la documentation de ce fichier.
1
9#ifndef NAVIGATIONPAGE_H
10#define NAVIGATIONPAGE_H
11
12#include <QWidget>
13#include <QQuickWidget>
14#include <QStringList>
15#include <QVariant>
16#include <QVariantList>
17#include <QEvent>
18
19namespace Ui { class NavigationPage; }
20class TelemetryData;
21class QCompleter;
22class QStringListModel;
23class QTimer;
24class Clavier;
25
33class NavigationPage : public QWidget {
34 Q_OBJECT
35
36public:
41 explicit NavigationPage(QWidget* parent = nullptr);
42
47
53
62 bool eventFilter(QObject *obj, QEvent *event) override;
63
64signals:
69 void routeSearchRequested(const QString& destination);
70
75 void suggestionsSearchRequested(const QString& query);
76
84 void telemetryRefreshRequested(double lat, double lon, double heading, double speedKmh);
85
86private slots:
87 // --- SLOTS DE RÉCEPTION QML -> C++ ---
88
93 void onSuggestionsReceived(const QString& jsonSuggestions);
94
95 // --- SLOTS DE RECHERCHE ---
96
101 void onSuggestionChosen(const QString& suggestion);
102
107 void triggerSuggestionsSearch();
108
109private:
110 // --- MÉTHODES INTERNES ---
111
116 void requestRouteForText(const QString& destination);
117
121 void openVirtualKeyboard();
122
127 void setSearchControlsVisible(bool visible);
128
129 // --- ATTRIBUTS ---
130 Ui::NavigationPage* ui;
131 TelemetryData* m_t = nullptr;
132 QQuickWidget* m_mapView = nullptr;
133
134 // Autocomplétion
135 QCompleter* m_searchCompleter = nullptr;
136 QStringListModel* m_suggestionsModel = nullptr;
137 QTimer* m_suggestionDebounceTimer = nullptr;
138 bool m_ignoreTextUpdate = false;
139
140 Clavier* m_currentClavier = nullptr;
141};
142
143#endif // NAVIGATIONPAGE_H
Interface de saisie tactile sur mesure pour l'application embarquée. S'ouvre sous forme de boîte de d...
Definition clavier.h:29
Contrôleur de la page de navigation GPS. Héberge la carte (codée en QML) au sein de l'interface C++....
void routeSearchRequested(const QString &destination)
Demande le calcul d'un itinéraire vers une destination textuelle.
void suggestionsSearchRequested(const QString &query)
Demande une liste de suggestions d'adresses pour l'autocomplétion.
~NavigationPage()
Destructeur.
void telemetryRefreshRequested(double lat, double lon, double heading, double speedKmh)
Transporte un snapshot télémétrique vers la couche cartographique.
void bindTelemetry(TelemetryData *t)
Connecte le bus de télémétrie à la carte.
bool eventFilter(QObject *obj, QEvent *event) override
Filtre d'événements global pour ce widget. Utilisé ici pour intercepter les clics sur la barre de rec...
Classe représentant les données en temps réel du véhicule. Cette classe hérite de QObject et centrali...