106 lines
1.5 KiB
C++
106 lines
1.5 KiB
C++
#ifndef STATEWIDGET_H
|
|
#define STATEWIDGET_H
|
|
|
|
#include <QObject>
|
|
#include <QWidget>
|
|
#include "QMouseEvent"
|
|
#include "QDebug"
|
|
#include "QAction"
|
|
#include "QMenu"
|
|
#include "QColor"
|
|
#include "QLabel"
|
|
#include "mavlink.h"
|
|
#include "QStyle"
|
|
#include "QDebug"
|
|
#include "QScreen"
|
|
#include <QtGlobal>
|
|
#include "QLabel"
|
|
#include "QProgressBar"
|
|
#include "QGridLayout"
|
|
|
|
class StateWidget :public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
|
|
enum state{
|
|
green = 0,
|
|
rad = 1,
|
|
orange = 2,
|
|
gray = 3,
|
|
};
|
|
|
|
explicit StateWidget(int flag, int index = 0,QWidget *parent = nullptr);
|
|
|
|
explicit StateWidget(int flag, QString t, QVariant v = 0, state s = state::gray, int index = 0, QWidget *parent = nullptr);
|
|
|
|
~StateWidget();
|
|
|
|
|
|
int id;
|
|
|
|
void setMax(double v)
|
|
{
|
|
max = v;
|
|
}
|
|
|
|
void setMin(double v)
|
|
{
|
|
min = v;
|
|
}
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
int ID(void)
|
|
{
|
|
return id;
|
|
}
|
|
|
|
|
|
QString Name(void)
|
|
{
|
|
return title->text();
|
|
}
|
|
|
|
int offset(void)
|
|
{
|
|
return m_offset;
|
|
}
|
|
|
|
|
|
void setColor(state s);
|
|
void setValue(QString s);
|
|
|
|
void setRange(double m_min,double m_max);
|
|
|
|
protected:
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
private:
|
|
|
|
int w = 300;
|
|
int h = 20;
|
|
int m_offset = 2;
|
|
|
|
double max = 99999999999999999;
|
|
double min = -99999999999999999;
|
|
|
|
QGridLayout *gridlayout;
|
|
QLabel *title = nullptr;
|
|
QLabel *label = nullptr;
|
|
QProgressBar *bar = nullptr;
|
|
|
|
|
|
};
|
|
|
|
#endif // STATEWIDGET_H
|