|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QComboBox>
|
|
|
|
#include <QDialog>
|
|
|
|
#include <QJsonDocument>
|
|
|
|
#include <QProgressBar>
|
|
|
|
#include <QSplitter>
|
|
|
|
#include <QStatusBar>
|
|
|
|
#include <QTextEdit>
|
|
|
|
|
|
|
|
#include "tools/cabana/chartswidget.h"
|
|
|
|
#include "tools/cabana/detailwidget.h"
|
|
|
|
#include "tools/cabana/messageswidget.h"
|
|
|
|
#include "tools/cabana/videowidget.h"
|
|
|
|
|
|
|
|
class MainWindow : public QWidget {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
MainWindow();
|
|
|
|
void dockCharts(bool dock);
|
|
|
|
void showStatusMessage(const QString &msg, int timeout = 0) { status_bar->showMessage(msg, timeout); }
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
void loadDBCFromName(const QString &name);
|
|
|
|
void loadDBCFromFingerprint();
|
|
|
|
void loadDBCFromPaste();
|
|
|
|
void saveDBC();
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void showMessage(const QString &msg, int timeout);
|
|
|
|
void updateProgressBar(uint64_t cur, uint64_t total, bool success);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
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;
|
|
|
|
QStatusBar *status_bar;
|
|
|
|
QJsonDocument fingerprint_to_dbc;
|
|
|
|
QComboBox *dbc_combo;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class LoadDBCDialog : public QDialog {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
LoadDBCDialog(QWidget *parent);
|
|
|
|
QTextEdit *dbc_edit;
|
|
|
|
};
|
|
|
|
|
|
|
|
class SaveDBCDialog : public QDialog {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
SaveDBCDialog(QWidget *parent);
|
|
|
|
void copytoClipboard();
|
|
|
|
void saveAs();
|
|
|
|
QTextEdit *dbc_edit;
|
|
|
|
};
|