bool UIGChooserItemMachine::isLockedMachine() const { KMachineState state = machineState(); return state != KMachineState_PoweredOff && state != KMachineState_Saved && state != KMachineState_Teleported && state != KMachineState_Aborted; }
void ExperimentController::toggleTempLogs(bool temperatureLogsState, bool debugTemperatureLogsState) { _settings.temperatureLogsState = temperatureLogsState; _settings.debugTemperatureLogsState = debugTemperatureLogsState; if (machineState() == IdleMachineState) { if (_settings.temperatureLogsState || _settings.debugTemperatureLogsState) { if (_settings.startTime == boost::posix_time::not_a_date_time) { _settings.startTime = boost::posix_time::microsec_clock::universal_time(); startLogging(); } } else stopLogging(); } }
ExperimentController::StartingResult ExperimentController::start(int experimentId) { if (OpticsInstance::getInstance()->lidOpen()) return LidIsOpen; Experiment experiment = _dbControl->getExperiment(experimentId); if (experiment.empty() || !experiment.protocol()) return ExperimentNotFound; else if (experiment.startedAt() != boost::posix_time::not_a_date_time) return ExperimentUsed; experiment.setStartedAt(boost::posix_time::microsec_clock::local_time()); if (machineState() != IdleMachineState) return MachineRunning; stopLogging(); { Poco::RWLock::ScopedWriteLock lock(*_machineMutex); _settings.temperatureLogsState = false; _settings.debugTemperatureLogsState = false; LidInstance::getInstance()->setTargetTemperature(experiment.protocol()->lidTemperature()); _dbControl->startExperiment(experiment); _machineState = LidHeatingMachineState; _experiment = std::move(experiment); LidInstance::getInstance()->setEnableMode(true); } startLogging(); return Started; }
QVariant UIGSelectorItemMachine::data(int iKey) const { /* Provide other members with required data: */ switch (iKey) { /* Layout hints: */ case MachineItemData_MachineItemMargin: return 4; case MachineItemData_MachineItemMajorSpacing: return 10; case MachineItemData_MachineItemMinorSpacing: return 4; case MachineItemData_MachineItemTextSpacing: return 2; /* Fonts: */ case MachineItemData_MachineNameFont: { QFont machineNameFont = qApp->font(); machineNameFont.setPointSize(machineNameFont.pointSize() + 1); machineNameFont.setWeight(QFont::Bold); return machineNameFont; } case MachineItemData_SnapshotNameFont: { QFont snapshotStateFont = qApp->font(); snapshotStateFont.setPointSize(snapshotStateFont.pointSize() + 1); return snapshotStateFont; } case MachineItemData_MachineStateTextFont: { QFont machineStateFont = qApp->font(); machineStateFont.setPointSize(machineStateFont.pointSize() + 1); return machineStateFont; } /* Sizes: */ case MachineItemData_MachinePixmapSize: return QSizeF(32, 32); case MachineItemData_MachineNameSize: { QFontMetrics fm(data(MachineItemData_MachineNameFont).value<QFont>()); return QSize(fm.width(data(MachineItemData_MachineName).toString()), fm.height()); } case MachineItemData_SnapshotNameSize: { QFontMetrics fm(data(MachineItemData_SnapshotNameFont).value<QFont>()); return QSize(fm.width(QString("(%1)").arg(data(MachineItemData_SnapshotName).toString())), fm.height()); } case MachineItemData_MachineStatePixmapSize: return QSizeF(16, 16); case MachineItemData_MachineStateTextSize: { QFontMetrics fm(data(MachineItemData_MachineStateTextFont).value<QFont>()); return QSize(fm.width(data(MachineItemData_MachineStateText).toString()), fm.height()); } /* Pixmaps: */ case MachineItemData_MachinePixmap: return osIcon(); case MachineItemData_MachineStatePixmap: return machineStateIcon(); /* Texts: */ case MachineItemData_MachineName: return name(); case MachineItemData_SnapshotName: return snapshotName(); case MachineItemData_MachineStateText: return gpConverter->toString(data(MachineItemData_MachineState).value<KMachineState>()); /* Other values: */ case MachineItemData_MachineId: return id(); case MachineItemData_MachineOSTypeId: return osTypeId(); case MachineItemData_MachineState: return QVariant::fromValue(machineState()); /* Default: */ default: break; } return QVariant(); }