mirror of https://github.com/commaai/openpilot.git
70 lines
1.6 KiB
C++
70 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <QDialogButtonBox>
|
|
#include <QSplitter>
|
|
#include <QTabWidget>
|
|
#include <QTextEdit>
|
|
#include <set>
|
|
|
|
#include "selfdrive/ui/qt/widgets/controls.h"
|
|
#include "tools/cabana/binaryview.h"
|
|
#include "tools/cabana/chart/chartswidget.h"
|
|
#include "tools/cabana/historylog.h"
|
|
#include "tools/cabana/signalview.h"
|
|
|
|
class EditMessageDialog : public QDialog {
|
|
public:
|
|
EditMessageDialog(const MessageId &msg_id, const QString &title, int size, QWidget *parent);
|
|
void validateName(const QString &text);
|
|
|
|
MessageId msg_id;
|
|
QString original_name;
|
|
QDialogButtonBox *btn_box;
|
|
QLineEdit *name_edit;
|
|
QLineEdit *node;
|
|
QTextEdit *comment_edit;
|
|
QLabel *error_label;
|
|
QSpinBox *size_spin;
|
|
};
|
|
|
|
class DetailWidget : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
DetailWidget(ChartsWidget *charts, QWidget *parent);
|
|
void setMessage(const MessageId &message_id);
|
|
void refresh();
|
|
|
|
private:
|
|
void showTabBarContextMenu(const QPoint &pt);
|
|
void editMsg();
|
|
void removeMsg();
|
|
void updateState(const std::set<MessageId> *msgs = nullptr);
|
|
|
|
MessageId msg_id;
|
|
QLabel *warning_icon, *warning_label;
|
|
ElidedLabel *name_label;
|
|
QWidget *warning_widget;
|
|
TabBar *tabbar;
|
|
QTabWidget *tab_widget;
|
|
QToolButton *remove_btn;
|
|
LogsWidget *history_log;
|
|
BinaryView *binary_view;
|
|
SignalView *signal_view;
|
|
ChartsWidget *charts;
|
|
QSplitter *splitter;
|
|
};
|
|
|
|
class CenterWidget : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
CenterWidget(QWidget *parent);
|
|
void setMessage(const MessageId &msg_id);
|
|
void clear();
|
|
|
|
private:
|
|
QWidget *createWelcomeWidget();
|
|
DetailWidget *detail_widget = nullptr;
|
|
QWidget *welcome_widget = nullptr;
|
|
};
|