diff --git a/src/musredit/PAdmin.cpp b/src/musredit/PAdmin.cpp index 037a9667..3db17322 100644 --- a/src/musredit/PAdmin.cpp +++ b/src/musredit/PAdmin.cpp @@ -112,7 +112,27 @@ bool PAdminXMLParser::startElement( const QString&, const QString&, } else if (qName == "musr_web_statistic") { fKeyWord = eHelpStatistic; } else if (qName == "musr_web_msr2data") { - fKeyWord = eHelpMsr2Data; + fKeyWord = eHelpMsr2Data; + } else if (qName == "chain_fit") { + fKeyWord = eChainFit; + } else if (qName == "write_data_header") { + fKeyWord = eWriteDataHeader; + } else if (qName == "summary_files_present") { + fKeyWord = eSummaryFilesPresent; + } else if (qName == "keep_minuit2_output") { + fKeyWord = eKeepMinuit2Output; + } else if (qName == "write_column_data") { + fKeyWord = eWriteColumnData; + } else if (qName == "recreate_data_file") { + fKeyWord = eRecreateDataFile; + } else if (qName == "open_file_after_fitting") { + fKeyWord = eOpenFileAfterFitting; + } else if (qName == "create_msr_file_only") { + fKeyWord = eCreateMsrFileOnly; + } else if (qName == "fit_only") { + fKeyWord = eFitOnly; + } else if (qName == "global") { + fKeyWord = eGlobal; } else if (qName == "func_pixmap_path") { fKeyWord = eTheoFuncPixmapPath; } else if (qName == "func") { @@ -254,6 +274,76 @@ bool PAdminXMLParser::characters(const QString& str) case eHelpMsr2Data: fAdmin->setHelpUrl("msr2data", str); break; + case eChainFit: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.chainFit = flag; + break; + case eWriteDataHeader: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.writeDbHeader = flag; + break; + case eSummaryFilesPresent: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.summaryFilePresent = flag; + break; + case eKeepMinuit2Output: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.keepMinuit2Output = flag; + break; + case eWriteColumnData: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.writeColumnData = flag; + break; + case eRecreateDataFile: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.recreateDbFile = flag; + break; + case eOpenFileAfterFitting: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.openFilesAfterFitting = flag; + break; + case eCreateMsrFileOnly: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.createMsrFileOnly = flag; + break; + case eFitOnly: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.fitOnly = flag; + break; + case eGlobal: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->fMsr2DataParam.global = flag; + break; case eTheoFuncPixmapPath: fAdmin->setTheoFuncPixmapPath(QString(str.toLatin1()).trimmed()); break; @@ -386,6 +476,25 @@ PAdmin::PAdmin() fEnableMusrT0 = false; fLifetimeCorrection = true; + fMsr2DataParam.firstRun = -1; + fMsr2DataParam.lastRun = -1; + fMsr2DataParam.runList = QString(""); + fMsr2DataParam.runListFileName = QString(""); + fMsr2DataParam.msrFileExtension = QString(""); + fMsr2DataParam.templateRunNo = -1; + fMsr2DataParam.dbOutputFileName = QString(""); + fMsr2DataParam.writeDbHeader = true; + fMsr2DataParam.summaryFilePresent = true; + fMsr2DataParam.keepMinuit2Output = false; + fMsr2DataParam.writeColumnData = false; + fMsr2DataParam.recreateDbFile = false; + fMsr2DataParam.chainFit = true; + fMsr2DataParam.openFilesAfterFitting = true; + fMsr2DataParam.titleFromDataFile = true; + fMsr2DataParam.createMsrFileOnly = false; + fMsr2DataParam.fitOnly = false; + fMsr2DataParam.global = false; + // XML Parser part QString fln = "./musredit_startup.xml"; if (!QFile::exists(fln)) { diff --git a/src/musredit/PAdmin.h b/src/musredit/PAdmin.h index 9bb6dc74..d2d037d2 100644 --- a/src/musredit/PAdmin.h +++ b/src/musredit/PAdmin.h @@ -38,6 +38,8 @@ #include #include +#include + class PAdmin; //--------------------------------------------------------------------------- @@ -72,7 +74,9 @@ class PAdminXMLParser : public QXmlDefaultHandler eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eMsrDefaultFilePath, eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel, eFuncPixmap, eFuncParams, eHelpMain, eHelpTitle, eHelpParameters, eHelpTheory, eHelpFunctions, - eHelpRun, eHelpCommand, eHelpFourier, eHelpPlot, eHelpStatistic, eHelpMsr2Data}; + eHelpRun, eHelpCommand, eHelpFourier, eHelpPlot, eHelpStatistic, eHelpMsr2Data, + eChainFit, eWriteDataHeader, eSummaryFilesPresent, eKeepMinuit2Output, eWriteColumnData, + eRecreateDataFile, eOpenFileAfterFitting, eCreateMsrFileOnly, eFitOnly, eGlobal}; bool startDocument(); bool startElement( const QString&, const QString&, const QString& , @@ -119,6 +123,7 @@ class PAdmin QString getTheoFuncPixmapPath() { return fTheoFuncPixmapPath; } unsigned int getTheoryCounts() { return fTheory.size(); } PTheory* getTheoryItem(const unsigned int idx); + PMsr2DataParam getMsr2DataParam() { return fMsr2DataParam; } void setFontName(const QString str) { fFontName = str; } void setFontSize(const int ival) { fFontSize = ival; } @@ -156,6 +161,8 @@ class PAdmin QString fFileFormat; ///< default file format. Used to generate default run header lines. bool fLifetimeCorrection; ///< flag indicating if by default the lifetime-correction-flag in a single histo file shall be set. + mutable PMsr2DataParam fMsr2DataParam; ///< keeps msr2data default parameter flags + QMap fHelpUrl; ///< maps tag to help url QVector fTheory; ///< stores all known theories. Needed when generating theory blocks from within musredit. diff --git a/src/musredit/PMsr2DataDialog.cpp b/src/musredit/PMsr2DataDialog.cpp index a1d4fa9e..3db719dc 100644 --- a/src/musredit/PMsr2DataDialog.cpp +++ b/src/musredit/PMsr2DataDialog.cpp @@ -287,6 +287,7 @@ void PMsr2DataDialog::globalChanged(int buttonState) { if (buttonState == Qt::Checked) { fFitOnly_checkBox->setChecked(false); + fOpenFilesAfterFitting_checkBox->setChecked(false); } } diff --git a/src/musredit/PTextEdit.cpp b/src/musredit/PTextEdit.cpp index 726d86b8..e25d74e0 100644 --- a/src/musredit/PTextEdit.cpp +++ b/src/musredit/PTextEdit.cpp @@ -1704,25 +1704,10 @@ void PTextEdit::musrMsr2Data() { if (fMsr2DataParam == 0) { fMsr2DataParam = new PMsr2DataParam(); + *fMsr2DataParam = fAdmin->getMsr2DataParam(); // init fMsr2DataParam - fMsr2DataParam->firstRun = -1; - fMsr2DataParam->lastRun = -1; - fMsr2DataParam->runList = QString(""); - fMsr2DataParam->runListFileName = QString(""); - fMsr2DataParam->msrFileExtension = QString(""); - fMsr2DataParam->templateRunNo = -1; - fMsr2DataParam->dbOutputFileName = QString(""); - fMsr2DataParam->writeDbHeader = false; - fMsr2DataParam->summaryFilePresent = false; fMsr2DataParam->keepMinuit2Output = fKeepMinuit2Output; - fMsr2DataParam->writeColumnData = false; - fMsr2DataParam->recreateDbFile = false; - fMsr2DataParam->chainFit = true; - fMsr2DataParam->openFilesAfterFitting = false; fMsr2DataParam->titleFromDataFile = fTitleFromDataFile; - fMsr2DataParam->createMsrFileOnly = false; - fMsr2DataParam->fitOnly = false; - fMsr2DataParam->global = false; } PMsr2DataDialog *dlg = new PMsr2DataDialog(fMsr2DataParam, fAdmin->getHelpUrl("msr2data")); diff --git a/src/musredit/musredit_startup.xml b/src/musredit/musredit_startup.xml index 2f09630f..49c5ad9d 100644 --- a/src/musredit/musredit_startup.xml +++ b/src/musredit/musredit_startup.xml @@ -8,7 +8,7 @@ $ROOTSYS/bin ./ $HOME/analysis/musrfit/src/musredit - n + y n @@ -34,6 +34,19 @@ root-npp y + + y + y + y + n + n + n + y + y + n + n + n + $HOME/analysis/musrfit/src/musredit/latex_images