B9Print::B9Print(B9Terminal *pTerm, QWidget *parent) : QDialog(parent), ui(new Ui::B9Print) { m_pTerminal = pTerm; if(m_pTerminal == NULL) qFatal("FATAL Call to B9Creator with null B9Terminal Pointer"); ui->setupUi(this); //清除旧信息 ui->lineEditSerialStatus->setText(""); ui->lineEditProjectorOutput->setText(""); m_iTbase = m_iTover = 0; m_iTattach = 0; m_iNumAttach = 1; m_iXOff = m_iYOff =0; m_iPrintState = PRINT_NO; m_iPaused = PAUSE_NO; m_bAbort = false; m_sAbortMessage = "Unknown Abort"; m_iCurLayerNumber = 0; m_dLayerThickness = 0.0; m_iLastLayer = 0; connect(m_pTerminal, SIGNAL(updateConnectionStatus(QString)), this, SLOT(on_updateConnectionStatus(QString))); connect(m_pTerminal, SIGNAL(updateProjectorOutput(QString)), this, SLOT(on_updateProjectorOutput(QString))); connect(m_pTerminal, SIGNAL(updateProjectorStatus(QString)), this, SLOT(on_updateProjectorStatus(QString))); connect(m_pTerminal, SIGNAL(updateProjector(B9PrinterStatus::ProjectorStatus)), this, SLOT(on_updateProjector(B9PrinterStatus::ProjectorStatus))); connect(m_pTerminal, SIGNAL(signalAbortPrint(QString)), this, SLOT(on_pushButtonAbort_clicked(QString))); connect(m_pTerminal, SIGNAL(PrintReleaseCycleFinished()), this, SLOT(exposeTBaseLayer())); connect(m_pTerminal, SIGNAL(pausePrint()), this, SLOT(on_pushButtonPauseResume_clicked())); connect(m_pTerminal, SIGNAL(sendStatusMsg(QString)),this, SLOT(setProjMessage(QString))); QString sTime = QDateTime::currentDateTime().toString("hh:mm"); ui->lcdNumberTime->setDigitCount(9); ui->lcdNumberTime->display(sTime); }
void B9Terminal::onBC_ProjStatusChanged() { QString sText = "UNKNOWN"; switch (pPrinterComm->getProjectorStatus()){ case B9PrinterStatus::PS_OFF: ui->pushButtonProjPower->setEnabled(true); sText = "OFF"; break; case B9PrinterStatus::PS_TURNINGON: ui->pushButtonProjPower->setEnabled(false); sText = "TURN ON"; break; case B9PrinterStatus::PS_WARMING: ui->pushButtonProjPower->setEnabled(true); sText = "WARM UP"; break; case B9PrinterStatus::PS_ON: ui->pushButtonProjPower->setEnabled(true); emit(ProjectorIsOn()); sText = "ON"; break; case B9PrinterStatus::PS_COOLING: ui->pushButtonProjPower->setEnabled(false); sText = "COOL DN"; break; case B9PrinterStatus::PS_TIMEOUT: ui->pushButtonProjPower->setEnabled(false); sText = "TIMEOUT"; if(!isEnabled())emit signalAbortPrint("Timed out while attempting to turn on projector. Check Projector's Power Cord and RS-232 cable."); break; case B9PrinterStatus::PS_FAIL: ui->pushButtonProjPower->setEnabled(false); sText = "FAIL"; if(!isEnabled())emit signalAbortPrint("Lost Communications with Projector. Possible Causes: Manually powered off, Power Failure, Cord Disconnected or Projector Lamp Failure"); break; case B9PrinterStatus::PS_UNKNOWN: ui->pushButtonProjPower->setEnabled(true); default: sText = "UNKNOWN"; break; } // Update the power button state if(pPrinterComm->isProjectorPowerCmdOn()){ pProjector->show(); activateWindow(); ui->pushButtonProjPower->setChecked(true); ui->pushButtonProjPower->setText("ON"); } else{ pProjector->hide(); activateWindow(); ui->pushButtonProjPower->setChecked(false); ui->pushButtonProjPower->setText("OFF"); } if(!isEnabled())emit sendStatusMsg("B9Creator - Projector status: "+sText); if(!isEnabled())emit updateProjectorStatus(sText); if(!isEnabled())emit updateProjector(pPrinterComm->getProjectorStatus()); ui->lineEditProjState->setText(sText); sText = "UNKNOWN"; int iLH = pPrinterComm->getLampHrs(); if(iLH >= 0 && (pPrinterComm->getProjectorStatus()==B9PrinterStatus::PS_ON|| pPrinterComm->getProjectorStatus()==B9PrinterStatus::PS_WARMING|| pPrinterComm->getProjectorStatus()==B9PrinterStatus::PS_COOLING))sText = QString::number(iLH); ui->lineEditLampHrs->setText(sText); }