Ajout de la page de visualisation des données Modbus.

This commit is contained in:
jfmartel 2019-10-04 14:50:57 -04:00
parent c855edfdca
commit 198613bd7b
9 changed files with 484 additions and 2 deletions

6
ZT.pro
View File

@ -119,7 +119,8 @@ SOURCES += \
sources/GuiElements/ModbusSettingsPage.cpp \
sources/Modbus/NetworkCfgMgr.cpp \
sources/Modbus/ModbusSEIMgr.cpp \
sources/GuiElements/SEISettingsPage.cpp
sources/GuiElements/SEISettingsPage.cpp \
sources/GuiElements/ModbusDisplayPage.cpp
HEADERS += \
sources/MainPanel.h \
@ -239,7 +240,8 @@ HEADERS += \
sources/Modbus/NetworkCfgMgr.h \
sources/Modbus/ModbusSEIMgr.h \
sources/Modbus/ModbusSEIDefs.h \
sources/GuiElements/SEISettingsPage.h
sources/GuiElements/SEISettingsPage.h \
sources/GuiElements/ModbusDisplayPage.h
#QMAKE_LIBDIR += ./ExtLib
#QT += network

View File

@ -100,6 +100,11 @@ CEngineeringPage::CEngineeringPage(QGraphicsWidget *Parent)
mTestButton->setPos(350,310);
connect(mTestButton,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
mModbusDataBtn = new CTextButtonWidget("Modbus");
mModbusDataBtn->setParentItem(this);
mModbusDataBtn->setPos(450,310);
connect(mModbusDataBtn,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
mInfoUpdateTimer = new QTimer();
mInfoUpdateTimer->setSingleShot(false);
@ -801,6 +806,10 @@ void CEngineeringPage::ButtonClicked(CTextButtonWidget *BtnPtr)
else if(BtnPtr == mTestButton)
{
}
else if(BtnPtr == mModbusDataBtn)
{
mProgramHandle->OpenModbusDataPageRequest();
}
}
void CEngineeringPage::showEvent(QShowEvent *event)

View File

@ -90,6 +90,7 @@ private:
CTextButtonWidget *mConvertCSVButton;
CTextButtonWidget *mTestButton;
CTextButtonWidget *mDeleteEngLogBtn;
CTextButtonWidget *mModbusDataBtn;
QGraphicsTextItem *mPCIIODataText;
QGraphicsTextItem *mExternalInputDataText;

View File

@ -0,0 +1,342 @@
#include "ModbusDisplayPage.h"
#include "Zonetest.h"
#include <QGraphicsProxyWidget>
#include "ModbusCCDefs.h"
#include "ModbusSEIDefs.h"
#include "ModbusRepository.h"
CModbusDisplayPage::CModbusDisplayPage(QGraphicsWidget *parent)
{
setParentItem(parent);
mProgramHandle = 0;
mCCRepoHandle = 0;
mSEIRepoHandle = 0;
mBackgroundRect = new QGraphicsRectItem(boundingRect(), this);
QBrush BackgroundBrush(QColor(245, 245, 255,200));
mBackgroundRect->setBrush(BackgroundBrush);
mCloseBtn = new CTextButtonWidget("Fermer");
mCloseBtn->setParentItem(this);
mCloseBtn->setPos(600,600);
connect(mCloseBtn,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
mModbusDataTree = new QTreeWidget;
QGraphicsProxyWidget *Proxy = new QGraphicsProxyWidget(this);
Proxy->setWidget(mModbusDataTree);
Proxy->setPos(0,0);
mModbusDataTree->resize(750,750);
mRefreshTimer = new QTimer();
mRefreshTimer->setSingleShot(false);
mRefreshTimer->setInterval(300);
mRefreshTimer->stop();
connect(mRefreshTimer,SIGNAL(timeout()),this,SLOT(RefreshTimerExpired()));
QList<QTreeWidgetItem *> Items;
mModbusDataTree->setColumnCount(5);
mModbusDataTree->setHeaderItem(new QTreeWidgetItem(QStringList()<<"Flag/Alarme"<<"Valeur CC"<<"Rang CC"<<"Valeur SEI"<<"Rang SEI"));
//Items.append(new QTreeWidgetItem(QStringList(QString().fromUtf8("Pneu De Guidage ZT1 #2") << QString().fromUtf8("Pneu De Guidage ZT1 #2") << QString().fromUtf8("Pneu De Guidage ZT1 #2"))));
Items.append(new QTreeWidgetItem(QStringList()<<"ZT1"));
Items.append(new QTreeWidgetItem(QStringList()<<"ZT2"));
Items.append(new QTreeWidgetItem(QStringList()<<"ZT"));
QTreeWidgetItem* Item;
// Item = new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Alarmes"));
// Items.at(0)->addChild(Item);
Item = Items.at(0);
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #3")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #4")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #3")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #4")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #3")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #4")<<"0"<<"---"));
Item ->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #3")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #4")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Itinéraire")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Alarme V00 ZT1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Panne Équipement ZT1")<<"0"<<"---"));
Item = Items.at(1);
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #3")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #4")<<"0"<<"---"));
// Items.at(1)->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8(" ")));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #1")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #3")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #4")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Alarme V02 ZT2")<<"0"<<"---"));
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Panne Équipement ZT2")<<"0"<<"---"));
Item = Items.at(2);
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Watchdog ZT")<<"0"<<"---"));
mModbusDataTree->insertTopLevelItems(0,Items);
mModbusDataTree->resizeColumnToContents(1);
mModbusDataTree->expandAll();
mModbusDataTree->resizeColumnToContents(0);
}
void CModbusDisplayPage::resizeEvent(QGraphicsSceneResizeEvent *event)
{
Q_UNUSED(event)
mBackgroundRect->setRect(boundingRect());
mCloseBtn->setPos(50,boundingRect().height()-50);
mModbusDataTree->resize(boundingRect().width(),boundingRect().height()-50);
}
CModbusDisplayPage::~CModbusDisplayPage()
{
delete mModbusDataTree;
}
void CModbusDisplayPage::ButtonClicked(CTextButtonWidget *button)
{
if(button == mCloseBtn)
{
mRefreshTimer->stop();
mProgramHandle->CloseModbusDataPageRequest();
}
}
int CModbusDisplayPage::UpdateTable(int Source)
{
CModbusRepository *SourceRepo;
CZTInfo *DataStruct = new CZTInfo;
bool OK = false;
// quint16 data = mCCModbusRepo.GetSingleReg(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD,&OK);
if(Source == CC_MODBUS_TABLE_SOURCE)
{
SourceRepo = mCCRepoHandle;
}
else if(Source == SEI_MODBUS_TABLE_SOURCE)
{
SourceRepo = mSEIRepoHandle;
}
else
{
return RET_ERROR;
}
quint16 data = SourceRepo->GetSingleReg(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD,&OK);
if(OK == true)
{
DataStruct->mZT1PPIAlarmFlag1 = (data & ZT1_PP_INT_FLAG_MASK_1) != 0;
DataStruct->mZT1PPIAlarmFlag2 = (data & ZT1_PP_INT_FLAG_MASK_2) != 0;
DataStruct->mZT1PPIAlarmFlag3 = (data & ZT1_PP_INT_FLAG_MASK_3) != 0;
DataStruct->mZT1PPIAlarmFlag4 = (data & ZT1_PP_INT_FLAG_MASK_4) != 0;
DataStruct->mZT1PPEAlarmFlag1 = (data & ZT1_PP_EXT_FLAG_MASK_1) != 0;
DataStruct->mZT1PPEAlarmFlag2 = (data & ZT1_PP_EXT_FLAG_MASK_2) != 0;
DataStruct->mZT1PPEAlarmFlag3 = (data & ZT1_PP_EXT_FLAG_MASK_3) != 0;
DataStruct->mZT1PPEAlarmFlag4 = (data & ZT1_PP_EXT_FLAG_MASK_4) != 0;
DataStruct->mZT1PGAlarmFlag1 = (data & ZT1_PG_FLAG_MASK_1) != 0;
DataStruct->mZT1PGAlarmFlag2 = (data & ZT1_PG_FLAG_MASK_2) != 0;
DataStruct->mZT1PGAlarmFlag3 = (data & ZT1_PG_FLAG_MASK_3) != 0;
DataStruct->mZT1PGAlarmFlag4 = (data & ZT1_PG_FLAG_MASK_4) != 0;
DataStruct->mZT1FNAlarmFlag1 = (data & ZT1_FN_FLAG_MASK_1) != 0;
DataStruct->mZT1FNAlarmFlag2 = (data & ZT1_FN_FLAG_MASK_2) != 0;
DataStruct->mZT1FNAlarmFlag3 = (data & ZT1_FN_FLAG_MASK_3) != 0;
DataStruct->mZT1FNAlarmFlag4 = (data & ZT1_FN_FLAG_MASK_4) != 0;
}
else
{
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD)");
return RET_ERROR;
}
QList<qint16> RankData;
RankData = SourceRepo->GetRegs(MODBUS_ZT1_ALARM_RANKS_BASE_ADD,16,&OK);
if(OK == true)
{
DataStruct->mZT1Ranks = RankData;
}
else
{
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT1_ALARM_RANKS_BASE_ADD)");
return RET_ERROR;
}
data = SourceRepo->GetSingleReg(MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD,&OK);
if(OK == true)
{
DataStruct->mZT2PPIAlarmFlag1 = (data & ZT2_PP_INT_FLAG_MASK_1) != 0;
DataStruct->mZT2PPIAlarmFlag2 = (data & ZT2_PP_INT_FLAG_MASK_2) != 0;
DataStruct->mZT2PPIAlarmFlag3 = (data & ZT2_PP_INT_FLAG_MASK_3) != 0;
DataStruct->mZT2PPIAlarmFlag4 = (data & ZT2_PP_INT_FLAG_MASK_4) != 0;
DataStruct->mZT2PPEAlarmFlag1 = (data & ZT2_PP_EXT_FLAG_MASK_1) != 0;
DataStruct->mZT2PPEAlarmFlag2 = (data & ZT2_PP_EXT_FLAG_MASK_2) != 0;
DataStruct->mZT2PPEAlarmFlag3 = (data & ZT2_PP_EXT_FLAG_MASK_3) != 0;
DataStruct->mZT2PPEAlarmFlag4 = (data & ZT2_PP_EXT_FLAG_MASK_4) != 0;
}
else
{
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD)");
return RET_ERROR;
}
RankData.clear();
RankData = SourceRepo->GetRegs(MODBUS_ZT2_ALARM_RANKS_BASE_ADD,8,&OK);
if(OK == true)
{
DataStruct->mZT2Ranks = RankData;
}
else
{
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT2_ALARM_RANKS_BASE_ADD)");
return RET_ERROR;
}
data = SourceRepo->GetSingleReg(MODBUS_MISC_DATA_BASE_REG_ADD,&OK);
if(OK == true)
{
DataStruct->mZT1V00AlarmFlag = (data & ZT1_V00_ALARM_FLAG_MASK) != 0;
DataStruct->mZT1PEQ1AlarmFlag = (data & ZT1_PEQ1_ALARM_FLAG_MASK) != 0;
DataStruct->mZT2V02AlarmFlag = (data & ZT2_V02_ALARM_FLAG_MASK) != 0;
DataStruct->mZT2PEQ2AlarmFlag = (data & ZT2_PEQ2_ALARM_FLAG_MASK) != 0;
DataStruct->mITI10_12Flag = (data & ZT1_ALARM_ITI_FLAG_MASK) != 0;
}
else
{
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_PANNES_DATA_BASE_REG_ADD)");
return RET_ERROR;
}
DataStruct->mWatchdogZT = SourceRepo->GetSingleReg(MODBUS_ZT_WATCHDOG_REG_ADD,&OK);
QTreeWidgetItem* Item;
QString TempStr;
//ZT1
Item = mModbusDataTree->topLevelItem(0);
Item->child(0)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag1));
Item->child(1)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag2));
Item->child(2)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag3));
Item->child(3)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag4));
Item->child(4)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag1));
Item->child(5)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag2));
Item->child(6)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag3));
Item->child(7)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag4));
Item->child(8)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag1));
Item->child(9)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag2));
Item->child(10)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag3));
Item->child(11)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag4));
Item->child(12)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag1));
Item->child(13)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag2));
Item->child(14)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag3));
Item->child(15)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag4));
if(DataStruct->mITI10_12Flag == 0)
{
TempStr = "Principal";
}
else
{
TempStr = "Secondaire";
}
Item->child(16)->setText(1,TempStr);
Item->child(17)->setText(1,QString("%1").arg(DataStruct->mZT1V00AlarmFlag));
Item->child(18)->setText(1,QString("%1").arg(DataStruct->mZT1PEQ1AlarmFlag));
for(int i = 0; i < 16; i++)
{
Item->child(i)->setText(2,QString("%1").arg(DataStruct->mZT1Ranks.at(i)));
}
//ZT2
Item = mModbusDataTree->topLevelItem(1);
Item->child(0)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag1));
Item->child(1)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag2));
Item->child(2)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag3));
Item->child(3)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag4));
Item->child(4)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag1));
Item->child(5)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag2));
Item->child(6)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag3));
Item->child(7)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag4));
Item->child(8)->setText(1,QString("%1").arg(DataStruct->mZT2V02AlarmFlag));
Item->child(9)->setText(1,QString("%1").arg(DataStruct->mZT2PEQ2AlarmFlag));
for(int i = 0; i < 8; i++)
{
Item->child(i)->setText(2,QString("%1").arg(DataStruct->mZT2Ranks.at(i)));
}
//Watchdog
Item = mModbusDataTree->topLevelItem(2);
Item->child(0)->setText(1,QString("%1").arg(DataStruct->mWatchdogZT));
delete DataStruct;
return RET_OK;
}
void CModbusDisplayPage::UpdateCCModbusTable()
{
UpdateTable(CC_MODBUS_TABLE_SOURCE);
}
void CModbusDisplayPage::UpdateSEIModbusTable()
{
UpdateTable(SEI_MODBUS_TABLE_SOURCE);
}
void CModbusDisplayPage::RefreshTimerExpired()
{
UpdateTable(CC_MODBUS_TABLE_SOURCE);
UpdateTable(SEI_MODBUS_TABLE_SOURCE);
}
void CModbusDisplayPage::showEvent(QShowEvent *event)
{
mRefreshTimer->start();
}

