/** * \brief display current exposure values are displayed */ void ExposureWidget::setExposure(const Exposure& exposure) { // display exposure window parameters ui->originxField->setText(QString().setNum(exposure.frame.origin().x())); ui->originyField->setText(QString().setNum(exposure.frame.origin().y())); ui->widthField->setText(QString().setNum(exposure.frame.size().width())); ui->heightField->setText(QString().setNum(exposure.frame.size().height())); // normalize the exposure to so that it fits into the constraints of // the exposure time spinner double exposuretime = exposure.exposuretime; exposuretime = trunc(1000. * exposuretime) / 1000.; if (exposuretime > 3600) { exposuretime = 3600; } if (exposuretime < EXPOSURE_MIN) { exposuretime = EXPOSURE_MIN; } ui->timeSpinBox->setValue(exposure.exposuretime); // find the right binning mode to display in the binning mode // combo box BinningSet modes = ccd->getInfo().modes(); BinningSet::const_iterator i; int binning_entry = 0; for (i = modes.begin(); i != modes.end(); i++) { if (exposure.mode == *i) { break; } binning_entry++; } ui->binningComboBox->setCurrentIndex(binning_entry); }
astro::camera::BinningSet convert(const BinningSet& binningset) { astro::camera::BinningSet result; for (auto ptr = binningset.begin(); ptr != binningset.end(); ptr++) { result.insert(convert(*ptr)); } return result; }