Newer
Older
Federico Montesino Pouzols
committed
std::vector<bool> EnggDiffractionViewQtGUI::focusingBanks() const {
std::vector<bool> res;
res.push_back(m_uiTabFocus.checkBox_focus_bank1->isChecked());
res.push_back(m_uiTabFocus.checkBox_focus_bank2->isChecked());
Federico Montesino Pouzols
committed
return res;
}
std::string EnggDiffractionViewQtGUI::focusingCroppedSpectrumIDs() const {
return m_uiTabFocus.lineEdit_cropped_spec_ids->text().toStdString();
}
std::string EnggDiffractionViewQtGUI::focusingTextureGroupingFile() const {
return m_uiTabFocus.lineEdit_texture_grouping_file->text().toStdString();
Federico Montesino Pouzols
committed
}
bool EnggDiffractionViewQtGUI::focusedOutWorkspace() const {
return m_uiTabFocus.checkBox_FocusedWS->checkState();
bool EnggDiffractionViewQtGUI::plotCalibWorkspace() const {
return m_uiTabCalib.checkBox_PlotData_Calib->checkState();
}
bool EnggDiffractionViewQtGUI::saveFocusedOutputFiles() const {
return m_uiTabFocus.checkBox_SaveOutputFiles->checkState();
}
void EnggDiffractionViewQtGUI::plotFocusStatus() {
if (focusedOutWorkspace()) {
m_uiTabFocus.comboBox_PlotData->setEnabled(true);
} else {
m_uiTabFocus.comboBox_PlotData->setEnabled(false);
}
}
void EnggDiffractionViewQtGUI::updateCroppedCalibRun() {
auto ceria = m_uiTabCalib.lineEdit_new_ceria_num->getText();
m_uiTabCalib.lineEdit_cropped_run_num->setText(ceria);
void EnggDiffractionViewQtGUI::calibSpecIdChanged(int /*idx*/) {
QComboBox *BankName = m_uiTabCalib.comboBox_calib_cropped_bank_name;
if (!BankName)
return;
m_currentCropCalibBankName = BankName->currentIndex();
}
void EnggDiffractionViewQtGUI::enableSpecIds() {
if (m_currentCropCalibBankName == 0)
m_uiTabCalib.lineEdit_cropped_spec_ids->setEnabled(true);
else
m_uiTabCalib.lineEdit_cropped_spec_ids->setDisabled(true);
std::string EnggDiffractionViewQtGUI::currentCalibSpecNos() const {
return m_uiTabCalib.lineEdit_cropped_spec_ids->text().toStdString();
void EnggDiffractionViewQtGUI::multiRunModeChanged(int /*idx*/) {
QComboBox *plotType = m_uiTabFocus.comboBox_Multi_Runs;
if (!plotType)
return;
m_currentRunMode = plotType->currentIndex();
}
void EnggDiffractionViewQtGUI::plotRepChanged(int /*idx*/) {
QComboBox *plotType = m_uiTabFocus.comboBox_PlotData;
if (!plotType)
return;
m_currentType = plotType->currentIndex();
}
void EnggDiffractionViewQtGUI::instrumentChanged(int /*idx*/) {
QComboBox *inst = m_ui.comboBox_instrument;
if (!inst)
return;
m_currentInst = inst->currentText().toStdString();
m_presenter->notify(IEnggDiffractionPresenter::InstrumentChange);
}
void EnggDiffractionViewQtGUI::RBNumberChanged() {
m_presenter->notify(IEnggDiffractionPresenter::RBNumberChange);
}
void EnggDiffractionViewQtGUI::userSelectInstrument(const QString &prefix) {
// Set file browsing to current instrument
setPrefix(prefix.toStdString());
}
void EnggDiffractionViewQtGUI::setPrefix(std::string prefix) {
QString prefixInput = QString::fromStdString(prefix);
// focus tab
m_uiTabFocus.lineEdit_run_num->setInstrumentOverride(prefixInput);
m_uiTabFocus.lineEdit_texture_run_num->setInstrumentOverride(prefixInput);
m_uiTabFocus.lineEdit_cropped_run_num->setInstrumentOverride(prefixInput);
// calibration tab
m_uiTabCalib.lineEdit_new_ceria_num->setInstrumentOverride(prefixInput);
m_uiTabCalib.lineEdit_new_vanadium_num->setInstrumentOverride(prefixInput);
// rebin tab
m_uiTabPreproc.MWRunFiles_preproc_run_num->setInstrumentOverride(prefixInput);
m_uiTabCalib.lineEdit_cropped_run_num->setInstrumentOverride(prefixInput);
void EnggDiffractionViewQtGUI::closeEvent(QCloseEvent *event) {
int answer = QMessageBox::AcceptRole;
QMessageBox msgBox;
Federico Montesino Pouzols
committed
if (false /* TODO: get this from user settings if eventually used */) {
msgBox.setWindowTitle("Close the engineering diffraction interface");
// with something like this, we'd have layout issues:
// msgBox.setStandardButtons(QMessageBox::No | QMessageBox::Yes);
// msgBox.setDefaultButton(QMessageBox::Yes);
msgBox.setIconPixmap(QPixmap(":/win/unknown.png"));
QCheckBox confirmCheckBox("Always ask for confirmation", &msgBox);
confirmCheckBox.setCheckState(Qt::Checked);
msgBox.layout()->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
msgBox.layout()->addWidget(&confirmCheckBox);
QPushButton *bYes = msgBox.addButton("Yes", QMessageBox::YesRole);
bYes->setIcon(style()->standardIcon(QStyle::SP_DialogYesButton));
QPushButton *bNo = msgBox.addButton("No", QMessageBox::NoRole);
bNo->setIcon(style()->standardIcon(QStyle::SP_DialogNoButton));
msgBox.setDefaultButton(bNo);
msgBox.setText("You are about to close this interface");
msgBox.setInformativeText("Are you sure?");
answer = msgBox.exec();
}
Federico Montesino Pouzols
committed
if (answer == QMessageBox::AcceptRole && m_ui.pushButton_close->isEnabled()) {
m_presenter->notify(IEnggDiffractionPresenter::ShutDown);
event->accept();
} else {
event->ignore();
}
}
void EnggDiffractionViewQtGUI::openHelpWin() {
MantidQt::API::HelpWindow::showCustomInterface(
NULL, QString("Engineering_Diffraction"));
}
} // namespace CustomInterfaces
} // namespace MantidQt