Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,131 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* EffectShowClient - Safety Confirmation Widget
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Patric Karwat, NLE, 2020-04-07
|
||||
*/
|
||||
|
||||
#include "esc_safety_confirmation_widget.h"
|
||||
#include "ui_esc_safety_confirmation_widget.h"
|
||||
#include "esc_smoke_state.h"
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
namespace EffectShowClient
|
||||
{
|
||||
|
||||
SafetyConfirmationWidget::SafetyConfirmationWidget(QWidget *parent) :
|
||||
QWidget(parent)
|
||||
, m_currentState(SafetyConfirmation_e::SafetyNotConfirmed)
|
||||
, m_requestHelper(new LtsUtils::RequestHelper(this))
|
||||
, m_ui(new Ui::SafetyConfirmationWidget)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
setMinimumHeight(sizeHint().height());
|
||||
}
|
||||
|
||||
SafetyConfirmationWidget::~SafetyConfirmationWidget()
|
||||
{
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
bool SafetyConfirmationWidget::init(const std::shared_ptr<Interface::Ftc> &ftc)
|
||||
{
|
||||
if (!ftc)
|
||||
return false;
|
||||
m_ftc = ftc;
|
||||
connect(m_ui->pbRevoke, &QPushButton::clicked, this, &SafetyConfirmationWidget::onRevokeClicked);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SafetyConfirmationWidget::onOperatingConditionEntityChanged(const OperatingConditionEntity &data)
|
||||
{
|
||||
QStringList warningText;
|
||||
if (data.loadingBoardWall())
|
||||
warningText.append(tr("Loading Board Wall open"));
|
||||
if (data.temperatureWarning())
|
||||
warningText.append(tr("Temperature Warning"));
|
||||
if (data.errorEquipment())
|
||||
warningText.append(tr("Error Equipment"));
|
||||
if (data.errorFireUnit())
|
||||
warningText.append(tr("Fire Unit Error"));
|
||||
if (data.errorGeneral())
|
||||
warningText.append(tr("General Error"));
|
||||
if (data.errorPanel())
|
||||
warningText.append(tr("Panel Error"));
|
||||
if (data.errorSmoke())
|
||||
warningText.append(tr("Smoke Unit Error"));
|
||||
if (data.emergencyStop())
|
||||
warningText.append(tr("Emergency Stop!"));
|
||||
|
||||
if (warningText.size() > 0)
|
||||
{
|
||||
m_errorString = tr("Warning: %1").arg(warningText.join(QLatin1Char(',')));
|
||||
setMessageInternal();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_errorString = QString();
|
||||
setMessageInternal();
|
||||
}
|
||||
return warningText.size() == 0;
|
||||
}
|
||||
|
||||
void SafetyConfirmationWidget::setMessage(const QString &message)
|
||||
{
|
||||
m_messageString = message;
|
||||
setMessageInternal();
|
||||
}
|
||||
|
||||
void SafetyConfirmationWidget::setMessageInternal()
|
||||
{
|
||||
QString text = m_messageString;
|
||||
if (!m_errorString.isEmpty() && !m_messageString.isEmpty())
|
||||
text.append(QStringLiteral(", %1").arg(m_errorString));
|
||||
else
|
||||
text.append(m_errorString);
|
||||
m_ui->lblWarningText->setText(text);
|
||||
}
|
||||
|
||||
void SafetyConfirmationWidget::setNewSafetyConfirmationDisplay(const SafetyConfirmation_e &safetyConfirmation)
|
||||
{
|
||||
if (m_currentState == safetyConfirmation)
|
||||
return;
|
||||
m_currentState = safetyConfirmation;
|
||||
onSafetyConfirmationDisplay();
|
||||
}
|
||||
|
||||
bool SafetyConfirmationWidget::onRevokeClicked()
|
||||
{
|
||||
return m_requestHelper->startSingleRequest([this]()
|
||||
{
|
||||
EffectShowClient::SendSafetyRevokeRequest request;
|
||||
|
||||
request.revoke(true);
|
||||
return m_ftc->sendSafetyRevokeRequest(request, this);
|
||||
});
|
||||
}
|
||||
|
||||
void SafetyConfirmationWidget::onSafetyConfirmationDisplay()
|
||||
{
|
||||
switch (m_currentState.underlying())
|
||||
{
|
||||
case EffectShowClient::SafetyConfirmation_e_def::SafetyConfirmed:
|
||||
m_ui->ltsLedWidget->setColor(QColor(0, 255, 0));
|
||||
m_ui->ltsLedWidget->setStatus(true);
|
||||
break;
|
||||
case EffectShowClient::SafetyConfirmation_e_def::SafetyExpiring:
|
||||
m_ui->ltsLedWidget->setColor(QColor(0, 255, 0));
|
||||
m_ui->ltsLedWidget->setStatus(!m_ui->ltsLedWidget->status());
|
||||
QTimer::singleShot(800, this, &SafetyConfirmationWidget::onSafetyConfirmationDisplay);
|
||||
break;
|
||||
case EffectShowClient::SafetyConfirmation_e_def::SafetyNotConfirmed:
|
||||
m_ui->ltsLedWidget->setColor(QColor(255, 0, 0));
|
||||
m_ui->ltsLedWidget->setStatus(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace EffectShowClient
|
||||
Reference in new issue
Block a user