openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
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.
 
 
 
 
 
 

65 lines
1.5 KiB

#pragma once
#include <QComboBox>
#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QSpinBox>
#include <QToolButton>
#include "selfdrive/ui/qt/widgets/controls.h"
#include "tools/cabana/canmessages.h"
#include "tools/cabana/dbcmanager.h"
class SignalForm : public QWidget {
Q_OBJECT
public:
SignalForm(QWidget *parent);
QLineEdit *name, *unit, *comment, *val_desc, *offset, *factor, *min_val, *max_val;
QLabel *lsb, *msb;
QSpinBox *size;
QComboBox *sign, *endianness;
bool changed_by_user = false;
signals:
void changed();
};
class SignalEdit : public QWidget {
Q_OBJECT
public:
SignalEdit(int index, QWidget *parent = nullptr);
void setSignal(const QString &msg_id, const Signal *sig);
void setChartOpened(bool opened);
void signalHovered(const Signal *sig);
void updateForm(bool show);
inline bool isFormVisible() const { return form->isVisible(); }
const Signal *sig = nullptr;
QString msg_id;
signals:
void highlight(const Signal *sig);
void showChart(const QString &name, const Signal *sig, bool show);
void remove(const Signal *sig);
void save(const Signal *sig, const Signal &new_sig);
void showFormClicked();
protected:
void enterEvent(QEvent *event) override;
void leaveEvent(QEvent *event) override;
void saveSignal();
SignalForm *form = nullptr;
ElidedLabel *title;
QLabel *color_label;
QLabel *icon;
int form_idx = 0;
QToolButton *plot_btn;
};
class SignalFindDlg : public QDialog {
public:
SignalFindDlg(const QString &id, const Signal *signal, QWidget *parent);
};