ZT/sources/GuiElements/ZT2StatsZone.cpp

120 lines
3.1 KiB
C++

/*******************************************************************************
* *
* Société de Transports de Montréal. *
* 2012 - 2013 *
* *
* Projet Zones Tests *
* *
* *
* *
*******************************************************************************/
/*
Description:
Zone de texte qui affiche les statistiques de passage d'un train dans la ZT2.
*/
/* ************************************************************************** */
/* Revision:
### 20131104 JFM
Verision d'origine.
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#include "ZT2StatsZone.h"
CZT2StatsZone::CZT2StatsZone(QGraphicsItem *Parent)
{
setParentItem(Parent);
QFont font;
//font.setPixelSize(15);
font.setPointSize(15);
mBogieCountText = new QGraphicsTextItem(this);
mBogieCountText->setPos(0,12);
// mBogieCountText->setPlainText("Compte Bogie: 0");
mBogieCountText->setFont(font);
mS1CountText = new QGraphicsTextItem(this);
mS1CountText->setPos(0,34);
// mS1CountText->setPlainText("Compte S1: 0");
mS1CountText->setFont(font);
mActualRankText = new QGraphicsTextItem(this);
mActualRankText->setPos(0,56);
// mActualRankText->setPlainText("Rang: 0");
mActualRankText->setFont(font);
mLastActivationDateTime = new QGraphicsTextItem(this);
mLastActivationDateTime->setPos(0,78);
mLastActivationDateTime->setFont(font);
mLastActivationDateTime->setPlainText("Dernier passage : ");
Reset();
}
unsigned int CZT2StatsZone::SetLastActivationDateTime()
{
QString txt = "Dernier passage: ";
txt += QDateTime::currentDateTime().toString("yyyy/MM/dd - hh:mm:ss");
mLastActivationDateTime->setPlainText(txt);
return RET_OK;
}
unsigned int CZT2StatsZone::UpdateStats(CZT2ThreadData *DataPtr)
{
QString temp;
if(mBogieCount != DataPtr->mBogie)
{
mBogieCount = DataPtr->mBogie;
temp.clear();
temp.sprintf("Compte Bogie: %d",mBogieCount);
mBogieCountText->setPlainText(temp);
}
if(mS1Count != DataPtr->mS1Count)
{
mS1Count = DataPtr->mS1Count;
temp.clear();
temp.sprintf("Compte S1: %d",mS1Count);
mS1CountText->setPlainText(temp);
}
if(mActualRank != DataPtr->mRank)
{
mActualRank = DataPtr->mRank;
temp.clear();
temp.sprintf("Rang: %d",mActualRank);
mActualRankText->setPlainText(temp);
}
return RET_OK;
}
unsigned int CZT2StatsZone::Reset()
{
mBogieCount = mS1Count = mActualRank = 0;
mBogieCountText->setPlainText("Compte Bogie: 0");
mS1CountText->setPlainText("Compte S1: 0");
mActualRankText->setPlainText("Rang: 0");
return RET_OK;
}