From 186b83d34bb53cc07c07e2bf1d1f48a20819f66b Mon Sep 17 00:00:00 2001 From: nemu Date: Fri, 11 Sep 2009 12:37:01 +0000 Subject: [PATCH] some more options for msr2data added to the GUI --- src/musrgui/PFitOutputHandler.cpp | 5 +- src/musrgui/PMsr2DataDialog.cpp | 38 +++++++++++ src/musrgui/PMsr2DataDialog.h | 3 + src/musrgui/PTextEdit.cpp | 19 +++++- src/musrgui/forms/PMsr2DataDialogBase.ui | 85 +++++++++++++++++++----- src/musrgui/musrgui.h | 2 + 6 files changed, 132 insertions(+), 20 deletions(-) diff --git a/src/musrgui/PFitOutputHandler.cpp b/src/musrgui/PFitOutputHandler.cpp index 977e4724..eafd7c95 100644 --- a/src/musrgui/PFitOutputHandler.cpp +++ b/src/musrgui/PFitOutputHandler.cpp @@ -83,14 +83,15 @@ PFitOutputHandler::PFitOutputHandler(QString workingDirectory, QValueVectorisRunning()) { - qDebug("fProc still running"); +// qDebug("fProc still running"); fProc->kill(); } +/* if (fProc->isRunning()) { QString msg = "fProc still running ..."; qDebug(msg); } - +*/ if (fProc) { delete fProc; fProc = 0; diff --git a/src/musrgui/PMsr2DataDialog.cpp b/src/musrgui/PMsr2DataDialog.cpp index dfb6d988..03565db6 100644 --- a/src/musrgui/PMsr2DataDialog.cpp +++ b/src/musrgui/PMsr2DataDialog.cpp @@ -89,6 +89,8 @@ PMsr2DataDialog::PMsr2DataDialog(PMsr2DataParam *msr2DataParam) : fMsr2DataParam fChainFit_checkBox->setChecked(fMsr2DataParam->chainFit); fOpenAfterFitting_checkBox->setChecked(fMsr2DataParam->openFilesAfterFitting); fTitleFromData_checkBox->setChecked(fMsr2DataParam->titleFromDataFile); + fCreateMsrFileOnly_checkBox->setChecked(fMsr2DataParam->createMsrFileOnly); + fFitOnly_checkBox->setChecked(fMsr2DataParam->fitOnly); } //---------------------------------------------------------------------------------------------------- @@ -124,6 +126,8 @@ PMsr2DataParam* PMsr2DataDialog::getMsr2DataParam() fMsr2DataParam->chainFit = fChainFit_checkBox->isChecked(); fMsr2DataParam->openFilesAfterFitting = fOpenAfterFitting_checkBox->isChecked(); fMsr2DataParam->titleFromDataFile = fTitleFromData_checkBox->isChecked(); + fMsr2DataParam->createMsrFileOnly = fCreateMsrFileOnly_checkBox->isChecked(); + fMsr2DataParam->fitOnly = fFitOnly_checkBox->isChecked(); return fMsr2DataParam; } @@ -196,6 +200,40 @@ void PMsr2DataDialog::runListFileNameEntered(const QString &str) fRunListFileName_lineEdit->setText(str); } +//---------------------------------------------------------------------------------------------------- +/** + *

+ */ +void PMsr2DataDialog::templateRunEntered(const QString &str) +{ + if (!str.isEmpty()) + fFitOnly_checkBox->setChecked(false); + fTemplateRunNumber_lineEdit->setText(str); +} + +//---------------------------------------------------------------------------------------------------- +/** + *

+ */ +void PMsr2DataDialog::createMsrFileOnlyChanged(int buttonState) +{ + if (buttonState == QButton::On) { + fFitOnly_checkBox->setChecked(false); + } +} + +//---------------------------------------------------------------------------------------------------- +/** + *

+ */ +void PMsr2DataDialog::fitOnlyChanged(int buttonState) +{ + if (buttonState == QButton::On) { + fCreateMsrFileOnly_checkBox->setChecked(false); + fTemplateRunNumber_lineEdit->clear(); + } +} + //---------------------------------------------------------------------------------------------------- // END //---------------------------------------------------------------------------------------------------- diff --git a/src/musrgui/PMsr2DataDialog.h b/src/musrgui/PMsr2DataDialog.h index 47b9dcfb..24aad2f9 100644 --- a/src/musrgui/PMsr2DataDialog.h +++ b/src/musrgui/PMsr2DataDialog.h @@ -48,6 +48,9 @@ class PMsr2DataDialog : public PMsr2DataDialogBase void runLastEntered(const QString&); void runListEntered(const QString&); void runListFileNameEntered(const QString&); + void templateRunEntered(const QString&); + void createMsrFileOnlyChanged(int); + void fitOnlyChanged(int); private: int fRunTag; // -1 = not valid, 0 = first last, 1 = run list, 2 = run list file name diff --git a/src/musrgui/PTextEdit.cpp b/src/musrgui/PTextEdit.cpp index 737150c9..ace58a36 100644 --- a/src/musrgui/PTextEdit.cpp +++ b/src/musrgui/PTextEdit.cpp @@ -1394,6 +1394,8 @@ void PTextEdit::musrMsr2Data() fMsr2DataParam->chainFit = true; fMsr2DataParam->openFilesAfterFitting = false; fMsr2DataParam->titleFromDataFile = fTitleFromDataFile; + fMsr2DataParam->createMsrFileOnly = false; + fMsr2DataParam->fitOnly = false; } PMsr2DataDialog *dlg = new PMsr2DataDialog(fMsr2DataParam); @@ -1510,8 +1512,8 @@ void PTextEdit::musrMsr2Data() if (!fMsr2DataParam->summaryFilePresent) cmd.append("nosummary"); - // template run no - if (fMsr2DataParam->templateRunNo != -1) { + // template run no fitting but: (i) no fit only flag, (ii) no create msr-file only flag + if ((fMsr2DataParam->templateRunNo != -1) && !fMsr2DataParam->fitOnly && !fMsr2DataParam->createMsrFileOnly) { str = QString("%1").arg(fMsr2DataParam->templateRunNo); str = "fit-" + str; if (!fMsr2DataParam->chainFit) { @@ -1520,6 +1522,19 @@ void PTextEdit::musrMsr2Data() cmd.append(str); } + // template run no AND create msr-file only flag + if ((fMsr2DataParam->templateRunNo != -1) && fMsr2DataParam->createMsrFileOnly) { + str = QString("%1").arg(fMsr2DataParam->templateRunNo); + str = "msr-" + str; + cmd.append(str); + } + + // fit only + if (fMsr2DataParam->fitOnly) { + str = "fit"; + cmd.append(str); + } + // keep minuit2 output if (fMsr2DataParam->keepMinuit2Output) { cmd.append("-k"); diff --git a/src/musrgui/forms/PMsr2DataDialogBase.ui b/src/musrgui/forms/PMsr2DataDialogBase.ui index d4a7f78a..8c23084d 100644 --- a/src/musrgui/forms/PMsr2DataDialogBase.ui +++ b/src/musrgui/forms/PMsr2DataDialogBase.ui @@ -349,22 +349,6 @@ template run input - - - fTemplateRunNumber_lineEdit - - - - 170 - 27 - 140 - 24 - - - - e.g. 2089 - - fTemplateRunNumber_textLabel @@ -400,6 +384,22 @@ on: chain fit, off: always start from the template run + + + fTemplateRunNumber_lineEdit + + + + 170 + 27 + 140 + 24 + + + + e.g. 2089 + + @@ -591,6 +591,38 @@ Take Data File Title + + + fCreateMsrFileOnly_checkBox + + + + 400 + 50 + 160 + 22 + + + + Create msr-File Only + + + + + fFitOnly_checkBox + + + + 400 + 70 + 103 + 22 + + + + Fit Only + + @@ -635,6 +667,24 @@ PMsr2DataDialogBase runListFileNameEntered(const QString&) + + fCreateMsrFileOnly_checkBox + stateChanged(int) + PMsr2DataDialogBase + createMsrFileOnlyChanged(int) + + + fFitOnly_checkBox + stateChanged(int) + PMsr2DataDialogBase + fitOnlyChanged(int) + + + fTemplateRunNumber_lineEdit + textChanged(const QString&) + PMsr2DataDialogBase + templateRunEntered(const QString&) + fFirst_lineEdit @@ -659,6 +709,9 @@ runListEntered(const QString&) runListFileNameEntered(const QString&) runLastEntered(const QString&) + createMsrFileOnlyChanged(int) + fitOnlyChanged(int) + templateRunEntered(const QString&) diff --git a/src/musrgui/musrgui.h b/src/musrgui/musrgui.h index 98b52886..434e1b27 100644 --- a/src/musrgui/musrgui.h +++ b/src/musrgui/musrgui.h @@ -50,6 +50,8 @@ typedef struct { bool chainFit; bool openFilesAfterFitting; bool titleFromDataFile; + bool createMsrFileOnly; + bool fitOnly; } PMsr2DataParam; typedef struct {