# pragma once
# include <QJsonArray>
# include <QJsonDocument>
# include <QJsonObject>
# include <QLabel>
# include <QPushButton>
# include <QVBoxLayout>
# include <QWidget>
# include <QStackedWidget>
# include "common/params.h"
# include "selfdrive/ui/qt/widgets/controls.h"
class MapPanel : public QWidget {
Q_OBJECT
public :
explicit MapPanel ( QWidget * parent = nullptr ) ;
void navigateTo ( const QJsonObject & place ) ;
void parseResponse ( const QString & response , bool success ) ;
void updateCurrentRoute ( ) ;
void clear ( ) ;
private :
void showEvent ( QShowEvent * event ) override ;
void refresh ( ) ;
Params params ;
QString prev_destinations , cur_destinations ;
QStackedWidget * stack ;
QPushButton * home_button , * work_button ;
QLabel * home_address , * work_address ;
QVBoxLayout * recent_layout ;
QWidget * current_widget ;
ButtonControl * current_route ;
signals :
void closeSettings ( ) ;
} ;