#pragma once #include #include #include #include #include #include #include #include #include "common/params.h" #include "selfdrive/ui/qt/offroad/driverview.h" #include "selfdrive/ui/qt/ready.h" #include "selfdrive/ui/qt/onroad.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 ClearPilotPanel : public QFrame { Q_OBJECT public: explicit ClearPilotPanel(QWidget* parent = 0); signals: void openSettings(int index = 0, const QString ¶m = ""); void openStatus(); void closePanel(); public: void resetToGeneral(); private: QStackedWidget *panel_widget; QButtonGroup *nav_group; }; class HomeWindow : public QWidget { Q_OBJECT public: explicit HomeWindow(QWidget* parent = 0); QWidget* _parent = 0; signals: void openSettings(int index = 0, const QString ¶m = ""); void openStatus(); void closeSettings(); public slots: void offroadTransition(bool offroad); void showDriverView(bool show, bool started=false); void showOnroad(); void showSidebar(bool show); protected: void mousePressEvent(QMouseEvent* e) override; void mouseDoubleClickEvent(QMouseEvent* e) override; private: Sidebar *sidebar; ClearPilotPanel *home; OnroadWindow *onroad; DriverViewWindow *driver_view; QStackedLayout *slayout; // FrogPilot variables Params params; Params paramsMemory{"/dev/shm/params"}; // CLEARPILOT ReadyWindow *ready; bool was_parked_onroad = false; private slots: void updateState(const UIState &s); };