58 lines
1.2 KiB
C++
58 lines
1.2 KiB
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);
|
||
void onStatusChanged(int status);
|
||
void OnWorkSpaceChanged(class WorkSpace*);
|
||
void OnTimestepChanged(class Timestep*);
|
||
|
||
protected:
|
||
void paintEvent(QPaintEvent* event);
|
||
|
||
bool ParseLamp(const QString& strFile);
|
||
|
||
private:
|
||
Ui::SignalIndicatorLampUI ui;
|
||
|
||
QList<SignalLabel*> m_listLampPtr;
|
||
|
||
QList<int> m_lampStatus;
|
||
int m_iLampCount = 0;
|
||
|
||
QString m_titleText;
|
||
class DockTitleBar* m_pDockTitleBar { nullptr };
|
||
};
|