#include "CableTestPage.h" #include "ui_CableTestPage.h" #include "CableTestBench.h" #include #include "CableParametersData.h" CCableTestPage::CCableTestPage(QWidget *parent) : QWidget(parent), ui(new Ui::CCableTestPage) { QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); ui->setupUi(this); mProgramHandle = 0; mInspectionNotDonePixmap = QPixmap("./images/todo.png").scaled(ui->mInspectionDoneIcon->geometry().width(),ui->mInspectionDoneIcon->geometry().height()); mInspectionDonePixmap = QPixmap("./images/done1.png").scaled(ui->mInspectionDoneIcon->geometry().width(),ui->mInspectionDoneIcon->geometry().height()); ui->mInspectionDoneIcon->setPixmap(mInspectionNotDonePixmap); connect(ui->mExecInspVisuelleBtn,SIGNAL(clicked()),this,SLOT(InspVisuelleBtnClicked())); connect(ui->mConnectorSelectWidget,SIGNAL(ConnectorSelected(CConnectorDefs::eConnectorType)),this,SLOT(ConnectorSelectionChanged(CConnectorDefs::eConnectorType))); ui->mInputTestVisualisationWidget->SetConnectorPinCount(0); ui->mOutputTestVisualisationWidget->SetConnectorPinCount(0); ui->mVisualInspStepChkBx->setCheckable(false); mGuiRefreshTimer.setSingleShot(false); mGuiRefreshTimer.setInterval(200); connect(ui->mStartTestBtn,SIGNAL(clicked()),this,SLOT(StartTestBtnClicked())); connect(ui->mReinitTestBtn,SIGNAL(clicked()),this,SLOT(ResetTestBtnClicked())); connect(ui->mNewCableBtn,SIGNAL(clicked()),this,SLOT(NewCableBtnClicked())); connect(ui->mStartManualTestBtn,SIGNAL(clicked()),this,SLOT(StartManualTestBtnClicked())); connect(ui->mOutputTestVisualisationWidget,SIGNAL(PinClicked(int)),this,SLOT(OutputConnectorPinClicked(int))); connect(&mGuiRefreshTimer,SIGNAL(timeout()),this,SLOT(GuiRefreshTimerExpired())); mDefaultCableName = "CABLE_XX_NO_AA_BB.c"; mDefaultInspectorName = "JFMartel"; ui->mStartTestBtn->setEnabled(false); ui->mStartManualTestBtn->setEnabled(false); ui->mOutputTestVisualisationWidget->DisablePinClicks(); ResetCable(); } CCableTestPage::~CCableTestPage() { delete ui; } void CCableTestPage::InspVisuelleBtnClicked() { mProgramHandle->ExecVisualInspectionRequest(); } int CCableTestPage::SetVisualInspectionDone(bool Done) { if(Done) { ui->mInspectionDoneIcon->setPixmap(mInspectionDonePixmap); ui->mExecInspVisuelleBtn->setText(QString("Réviser Inspection").toUtf8()); ui->mVisualInspStepChkBx->setCheckable(true); ui->mVisualInspStepChkBx->setChecked(true); ui->mVisualInspStepChkBx->setCheckable(false); } else { ui->mInspectionDoneIcon->setPixmap(mInspectionNotDonePixmap); ui->mExecInspVisuelleBtn->setText("Effectuer Inspection"); ui->mVisualInspStepChkBx->setChecked(false); } return RET_OK; } void CCableTestPage::ConnectorSelectionChanged(CConnectorDefs::eConnectorType ConType) { CCable* Cable; Cable = mProgramHandle->SetSelectedConnector(ConType); if(Cable != 0) { ui->mInputTestVisualisationWidget->SetConnectorPinCount(Cable->GetInputConnector()->GetPinCount()); ui->mOutputTestVisualisationWidget->SetConnectorPinCount(Cable->GetOutputConnector()->GetPinCount()); } } void CCableTestPage::StartTestBtnClicked() { mProgramHandle->StartPauseAutomaticTestRequest(); } void CCableTestPage::StartManualTestBtnClicked() { mProgramHandle->StartStopManualTestRequest(); } void CCableTestPage::ResetTestBtnClicked() { mProgramHandle->ResetAutomaticTestRequest(); } void CCableTestPage::NewCableBtnClicked() { mProgramHandle->NewCableRequest(); } int CCableTestPage::ResetCable() { //reset pins state visualization area ui->mInputTestVisualisationWidget->ClearConnectorsLists(); ui->mOutputTestVisualisationWidget->ClearConnectorsLists(); //Reset cable config zone ui->mIdentCableEditBox->setText(mDefaultCableName); ui->mNomTesteurEditBox->setText(mDefaultInspectorName); //Reset Inspection Visuelle result (main program will clear the form) SetVisualInspectionDone(false); //Clear connector selection zone ui->mConnectorSelectWidget->ClearAllConnectorsSelections(); return RET_OK; } int CCableTestPage::EnableStartTestBtn() { ui->mStartTestBtn->setEnabled(true); ui->mStartManualTestBtn->setEnabled(true); return RET_OK; } int CCableTestPage::DisableStartTestBtn() { ui->mStartTestBtn->setEnabled(false); ui->mStartManualTestBtn->setEnabled(false); return RET_OK; } int CCableTestPage::CableAutomaticTestStarted() { ui->mStartManualTestBtn->setEnabled(false); DisableGuiForTest(); ui->mStartTestBtn->setText("Pauser Test"); return RET_OK; } int CCableTestPage::CableAutomaticTestPaused() { ui->mStartTestBtn->setText("Reprendre Test"); return RET_OK; } int CCableTestPage::CableTestEnded() { EnableGuiAfterTest(); ui->mOutputTestVisualisationWidget->DisablePinClicks(); ui->mStartManualTestBtn->setEnabled(true); ui->mStartTestBtn->setEnabled(true); ui->mStartTestBtn->setText("Démarrer Test"); ui->mStartManualTestBtn->setText("Démarrer"); ui->mReinitTestBtn->setEnabled(true); return RET_OK; } int CCableTestPage::CableManualTestStarted() { ui->mStartTestBtn->setEnabled(false); ui->mOutputTestVisualisationWidget->EnablePinClicks(); DisableGuiForTest(); ui->mStartManualTestBtn->setText("Terminer"); ui->mReinitTestBtn->setEnabled(false); return RET_OK; } int CCableTestPage::DisableGuiForTest() { ui->mNewCableBtn->setEnabled(false); ui->mConnectorSelectWidget->setEnabled(false); ui->mIdentCableEditBox->setEnabled(false); ui->mExecInspVisuelleBtn->setEnabled(false); ui->mNomTesteurEditBox->setEnabled(false); ui->mTypeCableCombo->setEnabled(false); ui->mStationNameCombo->setEnabled(false); return RET_OK; } int CCableTestPage::EnableGuiAfterTest() { ui->mNewCableBtn->setEnabled(true); ui->mConnectorSelectWidget->setEnabled(true); ui->mIdentCableEditBox->setEnabled(true); ui->mExecInspVisuelleBtn->setEnabled(true); ui->mNomTesteurEditBox->setEnabled(true); ui->mTypeCableCombo->setEnabled(true); ui->mStationNameCombo->setEnabled(true); return RET_OK; } void CCableTestPage::OutputConnectorPinClicked(int PinNbr) { mProgramHandle->ManualPinToggleRequest(PinNbr); } void CCableTestPage::GuiRefreshTimerExpired() { mProgramHandle->RefreshConnectorsStateRequest(); } int CCableTestPage::SetOutputConnectorState(QBitArray PinStates) { return ui->mOutputTestVisualisationWidget->SetConnectorPinStates(PinStates); } int CCableTestPage::SetInputConnectorState(QBitArray PinStates) { return ui->mInputTestVisualisationWidget->SetConnectorPinStates(PinStates); } void CCableTestPage::showEvent(QShowEvent *event) { qDebug("Refresh timer started"); mGuiRefreshTimer.start(); } void CCableTestPage::hideEvent(QHideEvent *event) { qDebug("Refresh timer stopped"); mGuiRefreshTimer.stop(); } int CCableTestPage::FillReportCableParametersData(CCableParametersData *ReportPtr) { ReportPtr->SetCableParams(ui->mStationNameCombo->currentText(),ui->mIdentCableEditBox->text(),ui->mTypeCableCombo->currentText(),ui->mNomTesteurEditBox->text()); return RET_OK; }