View File

@ -0,0 +1,99 @@
#ifndef MODBUSDISPLAYPAGE_H
#define MODBUSDISPLAYPAGE_H
#include "Guipage.h"
#include "GlobalDefine.h"
#include <QGraphicsWidget>
#include "TextButtonWidget.h"
#include <QTreeWidget>
#include <QTimer>
enum eModbusTableSource
{
CC_MODBUS_TABLE_SOURCE,
SEI_MODBUS_TABLE_SOURCE
};
class CZoneTest;
class CModbusRepository;
class CModbusDisplayPage : public CGuiPage
{
Q_OBJECT
public:
CModbusDisplayPage(QGraphicsWidget *parent = 0);
~CModbusDisplayPage();
virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
virtual void showEvent(QShowEvent *event);
CZoneTest *mProgramHandle;
QGraphicsRectItem *mBackgroundRect;
CTextButtonWidget *mCloseBtn;
QTreeWidget *mModbusDataTree;
CModbusRepository *mCCRepoHandle, *mSEIRepoHandle;
QTimer *mRefreshTimer;
private:
int UpdateTable(int source);
signals:
public slots:
void ButtonClicked(CTextButtonWidget*);
void UpdateCCModbusTable();
void UpdateSEIModbusTable();
void RefreshTimerExpired();
};
class CZTInfo
{
public:
int mZT1PPIAlarmFlag1;
int mZT1PPIAlarmFlag2;
int mZT1PPIAlarmFlag3;
int mZT1PPIAlarmFlag4;
int mZT1PPEAlarmFlag1;
int mZT1PPEAlarmFlag2;
int mZT1PPEAlarmFlag3;
int mZT1PPEAlarmFlag4;
int mZT1PGAlarmFlag1;
int mZT1PGAlarmFlag2;
int mZT1PGAlarmFlag3;
int mZT1PGAlarmFlag4;
int mZT1FNAlarmFlag1;
int mZT1FNAlarmFlag2;
int mZT1FNAlarmFlag3;
int mZT1FNAlarmFlag4;
QList<qint16> mZT1Ranks;
int mZT1V00AlarmFlag;
int mZT1PEQ1AlarmFlag;
int mZT2PPIAlarmFlag1;
int mZT2PPIAlarmFlag2;
int mZT2PPIAlarmFlag3;
int mZT2PPIAlarmFlag4;
int mZT2PPEAlarmFlag1;
int mZT2PPEAlarmFlag2;
int mZT2PPEAlarmFlag3;
int mZT2PPEAlarmFlag4;
QList<qint16> mZT2Ranks;
int mZT2V02AlarmFlag;
int mZT2PEQ2AlarmFlag;
int mITI10_12Flag;
int mWatchdogZT;
CZTInfo(){;}
};
#endif // MODBUSDISPLAYPAGE_H

