msr2data global option handling completed.

This commit is contained in:
suter_a 2010-06-28 17:26:18 +00:00
parent b99a75d156
commit f12b4a5520
4 changed files with 90 additions and 67 deletions

View File

@ -245,17 +245,6 @@ void PMsr2DataDialog::fitOnlyChanged(int buttonState)
} }
} }
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::globalChanged(int buttonState)
{
if (buttonState == QButton::On) {
fFitOnly_checkBox->setChecked(false);
}
}
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
// END // END
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------

View File

@ -51,7 +51,6 @@ class PMsr2DataDialog : public PMsr2DataDialogBase
void templateRunEntered(const QString&); void templateRunEntered(const QString&);
void createMsrFileOnlyChanged(int); void createMsrFileOnlyChanged(int);
void fitOnlyChanged(int); void fitOnlyChanged(int);
void globalChanged(int);
private: private:
int fRunTag; // -1 = not valid, 0 = first last, 1 = run list, 2 = run list file name int fRunTag; // -1 = not valid, 0 = first last, 1 = run list, 2 = run list file name

View File

@ -1639,48 +1639,27 @@ void PTextEdit::musrMsr2Data()
QFile *file; QFile *file;
QTextStream *stream; QTextStream *stream;
switch(dlg->getRunTag()) { if (!fMsr2DataParam->global) { // standard fits
case 0: // first run / last run list switch(dlg->getRunTag()) {
if (fMsr2DataParam->firstRun != -1) { case 0: // first run / last run list
for (int i=fMsr2DataParam->firstRun; i<=fMsr2DataParam->lastRun; i++) { if (fMsr2DataParam->firstRun != -1) {
if (fMsr2DataParam->msrFileExtension.isEmpty()) for (int i=fMsr2DataParam->firstRun; i<=fMsr2DataParam->lastRun; i++) {
fln = QString("%1").arg(i) + ".msr"; if (fMsr2DataParam->msrFileExtension.isEmpty())
else fln = QString("%1").arg(i) + ".msr";
fln = QString("%1").arg(i) + fMsr2DataParam->msrFileExtension + ".msr"; else
fln = QString("%1").arg(i) + fMsr2DataParam->msrFileExtension + ".msr";
load(fln); load(fln);
}
} }
} break;
break; case 1: // run list
case 1: // run list end = 0;
end = 0; while (!runList.section(' ', end, end).isEmpty()) {
while (!runList.section(' ', end, end).isEmpty()) { end++;
end++; }
} for (int i=0; i<end; i++) {
for (int i=0; i<end; i++) { fln = runList.section(' ', i, i);
fln = runList.section(' ', i, i);
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln += ".msr";
else
fln += fMsr2DataParam->msrFileExtension + ".msr";
load(fln);
}
break;
case 2: // run list file
file = new QFile(fMsr2DataParam->runListFileName);
if (!file->open(IO_ReadOnly)) {
str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName);
QMessageBox::critical(this, "**ERROR**", str.latin1(), QMessageBox::Ok, QMessageBox::NoButton);
return;
}
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.stripWhiteSpace();
if (!str.isEmpty() && !str.startsWith("#")) {
fln = str.section(' ', 0, 0);
if (fMsr2DataParam->msrFileExtension.isEmpty()) if (fMsr2DataParam->msrFileExtension.isEmpty())
fln += ".msr"; fln += ".msr";
else else
@ -1688,16 +1667,79 @@ void PTextEdit::musrMsr2Data()
load(fln); load(fln);
} }
} break;
case 2: // run list file
file = new QFile(fMsr2DataParam->runListFileName);
if (!file->open(IO_ReadOnly)) {
str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName);
QMessageBox::critical(this, "**ERROR**", str.latin1(), QMessageBox::Ok, QMessageBox::NoButton);
return;
}
file->close(); stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.stripWhiteSpace();
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", false)) {
fln = str.section(' ', 0, 0);
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln += ".msr";
else
fln += fMsr2DataParam->msrFileExtension + ".msr";
// clean up load(fln);
delete stream; }
delete file; }
break;
default: file->close();
break;
// clean up
delete stream;
delete file;
break;
default:
break;
}
} else { // global tag set
fln = QString("");
switch(dlg->getRunTag()) {
case 0: // first/last run
fln = QString("%1").arg(fMsr2DataParam->firstRun) + QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr");
break;
case 1: // run list
fln = runList.section(" ", 0, 0) + QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr");
break;
case 2: // run list file name
file = new QFile(fMsr2DataParam->runListFileName);
if (!file->open(IO_ReadOnly)) {
str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName);
QMessageBox::critical(this, "**ERROR**", str.latin1(), QMessageBox::Ok, QMessageBox::NoButton);
return;
}
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.stripWhiteSpace();
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", false)) {
fln = str.section(' ', 0, 0);
break;
}
}
file->close();
fln += QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr");
// clean up
delete stream;
delete file;
break;
default:
break;
}
load(fln);
} }
} }
} }

View File

@ -701,12 +701,6 @@
<receiver>PMsr2DataDialogBase</receiver> <receiver>PMsr2DataDialogBase</receiver>
<slot>templateRunEntered(const QString&amp;)</slot> <slot>templateRunEntered(const QString&amp;)</slot>
</connection> </connection>
<connection>
<sender>fGlobal_checkBox</sender>
<signal>stateChanged(int)</signal>
<receiver>PMsr2DataDialogBase</receiver>
<slot>globalChanged(int)</slot>
</connection>
</connections> </connections>
<tabstops> <tabstops>
<tabstop>fFirst_lineEdit</tabstop> <tabstop>fFirst_lineEdit</tabstop>
@ -738,7 +732,6 @@
<slot>createMsrFileOnlyChanged(int)</slot> <slot>createMsrFileOnlyChanged(int)</slot>
<slot>fitOnlyChanged(int)</slot> <slot>fitOnlyChanged(int)</slot>
<slot>templateRunEntered(const QString&amp;)</slot> <slot>templateRunEntered(const QString&amp;)</slot>
<slot>globalChanged(int)</slot>
</slots> </slots>
<layoutdefaults spacing="6" margin="11"/> <layoutdefaults spacing="6" margin="11"/>
</UI> </UI>