#pragma once #include #include #include #include #include #include #include "selfdrive/ui/qt/offroad/driverview.h" #include "selfdrive/ui/qt/onroad.h" #include "selfdrive/ui/qt/sidebar.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); protected: void showEvent(QShowEvent *event) override; private: QTimer* timer; QLabel* date; QStackedLayout* center_layout; OffroadAlert* alerts_widget; QPushButton* alert_notification; public slots: void closeAlerts(); void openAlerts(); void refresh(); }; class HomeWindow : public QWidget { Q_OBJECT public: explicit HomeWindow(QWidget* parent = 0); signals: void openSettings(); void closeSettings(); // forwarded signals void displayPowerChanged(bool on); void update(const UIState &s); void offroadTransitionSignal(bool offroad); public slots: void offroadTransition(bool offroad); void showDriverView(bool show); protected: void mousePressEvent(QMouseEvent* e) override; private: Sidebar *sidebar; OffroadHome *home; OnroadWindow *onroad; DriverViewWindow *driver_view; QStackedLayout *slayout; };