Files
sunnypilot/tools/cabana/mainwin.h
Dean Lee ca2faafdb9 Cabana: add menu bar to main window (#26419)
* add menu bar

* show DBC name in title

* cleanup
old-commit-hash: fc872271ae
2022-11-09 11:10:57 -08:00

54 lines
1.4 KiB
C++

#pragma once
#include <QComboBox>
#include <QJsonDocument>
#include <QMainWindow>
#include <QProgressBar>
#include <QSplitter>
#include <QStatusBar>
#include "tools/cabana/chartswidget.h"
#include "tools/cabana/detailwidget.h"
#include "tools/cabana/messageswidget.h"
#include "tools/cabana/videowidget.h"
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow();
void dockCharts(bool dock);
void showStatusMessage(const QString &msg, int timeout = 0) { statusBar()->showMessage(msg, timeout); }
public slots:
void loadDBCFromName(const QString &name);
void loadDBCFromFingerprint();
void loadDBCFromFile();
void loadDBCFromClipboard();
void saveDBCToFile();
void saveDBCToClipboard();
signals:
void showMessage(const QString &msg, int timeout);
void updateProgressBar(uint64_t cur, uint64_t total, bool success);
protected:
void createActions();
void createStatusBar();
void closeEvent(QCloseEvent *event) override;
void updateDownloadProgress(uint64_t cur, uint64_t total, bool success);
void setOption();
VideoWidget *video_widget;
MessagesWidget *messages_widget;
DetailWidget *detail_widget;
ChartsWidget *charts_widget;
QSplitter *splitter;
QWidget *floating_window = nullptr;
QVBoxLayout *r_layout;
QProgressBar *progress_bar;
QLabel *fingerprint_label;
QJsonDocument fingerprint_to_dbc;
QComboBox *dbc_combo;
};