52 lines
989 B
C
52 lines
989 B
C
|
#pragma once
|
|||
|
|
|||
|
#include <QWidget>
|
|||
|
#include <QLabel>
|
|||
|
#include <QPaintEvent>
|
|||
|
#include <QList>
|
|||
|
#include "SignalLabel.h"
|
|||
|
|
|||
|
#include "ui_SignalIndicatorLampUI.h"
|
|||
|
|
|||
|
class SignalIndicatorLampUI : public QWidget
|
|||
|
{
|
|||
|
Q_OBJECT
|
|||
|
|
|||
|
public:
|
|||
|
enum LayoutType // <20>źŵƲ<C5B5><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
HLyt, // ˮƽ
|
|||
|
VLyt, // <20><>ֱ
|
|||
|
GLyt, // <20><><EFBFBD><EFBFBD>
|
|||
|
};
|
|||
|
|
|||
|
SignalIndicatorLampUI( QWidget *parent = Q_NULLPTR);
|
|||
|
~SignalIndicatorLampUI();
|
|||
|
|
|||
|
void AttachDock(class DockWidget* dockWidget);
|
|||
|
|
|||
|
void InitIndicatorLamp(QStringList &lamps, LayoutType type, int nColCount = 4);
|
|||
|
|
|||
|
void SetLampState(std::vector<int> vecStatus);
|
|||
|
|
|||
|
void UpdateIndicatorLamp(QStringList& lamps, LayoutType type, int nColCount = 4);
|
|||
|
|
|||
|
void InitLamp(const QString& strFile);
|
|||
|
|
|||
|
protected slots:
|
|||
|
void slotUpdateTime(double dTime);
|
|||
|
|
|||
|
protected:
|
|||
|
void paintEvent(QPaintEvent* event);
|
|||
|
|
|||
|
void ParseLamp(const QString& strFile);
|
|||
|
|
|||
|
private:
|
|||
|
Ui::SignalIndicatorLampUI ui;
|
|||
|
|
|||
|
QList<SignalLabel*> m_listLampPtr;
|
|||
|
|
|||
|
QList<int> m_lampStatus;
|
|||
|
int m_iLampCount = 0;
|
|||
|
};
|