#pragma once #include #include #include #include #include #include #include "common/params.h" #include "selfdrive/ui/qt/offroad/driverview.h" #include "selfdrive/ui/qt/body.h" #include "selfdrive/ui/qt/onroad/onroad_home.h" #include "selfdrive/ui/qt/sidebar.h" #include "selfdrive/ui/qt/widgets/controls.h" #include "selfdrive/ui/qt/widgets/offroad_alerts.h" #include "selfdrive/ui/ui.h" class OffroadHome : public QFrame { Q_OBJECT public: explicit OffroadHome(QWidget* parent = 0); signals: void openSettings(int index = 0, const QString ¶m = ""); private: void showEvent(QShowEvent *event) override; void hideEvent(QHideEvent *event) override; void refresh(); Params params; QTimer* timer; ElidedLabel* version; QStackedLayout* center_layout; UpdateAlert *update_widget; OffroadAlert* alerts_widget; QPushButton* alert_notif; QPushButton* update_notif; }; class HomeWindow : public QWidget { Q_OBJECT public: explicit HomeWindow(QWidget* parent = 0); signals: void openSettings(int index = 0, const QString ¶m = ""); void closeSettings(); public slots: void offroadTransition(bool offroad); void showDriverView(bool show); void showSidebar(bool show); protected: void mousePressEvent(QMouseEvent* e) override; void mouseDoubleClickEvent(QMouseEvent* e) override; private: Sidebar *sidebar; OffroadHome *home; OnroadWindow *onroad; BodyWindow *body; DriverViewWindow *driver_view; QStackedLayout *slayout; private slots: void updateState(const UIState &s); };