/******************************************************************************* * * * Société de Transports de Montréal. * * 2013 * * * * Projet Zones Tests * * * * * * * *******************************************************************************/ /* Description: Affiche un bitmap d'une DEL verte (allumée ou éteinte). */ /* ************************************************************************** */ /* Revision: ### 20131024 JFM Verision d'origine. ### YYYYMMDD Description du besoin ou du bug Description du changement. */ #include "LedWidget.h" #include CLedWidget::CLedWidget(QString Label,QGraphicsItem *Parent) { setParentItem(Parent); mLabel = new QGraphicsTextItem(this); mLedOnPixmap = new QGraphicsPixmapItem(this); mLedONImage.load("./Images/green-led-on-md.png"); mLedOffPixmap = new QGraphicsPixmapItem(this); mLedOFFImage.load("./Images/green-led-off-md.png"); mLabel->setPlainText(Label); mLabel->adjustSize(); LedOFF(); resize(25,25); } void CLedWidget::resizeEvent(QGraphicsSceneResizeEvent *event) { Q_UNUSED(event) mLedOnPixmap->setPixmap(QPixmap().fromImage(mLedONImage).scaled(boundingRect().width(),boundingRect().height())); mLedOffPixmap->setPixmap(QPixmap().fromImage(mLedOFFImage).scaled(boundingRect().width(),boundingRect().height())); mLabel->setPos((boundingRect().width()/2) - ((QFontMetrics(mLabel->font()).width(mLabel->toPlainText()))/2),boundingRect().height()); } void CLedWidget::LedOFF() { mLedOnPixmap->hide(); mLedOffPixmap->show(); } void CLedWidget::LedON() { mLedOnPixmap->show(); mLedOffPixmap->hide(); } void CLedWidget::SetLed(bool ON) { if(ON == true) LedON(); else LedOFF(); }