added default settings for msr2data. Automatic opening of global fit files still missing
This commit is contained in:
@ -418,9 +418,9 @@ bool PAdminXMLParser::endDocument()
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
* <p>Report XML warnings.
|
||||
*
|
||||
* \param exception
|
||||
* \param exception holds the information of the XML warning
|
||||
*/
|
||||
bool PAdminXMLParser::warning( const QXmlParseException & exception )
|
||||
{
|
||||
@ -438,9 +438,9 @@ bool PAdminXMLParser::warning( const QXmlParseException & exception )
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
* <p>Report recoverable XML errors.
|
||||
*
|
||||
* \param exception
|
||||
* \param exception holds the information of the XML recoverable errors.
|
||||
*/
|
||||
bool PAdminXMLParser::error( const QXmlParseException & exception )
|
||||
{
|
||||
@ -458,9 +458,9 @@ bool PAdminXMLParser::error( const QXmlParseException & exception )
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
* <p>Report fatal XML errors.
|
||||
*
|
||||
* \param exception
|
||||
* \param exception holds the information of the XML fatal errors.
|
||||
*/
|
||||
bool PAdminXMLParser::fatalError( const QXmlParseException & exception )
|
||||
{
|
||||
|
@ -1705,11 +1705,12 @@ void PTextEdit::musrMsr2Data()
|
||||
if (fMsr2DataParam == 0) {
|
||||
fMsr2DataParam = new PMsr2DataParam();
|
||||
*fMsr2DataParam = fAdmin->getMsr2DataParam();
|
||||
// init fMsr2DataParam
|
||||
fMsr2DataParam->keepMinuit2Output = fKeepMinuit2Output;
|
||||
fMsr2DataParam->titleFromDataFile = fTitleFromDataFile;
|
||||
}
|
||||
|
||||
// init fMsr2DataParam
|
||||
fMsr2DataParam->keepMinuit2Output = fKeepMinuit2Output;
|
||||
fMsr2DataParam->titleFromDataFile = fTitleFromDataFile;
|
||||
|
||||
PMsr2DataDialog *dlg = new PMsr2DataDialog(fMsr2DataParam, fAdmin->getHelpUrl("msr2data"));
|
||||
|
||||
if (dlg == 0) {
|
||||
@ -1726,6 +1727,8 @@ void PTextEdit::musrMsr2Data()
|
||||
int i, end;
|
||||
|
||||
fMsr2DataParam = dlg->getMsr2DataParam();
|
||||
fKeepMinuit2Output = fMsr2DataParam->keepMinuit2Output;
|
||||
fTitleFromDataFile = fMsr2DataParam->titleFromDataFile;
|
||||
|
||||
// analyze parameters
|
||||
switch (dlg->getRunTag()) {
|
||||
|
@ -42,7 +42,6 @@
|
||||
<write_column_data>n</write_column_data>
|
||||
<recreate_data_file>n</recreate_data_file>
|
||||
<open_file_after_fitting>y</open_file_after_fitting>
|
||||
<take_data_file_title>y</take_data_file_title>
|
||||
<create_msr_file_only>n</create_msr_file_only>
|
||||
<fit_only>n</fit_only>
|
||||
<global>n</global>
|
||||
|
@ -93,6 +93,26 @@ bool PAdminXMLParser::startElement( const QString&, const QString&,
|
||||
fKeyWord = eMsrDefaultFilePath;
|
||||
} else if (qName == "help_main") {
|
||||
fKeyWord = eHelpMain;
|
||||
} 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") {
|
||||
@ -202,6 +222,76 @@ bool PAdminXMLParser::characters(const QString& str)
|
||||
help.replace("<", "<");
|
||||
fAdmin->setHelpMain(help);
|
||||
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.ascii()).stripWhiteSpace());
|
||||
break;
|
||||
@ -273,6 +363,66 @@ bool PAdminXMLParser::endDocument()
|
||||
return true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* \param exception
|
||||
*/
|
||||
bool PAdminXMLParser::warning( const QXmlParseException & exception )
|
||||
{
|
||||
QString msg;
|
||||
|
||||
msg = QString("**WARNING** while parsing musredit_startup.xml in line no %1\n").arg(exception.lineNumber());
|
||||
msg += QString("**WARNING MESSAGE** ") + exception.message() + QString("\n");
|
||||
|
||||
qWarning( msg.latin1() );
|
||||
|
||||
QMessageBox::warning(0, "WARNING", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* \param exception
|
||||
*/
|
||||
bool PAdminXMLParser::error( const QXmlParseException & exception )
|
||||
{
|
||||
QString msg;
|
||||
|
||||
msg = QString("**ERROR** while parsing musredit_startup.xml in line no %1\n").arg(exception.lineNumber());
|
||||
msg += QString("**ERROR MESSAGE** ") + exception.message() + QString("\n");
|
||||
|
||||
qWarning( msg.latin1() );
|
||||
|
||||
QMessageBox::critical(0, "ERROR", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* \param exception
|
||||
*/
|
||||
bool PAdminXMLParser::fatalError( const QXmlParseException & exception )
|
||||
{
|
||||
QString msg;
|
||||
|
||||
msg = QString("**FATAL ERROR** while parsing musredit_startup.xml in line no %1\n").arg(exception.lineNumber());
|
||||
msg += QString("**FATAL ERROR MESSAGE** ") + exception.message() + QString("\n");
|
||||
|
||||
qWarning( msg.latin1() );
|
||||
|
||||
QMessageBox::critical(0, "FATAL ERROR", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>Called at the end of the XML parse process.
|
||||
@ -332,6 +482,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 = "./musrgui_startup.xml";
|
||||
if (!QFile::exists(fln)) {
|
||||
@ -347,7 +516,12 @@ PAdmin::PAdmin()
|
||||
QXmlInputSource source( &xmlFile );
|
||||
QXmlSimpleReader reader;
|
||||
reader.setContentHandler( &handler );
|
||||
reader.parse( source );
|
||||
reader.setErrorHandler( &handler );
|
||||
if (!reader.parse( source )) {
|
||||
QMessageBox::critical(0, "ERROR",
|
||||
"Error parsing musredit_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
|
||||
QMessageBox::Ok, QMessageBox::NoButton);
|
||||
}
|
||||
} else {
|
||||
QMessageBox::critical(0, "ERROR",
|
||||
"Couldn't find the musrgui_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
|
||||
|
@ -37,6 +37,8 @@
|
||||
#include <qpixmap.h>
|
||||
#include <qxml.h>
|
||||
|
||||
#include "musrgui.h"
|
||||
|
||||
class PAdmin;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@ -60,7 +62,9 @@ class PAdminXMLParser : public QXmlDefaultHandler
|
||||
enum EAdminKeyWords {eEmpty, eFontName, eFontSize, eExecPath, eDefaultSavePath, eTitleFromDataFile, eEnableMusrT0,
|
||||
eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eMsrDefaultFilePath,
|
||||
eHelpMain, eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel,
|
||||
eFuncPixmap, eFuncParams};
|
||||
eFuncPixmap, eFuncParams,
|
||||
eChainFit, eWriteDataHeader, eSummaryFilesPresent, eKeepMinuit2Output, eWriteColumnData,
|
||||
eRecreateDataFile, eOpenFileAfterFitting, eCreateMsrFileOnly, eFitOnly, eGlobal};
|
||||
|
||||
bool startDocument();
|
||||
bool startElement( const QString&, const QString&, const QString& ,
|
||||
@ -70,6 +74,10 @@ class PAdminXMLParser : public QXmlDefaultHandler
|
||||
bool characters(const QString&);
|
||||
bool endDocument();
|
||||
|
||||
bool warning( const QXmlParseException & exception );
|
||||
bool error( const QXmlParseException & exception );
|
||||
bool fatalError( const QXmlParseException & exception );
|
||||
|
||||
QString expandPath(const QString&);
|
||||
|
||||
EAdminKeyWords fKeyWord;
|
||||
@ -100,6 +108,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; }
|
||||
@ -137,6 +146,8 @@ class PAdmin
|
||||
QString fFileFormat;
|
||||
bool fLifetimeCorrection;
|
||||
|
||||
mutable PMsr2DataParam fMsr2DataParam; ///< keeps msr2data default parameter flags
|
||||
|
||||
QString fHelpMain;
|
||||
|
||||
QValueVector<PTheory> fTheory;
|
||||
|
@ -1443,34 +1443,15 @@ void PTextEdit::musrFit()
|
||||
*/
|
||||
void PTextEdit::musrMsr2Data()
|
||||
{
|
||||
/*
|
||||
if ( !currentEditor() )
|
||||
return;
|
||||
*/
|
||||
|
||||
if (fMsr2DataParam == 0) {
|
||||
fMsr2DataParam = new PMsr2DataParam();
|
||||
// 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;
|
||||
*fMsr2DataParam = fAdmin->getMsr2DataParam();
|
||||
}
|
||||
|
||||
// init fMsr2DataParam
|
||||
fMsr2DataParam->keepMinuit2Output = fKeepMinuit2Output;
|
||||
fMsr2DataParam->titleFromDataFile = fTitleFromDataFile;
|
||||
|
||||
PMsr2DataDialog *dlg = new PMsr2DataDialog(fMsr2DataParam);
|
||||
|
||||
if (dlg->exec() == QDialog::Accepted) {
|
||||
@ -1482,6 +1463,8 @@ void PTextEdit::musrMsr2Data()
|
||||
int i, end;
|
||||
|
||||
fMsr2DataParam = dlg->getMsr2DataParam();
|
||||
fKeepMinuit2Output = fMsr2DataParam->keepMinuit2Output;
|
||||
fTitleFromDataFile = fMsr2DataParam->titleFromDataFile;
|
||||
|
||||
// analyze parameters
|
||||
switch (dlg->getRunTag()) {
|
||||
|
@ -27,6 +27,18 @@
|
||||
Starting with >= Qt4.2 this will be linked automatically but until then ...; sorry ;-)
|
||||
</help_main>
|
||||
</help_section>
|
||||
<msr2data_defaults>
|
||||
<chain_fit>y</chain_fit>
|
||||
<write_data_header>y</write_data_header>
|
||||
<summary_files_present>y</summary_files_present>
|
||||
<keep_minuit2_output>n</keep_minuit2_output>
|
||||
<write_column_data>n</write_column_data>
|
||||
<recreate_data_file>n</recreate_data_file>
|
||||
<open_file_after_fitting>y</open_file_after_fitting>
|
||||
<create_msr_file_only>n</create_msr_file_only>
|
||||
<fit_only>n</fit_only>
|
||||
<global>n</global>
|
||||
</msr2data_defaults>
|
||||
<func_pixmap_path>$HOME/analysis/musrfit/src/musrgui/latex_images</func_pixmap_path>
|
||||
<theory_functions>
|
||||
<func>
|
||||
|
Reference in New Issue
Block a user