View File

@ -103,6 +103,7 @@ Panel::Panel()
mZTLogViewerPage = new CZTLogViewerPage();
mModbusSettingsPage = new CModbusSettingsPage();
mSEISettingsPage = new CSEISettingsPage();
mModbusDisplayPage = new CModbusDisplayPage();
scene->addItem(mWelcomePage);
scene->addItem(mZTMainPage);
@ -116,6 +117,7 @@ Panel::Panel()
scene->addItem(mModbusSettingsPage);
scene->addItem(mSEISettingsPage);
scene->addItem(mZTLogViewerPage);
scene->addItem(mModbusDisplayPage);
mZTMainPage->setPos(0,0);
mZTMainPage->hide();
@ -177,6 +179,12 @@ Panel::Panel()
mZTLogViewerPage->resize(800,600);
mZTLogViewerPage->setZValue(1);
mModbusDisplayPage->setPos(10,10);
mModbusDisplayPage->resize(SCREEN_RES_WIDTH-20,SCREEN_RES_HEIGHT-20);
mModbusDisplayPage->setZValue(1);
mModbusDisplayPage->hide();
installEventFilter(mLogViewPage);
}

View File

@ -46,6 +46,7 @@
#include "ZTLogViewerPage.h"
#include "ModbusSettingsPage.h"
#include "SEISettingsPage.h"
#include "ModbusDisplayPage.h"
class CZoneTest;
@ -88,6 +89,7 @@ public:
CZTLogViewerPage *mZTLogViewerPage;
CModbusSettingsPage *mModbusSettingsPage;
CSEISettingsPage *mSEISettingsPage;
CModbusDisplayPage *mModbusDisplayPage;
};
#endif // PANEL_H

