You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							1.6 KiB
						
					
					
				| #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;
 | |
| };
 | |
| 
 |