View File

@ -271,6 +271,7 @@ unsigned int CZoneTest::Start()
panel.mModbusSettingsPage->mProgramHandle = this;
panel.mSEISettingsPage->mProgramHandle = this;
panel.mZTLogViewerPage->mProgramHandle = this;
panel.mModbusDisplayPage->mProgramHandle = this;
panel.mEngineeringPage->mDisablePassword = mDisablePassword;
mInternalWatchdog = new CWatchdogCtrl(mUseWatchdog);
@ -611,6 +612,9 @@ unsigned int CZoneTest::InitZT()
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkRecovered()),panel.mZTMainPage,SLOT(ModbusSEIConnected()));
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkLost()),panel.mZTMainPage,SLOT(ModbusSEIDisconnected()));
panel.mModbusDisplayPage->mSEIRepoHandle = mSEIModbusRepository;
panel.mModbusDisplayPage->mCCRepoHandle = mCCModbusRepository;
panel.mZTMainPage->ModbusSEIDisconnected();
@ -1261,6 +1265,18 @@ void CZoneTest::LogZTSettingsRequest(bool LogStationName)
mZTSettingsFileMgr.LogSettings(mZTSettings,LogStationName);
}
void CZoneTest::OpenModbusDataPageRequest()
{
panel.mEngineeringPage->hide();
panel.mModbusDisplayPage->show();
}
void CZoneTest::CloseModbusDataPageRequest()
{
panel.mModbusDisplayPage->hide();
panel.mEngineeringPage->show();
}
void CZoneTest::CheckAndCreateDirectories()
{
QDir dir("./Trains");

View File

@ -140,6 +140,9 @@ public:
void ResetTriggerCount();
void ResetNbPassages();
void OpenModbusDataPageRequest();
void CloseModbusDataPageRequest();
void LogZTSettingsRequest(bool LogStationName = false);
void ApplicationQuit(int Reason);