newly added. Essentially a port of musrgui (Qt3.x) to Qt4.6. A lot of revisioning is still nedded. Code only partilly working.

This commit is contained in:
nemu 2010-01-28 05:52:15 +00:00
parent 3b3521eccf
commit f21d5eb2d0
114 changed files with 14735 additions and 0 deletions

374
src/musredit/PAdmin.cpp Normal file
View File

@ -0,0 +1,374 @@
/****************************************************************************
PAdmin.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <cstdlib>
#include <QMessageBox>
#include "PAdmin.h"
//--------------------------------------------------------------------------
// implementation of PAdminXMLParser class
//--------------------------------------------------------------------------
/**
* <p>XML Parser class for the musredit administration file.
*
* \param admin pointer to an admin class instance.
*/
PAdminXMLParser::PAdminXMLParser(PAdmin *admin) : fAdmin(admin)
{
fKeyWord = eEmpty;
fFunc = false;
}
//--------------------------------------------------------------------------
/**
* <p>Routine called at the beginning of the XML parsing process.
*/
bool PAdminXMLParser::startDocument()
{
return true;
}
//--------------------------------------------------------------------------
/**
* <p>Routine called when a new XML tag is found. Here it is used
* to set a tag for filtering afterwards the content.
*
* \param qName name of the XML tag.
*/
bool PAdminXMLParser::startElement( const QString&, const QString&,
const QString& qName,
const QXmlAttributes& )
{
if (qName == "font_name") {
fKeyWord = eFontName;
} else if (qName == "font_size") {
fKeyWord = eFontSize;
} else if (qName == "exec_path") {
fKeyWord = eExecPath;
} else if (qName == "default_save_path") {
fKeyWord = eDefaultSavePath;
} else if (qName == "title_from_data_file") {
fKeyWord = eTitleFromDataFile;
} else if (qName == "enable_musrt0") {
fKeyWord = eEnableMusrT0;
} else if (qName == "beamline") {
fKeyWord = eBeamline;
} else if (qName == "institute") {
fKeyWord = eInstitute;
} else if (qName == "file_format") {
fKeyWord = eFileFormat;
} else if (qName == "lifetime_correction") {
fKeyWord = eLifetimeCorrection;
} else if (qName == "msr_default_file_path") {
fKeyWord = eMsrDefaultFilePath;
} else if (qName == "help_main") {
fKeyWord = eHelpMain;
} else if (qName == "func_pixmap_path") {
fKeyWord = eTheoFuncPixmapPath;
} else if (qName == "func") {
fKeyWord = eFunc;
fFunc = true;
// init theory item
fTheoryItem.name = "";
fTheoryItem.comment = "";
fTheoryItem.label = "";
fTheoryItem.pixmapName = "";
fTheoryItem.pixmap = 0;
fTheoryItem.params = -1;
} else if (qName == "name") {
fKeyWord = eFuncName;
} else if (qName == "comment") {
fKeyWord = eFuncComment;
} else if (qName == "label") {
fKeyWord = eFuncLabel;
} else if (qName == "pixmap") {
fKeyWord = eFuncPixmap;
} else if (qName == "params") {
fKeyWord = eFuncParams;
}
return true;
}
//--------------------------------------------------------------------------
/**
* <p>Routine called when the end XML tag is found. It is used to
* put the filtering tag to 'empty'.
*/
bool PAdminXMLParser::endElement( const QString&, const QString&, const QString &qName )
{
fKeyWord = eEmpty;
if (qName == "func") {
fFunc = false;
fAdmin->addTheoryItem(fTheoryItem);
}
return true;
}
//--------------------------------------------------------------------------
/**
* <p>This routine delivers the content of an XML tag. It fills the
* content into the load data structure.
*/
bool PAdminXMLParser::characters(const QString& str)
{
QString help;
bool flag, ok;
int ival;
switch (fKeyWord) {
case eFontName:
fAdmin->setFontName(QString(str.toLatin1()).trimmed());
break;
case eFontSize:
ival = QString(str.toLatin1()).trimmed().toInt(&ok);
if (ok)
fAdmin->setFontSize(ival);
break;
case eExecPath:
fAdmin->setExecPath(QString(str.toLatin1()).trimmed());
break;
case eDefaultSavePath:
fAdmin->setDefaultSavePath(QString(str.toLatin1()).trimmed());
break;
case eTitleFromDataFile:
if (str == "y")
flag = true;
else
flag = false;
fAdmin->setTitleFromDataFileFlag(flag);
break;
case eEnableMusrT0:
if (str == "y")
flag = true;
else
flag = false;
fAdmin->setEnableMusrT0Flag(flag);
break;
case eBeamline:
fAdmin->setBeamline(QString(str.toLatin1()).trimmed());
break;
case eInstitute:
fAdmin->setInstitute(QString(str.toLatin1()).trimmed());
break;
case eFileFormat:
fAdmin->setFileFormat(QString(str.toLatin1()).trimmed());
break;
case eLifetimeCorrection:
if (str == "y")
flag = true;
else
flag = false;
fAdmin->setLifetimeCorrectionFlag(flag);
break;
case eMsrDefaultFilePath:
fAdmin->setMsrDefaultFilePath(QString(str.toLatin1()).trimmed());
break;
case eHelpMain:
help = str;
help.replace("&gt;", ">");
help.replace("&lt;", "<");
fAdmin->setHelpMain(help);
break;
case eTheoFuncPixmapPath:
fAdmin->setTheoFuncPixmapPath(QString(str.toLatin1()).trimmed());
break;
default:
break;
}
if (fFunc) {
bool ok;
switch (fKeyWord) {
case eFuncName:
fTheoryItem.name = QString(str.toLatin1()).trimmed();
break;
case eFuncComment:
fTheoryItem.comment = QString(str.toLatin1()).trimmed();
break;
case eFuncLabel:
fTheoryItem.label = QString(str.toLatin1()).trimmed();
break;
case eFuncPixmap:
fTheoryItem.pixmapName = QString(str.toLatin1()).trimmed();
break;
case eFuncParams:
fTheoryItem.params = str.toInt(&ok);
if (!ok)
return false;
break;
default:
break;
}
}
return true;
}
//--------------------------------------------------------------------------
/**
* <p>Called at the end of the XML parse process.
*/
bool PAdminXMLParser::endDocument()
{
// check if all necessary items are found
QString str;
if (fAdmin->getExecPath().indexOf('$') >= 0) {
str = expandPath(fAdmin->getExecPath());
if (!str.isEmpty())
fAdmin->setExecPath(str);
}
if (fAdmin->getDefaultSavePath().indexOf('$') >= 0) {
str = expandPath(fAdmin->getDefaultSavePath());
if (!str.isEmpty())
fAdmin->setDefaultSavePath(str);
}
if (fAdmin->getMsrDefaultFilePath().indexOf('$') >= 0) {
str = expandPath(fAdmin->getMsrDefaultFilePath());
if (!str.isEmpty())
fAdmin->setMsrDefaultFilePath(str);
}
if (fAdmin->getTheoFuncPixmapPath().indexOf('$') >=0) {
str = expandPath(fAdmin->getTheoFuncPixmapPath());
if (!str.isEmpty())
fAdmin->setTheoFuncPixmapPath(str);
}
return true;
}
//--------------------------------------------------------------------------
/**
* <p>Called at the end of the XML parse process.
*/
QString PAdminXMLParser::expandPath(const QString &str)
{
QString token;
QString path;
QString msg;
QString newStr="";
QStringList list = str.split("/");
for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) {
token = *it;
if (token.contains("$")) {
token.remove('$');
path = std::getenv(token.toLatin1());
if (path.isEmpty()) {
msg = QString("Couldn't expand '%1'. Some things might not work properly").arg(token);
QMessageBox::warning(0, "**WARNING**", msg, QMessageBox::Ok, QMessageBox::NoButton);
newStr = "";
break;
}
newStr += path;
} else {
newStr += "/" + token;
}
}
return newStr;
}
//--------------------------------------------------------------------------
// implementation of PAdmin class
//--------------------------------------------------------------------------
/**
* <p>
*/
PAdmin::PAdmin()
{
fFontName = QString("Courier"); // default font
fFontSize = 11; // default font size
fExecPath = QString("");
fDefaultSavePath = QString("");
fMsrDefaultFilePath = QString("");
fTheoFuncPixmapPath = QString("");
fBeamline = QString("");
fInstitute = QString("");
fFileFormat = QString("");
fHelpMain = QString("");
fTitleFromDataFile = false;
fEnableMusrT0 = false;
fLifetimeCorrection = true;
// XML Parser part
QString fln = "./musredit_startup.xml";
if (!QFile::exists(fln)) {
QString path = std::getenv("MUSRFITPATH");
QString rootsys = std::getenv("ROOTSYS");
if (path.isEmpty())
path = rootsys + "/bin";
fln = path + "/musredit_startup.xml";
}
if (QFile::exists(fln)) { // administration file present
PAdminXMLParser handler(this);
QFile xmlFile(fln);
QXmlInputSource source( &xmlFile );
QXmlSimpleReader reader;
reader.setContentHandler( &handler );
reader.parse( source );
} else {
QMessageBox::critical(0, "ERROR",
"Couldn't find the musredit_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
QMessageBox::Ok, QMessageBox::NoButton);
}
}
//--------------------------------------------------------------------------
// implementation of PAdmin class
//--------------------------------------------------------------------------
/**
* <p>
*/
PTheory* PAdmin::getTheoryItem(const unsigned int idx)
{
if (idx > (unsigned int)fTheory.size())
return 0;
else
return &fTheory[idx];
}
//--------------------------------------------------------------------------
// END
//--------------------------------------------------------------------------

145
src/musredit/PAdmin.h Normal file
View File

@ -0,0 +1,145 @@
/****************************************************************************
PAdmin.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PADMIN_H_
#define _PADMIN_H_
#include <QString>
#include <QVector>
#include <QPixmap>
#include <QtXml>
class PAdmin;
//---------------------------------------------------------------------------
typedef struct {
QString name;
QString comment;
QString label;
QString pixmapName;
QPixmap pixmap;
int params;
} PTheory;
//---------------------------------------------------------------------------
class PAdminXMLParser : public QXmlDefaultHandler
{
public:
PAdminXMLParser(PAdmin*);
virtual ~PAdminXMLParser() {}
private:
enum EAdminKeyWords {eEmpty, eFontName, eFontSize, eExecPath, eDefaultSavePath, eTitleFromDataFile, eEnableMusrT0,
eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eMsrDefaultFilePath,
eHelpMain, eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel,
eFuncPixmap, eFuncParams};
bool startDocument();
bool startElement( const QString&, const QString&, const QString& ,
const QXmlAttributes& );
bool endElement( const QString&, const QString&, const QString& );
bool characters(const QString&);
bool endDocument();
QString expandPath(const QString&);
EAdminKeyWords fKeyWord;
bool fFunc;
PTheory fTheoryItem;
PAdmin *fAdmin;
};
//---------------------------------------------------------------------------
class PAdmin
{
public:
PAdmin();
virtual ~PAdmin() {}
QString getFontName() { return fFontName; }
int getFontSize() { return fFontSize; }
QString getExecPath() { return fExecPath; }
QString getDefaultSavePath() { return fDefaultSavePath; }
bool getTitleFromDataFileFlag() { return fTitleFromDataFile; }
bool getEnableMusrT0Flag() { return fEnableMusrT0; }
QString getBeamline() { return fBeamline; }
QString getInstitute() { return fInstitute; }
QString getFileFormat() { return fFileFormat; }
bool getLifetimeCorrectionFlag() { return fLifetimeCorrection; }
QString getMsrDefaultFilePath() { return fMsrDefaultFilePath; }
QString getHelpMain() { return fHelpMain; }
QString getTheoFuncPixmapPath() { return fTheoFuncPixmapPath; }
unsigned int getTheoryCounts() { return fTheory.size(); }
PTheory* getTheoryItem(const unsigned int idx);
void setFontName(const QString str) { fFontName = str; }
void setFontSize(const int ival) { fFontSize = ival; }
protected:
void setExecPath(const QString str) { fExecPath = str; }
void setDefaultSavePath(const QString str) { fDefaultSavePath = str; }
void setTitleFromDataFileFlag(const bool flag) { fTitleFromDataFile = flag; }
void setEnableMusrT0Flag(const bool flag) { fEnableMusrT0 = flag; }
void setBeamline(const QString str) { fBeamline = str; }
void setInstitute(const QString str) { fInstitute = str; }
void setFileFormat(const QString str) { fFileFormat = str; }
void setLifetimeCorrectionFlag(const bool flag) { fLifetimeCorrection = flag; }
void setMsrDefaultFilePath(const QString str) { fMsrDefaultFilePath = str; }
void setHelpMain(const QString str) { fHelpMain = str; }
void setTheoFuncPixmapPath (const QString str) { fTheoFuncPixmapPath = str; }
void addTheoryItem(const PTheory theo) { fTheory.push_back(theo); }
private:
friend class PAdminXMLParser;
QString fFontName;
int fFontSize;
QString fExecPath;
QString fDefaultSavePath;
QString fMsrDefaultFilePath;
QString fTheoFuncPixmapPath;
bool fTitleFromDataFile;
bool fEnableMusrT0;
QString fBeamline;
QString fInstitute;
QString fFileFormat;
bool fLifetimeCorrection;
QString fHelpMain;
QVector<PTheory> fTheory;
};
#endif // _PADMIN_H_

View File

@ -0,0 +1,115 @@
/****************************************************************************
PFileWatcher.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QMessageBox>
#include "PFileWatcher.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFileWatcher::PFileWatcher(const QString &fileName, const QDateTime &lastModified) : fFileName(fileName), fLastModified(lastModified)
{
fFileInfo = 0;
fFileInfo = new QFileInfo(fFileName);
if (!fFileInfo) {
fValid = false;
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFileWatcher::~PFileWatcher()
{
if (fFileInfo) {
delete fFileInfo;
fFileInfo = 0;
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
bool PFileWatcher::modified()
{
bool result = false;
fFileInfo->refresh();
if (fFileInfo->lastModified() > fLastModified) {
fLastModified = fFileInfo->lastModified();
result = true;
}
return result;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFileWatcher::modified(int timeout)
{
fTimerCheck = new QTimer(this);
connect( fTimerCheck, SIGNAL(timeout()), this, SLOT(checkIfModified()) );
QTimer::singleShot(timeout * 1000, this, SLOT(stopFileCheck()));
fTimerCheck->start(1000);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFileWatcher::checkIfModified()
{
fFileInfo->refresh();
if (fFileInfo->lastModified() > fLastModified) {
fLastModified = fFileInfo->lastModified();
fTimerCheck->stop();
emit changed();
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFileWatcher::stopFileCheck()
{
fTimerCheck->stop();
}

View File

@ -0,0 +1,74 @@
/****************************************************************************
PFileWatcher.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
/*
CHECK IF THIS IS STILL NEEDED!! AS FAR AS I KNOW, STARTING FROM Qt4.x THERE IS A PROPER Qt-WAY TO DO THIS!!
*/
#ifndef _PFILEWATCHER_H_
#define _PFILEWATCHER_H_
#include <QObject>
#include <QFileInfo>
#include <QString>
#include <QDateTime>
#include <QTimer>
class PFileWatcher : public QObject
{
Q_OBJECT
public:
PFileWatcher(const QString &fileName, const QDateTime &lastModified);
virtual ~PFileWatcher();
virtual bool isValid() { return fValid; }
virtual bool modified();
virtual void modified(int timeout);
signals:
void changed();
private slots:
void checkIfModified();
void stopFileCheck();
private:
bool fValid;
QString fFileName;
QFileInfo *fFileInfo;
QDateTime fLastModified;
QTimer *fTimerCheck;
};
#endif // _PFILEWATCHER_H_

View File

@ -0,0 +1,104 @@
/****************************************************************************
PFindDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PFindDialog.cpp 3917 2009-05-13 07:49:49Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QPushButton>
#include <QComboBox>
#include <QCheckBox>
#include <QMessageBox>
#include "PFindDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFindDialog::PFindDialog(PFindReplaceData *data, const bool selection, QWidget *parent, Qt::WindowFlags f) :
QDialog(parent, f), fData(data)
{
setupUi(this);
setModal(true);
// if only empty text, disable find button
if (fData->findText == "") {
fFind_pushButton->setEnabled(false);
}
// if there is no selection, disable that option
if (!selection) {
fSelectedText_checkBox->setChecked(false);
fSelectedText_checkBox->setEnabled(false);
}
fFind_comboBox->setItemText(0, fData->findText);
fCaseSensitive_checkBox->setChecked(fData->caseSensitive);
fWholeWordsOnly_checkBox->setChecked(fData->wholeWordsOnly);
fFromCursor_checkBox->setChecked(fData->fromCursor);
fFindBackwards_checkBox->setChecked(fData->findBackwards);
if (selection) {
fSelectedText_checkBox->setChecked(fData->selectedText);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFindReplaceData* PFindDialog::getData()
{
fData->findText = fFind_comboBox->currentText();
fData->caseSensitive = fCaseSensitive_checkBox->isChecked();
fData->wholeWordsOnly = fWholeWordsOnly_checkBox->isChecked();
fData->fromCursor = fFromCursor_checkBox->isChecked();
fData->findBackwards = fFindBackwards_checkBox->isChecked();
if (fSelectedText_checkBox->isEnabled())
fData->selectedText = fSelectedText_checkBox->isChecked();
return fData;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFindDialog::onFindTextAvailable(const QString&)
{
if (fFind_comboBox->currentText() != "")
fFind_pushButton->setEnabled(true);
else
fFind_pushButton->setEnabled(false);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,55 @@
/****************************************************************************
PFindDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PFINDDIALOG_H_
#define _PFINDDIALOG_H_
#include "musredit.h"
#include "ui_PFindDialog.h"
class PFindDialog : public QDialog, private Ui::PFindDialog
{
Q_OBJECT
public:
PFindDialog(PFindReplaceData *data, const bool selection, QWidget *parent = 0, Qt::WindowFlags f = 0);
virtual ~PFindDialog() {}
virtual PFindReplaceData *getData();
protected slots:
virtual void onFindTextAvailable(const QString&);
private:
PFindReplaceData *fData;
};
#endif // _PFINDDIALOG_H_

View File

@ -0,0 +1,160 @@
/****************************************************************************
PFitOutputHandler.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PFitOutputHandler.cpp 4148 2009-09-11 12:37:01Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QTimer>
#include <QtDebug>
#include "PFitOutputHandler.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFitOutputHandler::PFitOutputHandler(QString workingDirectory, QVector<QString> &cmd)
{
if (cmd.empty())
return;
// Layout
fVbox = new QVBoxLayout( this );
//Qt.3x fVbox->resize(800, 500);
fOutput = new QTextEdit();
fVbox->addWidget(fOutput);
fOutput->setMinimumSize(800, 455);
fOutput->setReadOnly(true);
fQuitButton = new QPushButton( tr("Fitting...") );
fVbox->addWidget(fQuitButton);
connect( fQuitButton, SIGNAL( clicked() ), this, SLOT( quitButtonPressed() ) );
resize( 800, 500 );
fQuitButton->setFocus();
// QProcess related code
fProc = new QProcess( this );
fProc->setWorkingDirectory(workingDirectory);
// Set up the command and arguments.
QString program = cmd[0];
QStringList arguments;
for (int i=1; i<cmd.size(); i++)
arguments << cmd[i];
connect( fProc, SIGNAL( readyReadStandardOutput() ), this, SLOT( readFromStdOut() ) );
connect( fProc, SIGNAL( readyReadStandardError() ), this, SLOT( readFromStdErr() ) );
connect( fProc, SIGNAL( finished(int, QProcess::ExitStatus) ), this, SLOT( processDone(int, QProcess::ExitStatus) ) );
fProc->start(program, arguments);
if ( !fProc->waitForStarted() ) {
// error handling
QString msg(tr("Could not execute the output command: ")+cmd[0]);
QMessageBox::critical( 0,
tr("Fatal error"),
msg,
tr("Quit") );
done(0);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFitOutputHandler::~PFitOutputHandler()
{
if (fProc->state() == QProcess::Running) {
qDebug() << "fProc still running" << endl;
fProc->kill();
}
/*
if (fProc->isRunning()) {
QString msg = "fProc still running ...";
qDebug(msg);
}
*/
if (fProc) {
delete fProc;
fProc = 0;
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFitOutputHandler::readFromStdOut()
{
// Read and process the data.
// Bear in mind that the data might be output in chunks.
fOutput->append( fProc->readAllStandardOutput() );
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFitOutputHandler::readFromStdErr()
{
// Read and process the data.
// Bear in mind that the data might be output in chunks.
fOutput->append( fProc->readAllStandardError() );
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFitOutputHandler::processDone(int exitCode, QProcess::ExitStatus exitStatus)
{
if (exitStatus == QProcess::CrashExit)
qDebug() << "**ERROR** PFitOutputHandler::processDone: exitCode = " << exitCode << endl;
fQuitButton->setText("Done");
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PFitOutputHandler::quitButtonPressed()
{
// if the fitting is still taking place, kill it
if (fProc->state() == QProcess::Running) {
fProc->terminate();
if (!fProc->waitForFinished())
fProc->kill();
}
accept();
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,68 @@
/****************************************************************************
PFitOutputHandler.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PFITOUTPUTHANDLER_H_
#define _PFITOUTPUTHANDLER_H_
#include <QObject>
#include <QProcess>
#include <QDialog>
#include <QVBoxLayout>
#include <QTextEdit>
#include <QPushButton>
#include <QMessageBox>
#include <QVector>
#include <cstdlib>
class PFitOutputHandler : public QDialog
{
Q_OBJECT
public:
PFitOutputHandler(QString workingDirectory, QVector<QString> &cmd);
virtual ~PFitOutputHandler();
private slots:
virtual void readFromStdOut();
virtual void readFromStdErr();
virtual void quitButtonPressed();
virtual void processDone(int exitCode, QProcess::ExitStatus exitStatus);
private:
QProcess *fProc;
QVBoxLayout *fVbox;
QTextEdit *fOutput;
QPushButton *fQuitButton;
};
#endif // _PFITOUTPUTHANDLER_H_

View File

@ -0,0 +1,270 @@
/****************************************************************************
PGetAsymmetryRunBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetAsymmetryRunBlockDialog.cpp 3800 2009-03-22 16:19:08Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QComboBox>
#include <QMessageBox>
#include "PGetAsymmetryRunBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetAsymmetryRunBlockDialog::PGetAsymmetryRunBlockDialog(const QString help, QWidget *parent, Qt::WindowFlags f) :
QDialog(parent, f),
fHelp(help)
{
setupUi(this);
setModal(true);
fForwardHistoNo_lineEdit->setValidator( new QIntValidator(fForwardHistoNo_lineEdit) );
fBackwardHistoNo_lineEdit->setValidator( new QIntValidator(fBackwardHistoNo_lineEdit) );
fDataForwardStart_lineEdit->setValidator( new QIntValidator(fDataForwardStart_lineEdit) );
fDataForwardEnd_lineEdit->setValidator( new QIntValidator(fDataForwardEnd_lineEdit) );
fDataBackwardStart_lineEdit->setValidator( new QIntValidator(fDataBackwardStart_lineEdit) );
fDataBackwardEnd_lineEdit->setValidator( new QIntValidator(fDataBackwardEnd_lineEdit) );
fBackgroundForwardStart_lineEdit->setValidator( new QIntValidator(fBackgroundForwardStart_lineEdit) );
fBackgroundForwardEnd_lineEdit->setValidator( new QIntValidator(fBackgroundForwardEnd_lineEdit) );
fBackgroundBackwardStart_lineEdit->setValidator( new QIntValidator(fBackgroundBackwardStart_lineEdit) );
fBackgroundBackwardEnd_lineEdit->setValidator( new QIntValidator(fBackgroundBackwardEnd_lineEdit) );
fBackgroundForwardFix_lineEdit->setValidator( new QDoubleValidator(fBackgroundForwardFix_lineEdit) );
fBackgroundBackwardFix_lineEdit->setValidator( new QDoubleValidator(fBackgroundBackwardFix_lineEdit) );
fFitRangeStart_lineEdit->setValidator( new QDoubleValidator(fFitRangeStart_lineEdit) );
fFitRangeEnd_lineEdit->setValidator( new QDoubleValidator(fFitRangeEnd_lineEdit) );
fPacking_lineEdit->setValidator( new QIntValidator(fPacking_lineEdit) );
fAlpha_lineEdit->setValidator( new QIntValidator(fAlpha_lineEdit) );
fBeta_lineEdit->setValidator( new QIntValidator(fBeta_lineEdit) );
fT0Forward_lineEdit->setValidator( new QIntValidator(fT0Forward_lineEdit) );
fT0Backward_lineEdit->setValidator( new QIntValidator(fT0Backward_lineEdit) );
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getRunHeaderInfo()
{
QString str;
str = "RUN " + fRunFileName_lineEdit->text() + " ";
str += fBeamline_lineEdit->text().toUpper() + " ";
str += fInstitute_comboBox->currentText() + " ";
str += fFileFormat_comboBox->currentText() + " (name beamline institute data-file-format)\n";
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getAlphaParameter(bool &present)
{
QString str = "alpha " + fAlpha_lineEdit->text() + "\n";
if (str.isEmpty())
present = false;
else
present = true;
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getBetaParameter(bool &present)
{
QString str = "beta " + fBeta_lineEdit->text() + "\n";
if (str.isEmpty())
present = false;
else
present = true;
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getMap(bool &valid)
{
QString str = fMap_lineEdit->text().trimmed().remove(" ");
// check if potentially proper map line
for (int i=0; i<str.length(); i++) {
if (!str[i].isDigit()) {
valid = false;
break;
}
}
str = "map " + fMap_lineEdit->text() + "\n";
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getBackground(bool &valid)
{
QString str = "";
valid = true;
// check that either backgr.fix or background is given, but not both
if (fBackgroundForwardStart_lineEdit->text().isEmpty() && fBackgroundForwardEnd_lineEdit->text().isEmpty() &&
fBackgroundBackwardStart_lineEdit->text().isEmpty() && fBackgroundBackwardEnd_lineEdit->text().isEmpty() &&
fBackgroundForwardFix_lineEdit->text().isEmpty() && fBackgroundBackwardFix_lineEdit->text().isEmpty()) {
valid = false;
str = "background 0 10 0 10\n";
} else {
if (!fBackgroundForwardStart_lineEdit->text().isEmpty()) { // assume the rest is given, not fool prove but ...
str = "background ";
str += fBackgroundForwardStart_lineEdit->text() + " ";
str += fBackgroundForwardEnd_lineEdit->text() + " ";
str += fBackgroundBackwardStart_lineEdit->text() + " ";
str += fBackgroundBackwardEnd_lineEdit->text() + "\n";
}
if (!fBackgroundForwardFix_lineEdit->text().isEmpty()) { // assume the rest is given, not fool prove but ...
str = "backgr.fix ";
str += fBackgroundForwardFix_lineEdit->text() + " ";
str += fBackgroundBackwardFix_lineEdit->text() + "\n";
}
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getData(bool &valid)
{
QString str = "";
if (fDataForwardStart_lineEdit->text().isEmpty() || fDataForwardEnd_lineEdit->text().isEmpty() ||
fDataBackwardStart_lineEdit->text().isEmpty() || fDataBackwardEnd_lineEdit->text().isEmpty()) {
valid = false;
} else {
str = "data ";
str += fDataForwardStart_lineEdit->text() + " ";
str += fDataForwardEnd_lineEdit->text() + " ";
str += fDataBackwardStart_lineEdit->text() + " ";
str += fDataBackwardEnd_lineEdit->text() + "\n";
valid = true;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getT0(bool &present)
{
QString str = "";
if (!fT0Forward_lineEdit->text().isEmpty() && !fT0Forward_lineEdit->text().isEmpty()) {
str = "t0 ";
str += fT0Forward_lineEdit->text() + " ";
str += fT0Backward_lineEdit->text() + "\n";
present = true;
} else {
present = false;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getFitRange(bool &valid)
{
QString str = "";
if (fFitRangeStart_lineEdit->text().isEmpty() || fFitRangeEnd_lineEdit->text().isEmpty()) {
str += "fit 0.0 10.0\n";
valid = false;
} else {
str += "fit ";
str += fFitRangeStart_lineEdit->text() + " ";
str += fFitRangeEnd_lineEdit->text() + "\n";
valid = true;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetAsymmetryRunBlockDialog::getPacking(bool &present)
{
QString str = "";
if (fPacking_lineEdit->text().isEmpty()) {
present = false;
str += "packing 1\n";
} else {
present = true;
str += "packing " + fPacking_lineEdit->text() + "\n\n";
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetAsymmetryRunBlockDialog::helpContent()
{
QMessageBox::information(this, "helpContents",
fHelp, QMessageBox::Ok);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,63 @@
/****************************************************************************
PGetAsymmetryRunBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetAsymmetryRunBlockDialog.h 3788 2009-03-19 07:58:16Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETASYMMETRYRUNBLOCKDIALOG_H_
#define _PGETASYMMETRYRUNBLOCKDIALOG_H_
#include "ui_PGetAsymmetryRunBlockDialog.h"
class PGetAsymmetryRunBlockDialog : public QDialog, private Ui::PGetAsymmetryRunBlockDialog
{
Q_OBJECT
public:
PGetAsymmetryRunBlockDialog(const QString help = "", QWidget * parent = 0, Qt::WindowFlags f = 0);
QString getRunHeaderInfo();
QString getAlphaParameter(bool &present);
QString getBetaParameter(bool &present);
QString getMap(bool &valid);
QString getForward() { return QString("forward " + fForwardHistoNo_lineEdit->text() + "\n"); }
QString getBackward() { return QString("backward " + fBackwardHistoNo_lineEdit->text() + "\n"); }
QString getBackground(bool &valid);
QString getData(bool &valid);
QString getT0(bool &present);
QString getFitRange(bool &valid);
QString getPacking(bool &present);
private slots:
void helpContent();
private:
QString fHelp;
};
#endif // _PGETASYMMETRYRUNBLOCKDIALOG_H_

View File

@ -0,0 +1,108 @@
/****************************************************************************
PGetDefaultDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetDefaultDialog.cpp 3807 2009-03-25 09:49:32Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QObject>
#include <QComboBox>
#include <QMessageBox>
#include "PGetDefaultDialog.h"
#define INSTITUTE_PSI 0
#define INSTITUTE_RAL 1
#define INSTITUTE_TRIUMF 2
#define INSTITUTE_JPARC 3
#define FILE_FORMAT_NEXUS 0
#define FILE_FORMAT_ROOT_NPP 1
#define FILE_FORMAT_ROOT_PPC 2
#define FILE_FORMAT_PSIBIN 3
#define FILE_FORMAT_MUD 4
#define FILE_FORMAT_WKM 5
#define FILE_FORMAT_ASCII 6
#define FILE_FORMAT_DB 7
//---------------------------------------------------------------------------
/**
* <p>
*/
PGetDefaultDialog::PGetDefaultDialog(QWidget *parent, Qt::WindowFlags f) :
QDialog(parent, f)
{
setupUi(this);
setModal(true);
}
//---------------------------------------------------------------------------
/**
* <p>
*/
void PGetDefaultDialog::setInstitute(const QString &str) {
for (int i=0; i<fInstitute_comboBox->count(); i++) {
if (fInstitute_comboBox->itemText(i).toLower() == str.toLower()) {
fInstitute_comboBox->setCurrentIndex(i);
break;
}
}
}
//---------------------------------------------------------------------------
/**
* <p>
*/
void PGetDefaultDialog::setFileFormat(const QString &str)
{
for (int i=0; i<fFileFormat_comboBox->count(); i++) {
if (fFileFormat_comboBox->itemText(i).toLower() == str.toLower()) {
fFileFormat_comboBox->setCurrentIndex(i);
break;
}
}
}
//---------------------------------------------------------------------------
/**
* <p>
*/
void PGetDefaultDialog::helpContent()
{
QMessageBox::information(this, "Help", "will eventually show help information.");
}
//---------------------------------------------------------------------------
// END
//---------------------------------------------------------------------------

View File

@ -0,0 +1,63 @@
/****************************************************************************
PGetDefaultDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETDEFAULTDIALOG_H_
#define _PGETDEFAULTDIALOG_H_
#include <QString>
#include <QWidget>
#include <QLineEdit>
#include <QComboBox>
#include "ui_PGetDefaultDialog.h"
class PGetDefaultDialog : public QDialog, private Ui::PGetDefaultDialog
{
Q_OBJECT
public:
PGetDefaultDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
virtual ~PGetDefaultDialog() {}
virtual const QString getRunFileName() const { return fRunFileName_lineEdit->text(); }
virtual const QString getBeamline() const { return fBeamline_lineEdit->text(); }
virtual const QString getInstitute() const { return fInstitute_comboBox->currentText(); }
virtual const QString getFileFormat() const { return fFileFormat_comboBox->currentText(); }
virtual void setBeamline(const QString &str) { fBeamline_lineEdit->setText(str); }
virtual void setInstitute(const QString &str);
virtual void setFileFormat(const QString &str);
protected slots:
virtual void helpContent();
};
#endif // _PGETDEFAULTDIALOG_H_

View File

@ -0,0 +1,135 @@
/****************************************************************************
PGetFourierBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetFourierBlockDialog.cpp 3978 2009-06-09 11:16:39Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QObject>
#include <QComboBox>
#include <QValidator>
#include <QLineEdit>
#include <QPushButton>
#include <QMessageBox>
#include "PGetFourierBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetFourierBlockDialog::PGetFourierBlockDialog()
{
setupUi(this);
setModal(true);
fFourierBlock = "";
fFourierPower_lineEdit->setValidator( new QIntValidator(fFourierPower_lineEdit) );
fPhaseCorrectionRangeLow_lineEdit->setValidator( new QDoubleValidator(fPhaseCorrectionRangeLow_lineEdit) );
fPhaseCorrectionRangeUp_lineEdit->setValidator( new QDoubleValidator(fPhaseCorrectionRangeUp_lineEdit) );
fRangeLow_lineEdit->setValidator( new QDoubleValidator(fRangeLow_lineEdit) );
fRangeUp_lineEdit->setValidator( new QDoubleValidator(fRangeUp_lineEdit) );
connect( fPhase_lineEdit, SIGNAL( lostFocus() ), this, SLOT( checkPhaseParameter() ) );
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetFourierBlockDialog::checkPhaseParameter()
{
QString str = fPhase_lineEdit->text();
if (str.isEmpty())
return;
bool ok;
int ival;
ival = str.toInt(&ok);
if (!ok) { // i.e. the phase entry is not a number. Check for parXX
str.trimmed();
if (str.startsWith("par")) { //
str.remove("par");
ival = str.toInt(&ok);
if (!ok) {
fPhase_lineEdit->clear();
QMessageBox::critical(this, "**ERROR**",
"Allowed phase entries are either a parameter number,\n or an parXX entry, where XX is a parameter number",
QMessageBox::Ok, QMessageBox::NoButton);
fPhase_lineEdit->setFocus();
}
} else { // neither a parXX nor a number
fPhase_lineEdit->clear();
QMessageBox::critical(this, "**ERROR**",
"Allowed phase entries are either a parameter number,\n or an parXX entry, where XX is a parameter number",
QMessageBox::Ok, QMessageBox::NoButton);
fPhase_lineEdit->setFocus();
}
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetFourierBlockDialog::fillFourierBlock()
{
fFourierBlock = "###############################################################\n";
fFourierBlock += "FOURIER\n";
fFourierBlock += "units " + fUnits_comboBox->currentText() + "\n";
QString str = fFourierPower_lineEdit->text();
if (!str.isEmpty())
fFourierBlock += "fourier_power " + str + "\n";
fFourierBlock += "apodization " + fApodization_comboBox->currentText() + "\n";
fFourierBlock += "plot " + fPlot_comboBox->currentText() + "\n";
str = fPhase_lineEdit->text();
if (!str.isEmpty())
fFourierBlock += "phase " + str + "\n";
if (!fPhaseCorrectionRangeLow_lineEdit->text().isEmpty() && !fPhaseCorrectionRangeUp_lineEdit->text().isEmpty()) {
fFourierBlock += "range_for_phase_correction " + fPhaseCorrectionRangeLow_lineEdit->text() + " " +
fPhaseCorrectionRangeUp_lineEdit->text() + "\n";
}
if (!fRangeLow_lineEdit->text().isEmpty() && !fRangeUp_lineEdit->text().isEmpty()) {
fFourierBlock += "range " + fRangeLow_lineEdit->text() + " " + fRangeUp_lineEdit->text() + "\n";
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetFourierBlockDialog::helpContent()
{
QMessageBox::information(this, "**HELP**", "Will eventually show a help.");
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,57 @@
/****************************************************************************
PGetFourierBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetFourierBlockDialog.h 3978 2009-06-09 11:16:39Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETFOURIERBLOCKDIALOG_H_
#define _PGETFOURIERBLOCKDIALOG_H_
#include <QString>
#include "ui_PGetFourierBlockDialog.h"
class PGetFourierBlockDialog : public QDialog, private Ui::PGetFourierBlockDialog
{
Q_OBJECT
public:
PGetFourierBlockDialog();
QString getFourierBlock() { return fFourierBlock; }
private slots:
void checkPhaseParameter();
void fillFourierBlock();
void helpContent();
private:
QString fFourierBlock;
};
#endif // _PGETFOURIERBLOCKDIALOG_H_

View File

@ -0,0 +1,112 @@
/****************************************************************************
PGetFunctionsBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetFunctionsBlockDialog.cpp 3865 2009-04-20 07:46:50Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QTextEdit>
#include <QLineEdit>
#include <QMessageBox>
#include <QRegExp>
#include <QEvent>
#include <QtDebug>
#include "PGetFunctionsBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetFunctionsBlockDialog::PGetFunctionsBlockDialog(const QString help, QWidget *parent, Qt::WindowFlags f) :
QDialog(parent, f), fHelp(help)
{
setupUi(this);
setModal(true);
fFunctionInput_lineEdit->setFocus();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetFunctionsBlockDialog::addFunction()
{
QString str = fFunctionInput_lineEdit->text();
if (str.isEmpty())
return;
// validation
// check that the function string starts with 'fun'
if (!str.trimmed().startsWith("fun")) {
QMessageBox::critical(this, "addFunction",
"a function has to start with 'funX' (X a number).\nNeeds to be fixed.",
QMessageBox::Ok, QMessageBox::NoButton);
return;
}
// check if function string contains 'funX ='
if (str.indexOf( QRegExp("fun\\d+\\s*=") ) == -1) {
QMessageBox::critical(this, "addFunction",
"a function has to start with 'funX =' (X a positive number).\nNeeds to be fixed.",
QMessageBox::Ok, QMessageBox::NoButton);
return;
}
// check if function string contains more than one 'funX'
if (str.trimmed().lastIndexOf("fun", -1, Qt::CaseInsensitive) > 0) {
QMessageBox::critical(this, "addFunction",
"a function cannot contain more than one function,\ni.e. fun2 = fun1 + par1 is not OK.",
QMessageBox::Ok, QMessageBox::NoButton);
return;
}
// add to Functions block
fFunctionBlock_plainTextEdit->appendPlainText(str);
// clear functions input text
fFunctionInput_lineEdit->clear();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetFunctionsBlockDialog::helpContent()
{
QMessageBox::information(this, "helpContents",
fHelp, QMessageBox::Ok);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,54 @@
/****************************************************************************
PGetFunctionsBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetFunctionsBlockDialog.h 3794 2009-03-20 18:07:52Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETFUNCTIONSBLOCKDIALOG_H_
#define _PGETFUNCTIONSBLOCKDIALOG_H_
#include "ui_PGetFunctionsBlockDialog.h"
class PGetFunctionsBlockDialog : public QDialog, private Ui::PGetFunctionsBlockDialog
{
Q_OBJECT
public:
PGetFunctionsBlockDialog(const QString help = "", QWidget * parent = 0, Qt::WindowFlags f = 0);
QString getFunctionsBlock() { return fFunctionBlock_plainTextEdit->toPlainText(); }
private slots:
void addFunction();
void helpContent();
private:
QString fHelp;
};
#endif // _PGETFUNCTIONSBLOCKDIALOG_H_

View File

@ -0,0 +1,156 @@
/****************************************************************************
PGetNonMusrRunBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetNonMusrRunBlockDialog.cpp 3790 2009-03-19 15:29:21Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QComboBox>
#include <QMessageBox>
#include "PGetNonMusrRunBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetNonMusrRunBlockDialog::PGetNonMusrRunBlockDialog(const QString help, QWidget *parent, Qt::WindowFlags f) :
QDialog(parent, f),
fHelp(help)
{
setupUi(this);
setModal(true);
fFitRangeStart_lineEdit->setValidator( new QDoubleValidator(fFitRangeStart_lineEdit) );
fFitRangeEnd_lineEdit->setValidator( new QDoubleValidator(fFitRangeEnd_lineEdit) );
int idx = -1;
for (int i=0; i<fFileFormat_comboBox->count(); i++) {
if (fFileFormat_comboBox->itemText(i) == "DB") {
idx = i;
break;
}
}
if (idx >= 0) {
fFileFormat_comboBox->setCurrentIndex(idx);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetNonMusrRunBlockDialog::getRunHeaderInfo()
{
QString str;
str = "RUN " + fRunFileName_lineEdit->text() + " ";
str += fBeamline_lineEdit->text().toUpper() + " ";
str += fInstitute_comboBox->currentText() + " ";
str += fFileFormat_comboBox->currentText() + " (name beamline institute data-file-format)\n";
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetNonMusrRunBlockDialog::getMap(bool &valid)
{
QString str = fMap_lineEdit->text().trimmed().remove(" ");
// check if potentially proper map line
for (int i=0; i<str.length(); i++) {
if (!str[i].isDigit()) {
valid = false;
break;
}
}
str = "map " + fMap_lineEdit->text() + "\n";
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetNonMusrRunBlockDialog::getXYData(bool &valid)
{
QString str = "";
if (fXData_lineEdit->text().isEmpty() || fYData_lineEdit->text().isEmpty()) {
valid = false;
} else {
str = "xy-data ";
str += fXData_lineEdit->text() + " ";
str += fYData_lineEdit->text() + "\n";
valid = true;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetNonMusrRunBlockDialog::getFitRange(bool &valid)
{
QString str = "";
if (fFitRangeStart_lineEdit->text().isEmpty() || fFitRangeEnd_lineEdit->text().isEmpty()) {
str += "fit 0.0 10.0\n";
valid = false;
} else {
str += "fit ";
str += fFitRangeStart_lineEdit->text() + " ";
str += fFitRangeEnd_lineEdit->text() + "\n";
valid = true;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetNonMusrRunBlockDialog::helpContent()
{
QMessageBox::information(this, "helpContent",
fHelp, QMessageBox::Ok);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,56 @@
/****************************************************************************
PGetNonMusrRunBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetNonMusrRunBlockDialog.h 3790 2009-03-19 15:29:21Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETNONMUSRRUNBLOCKDIALOG_H_
#define _PGETNONMUSRRUNBLOCKDIALOG_H_
#include "ui_PGetNonMusrRunBlockDialog.h"
class PGetNonMusrRunBlockDialog : public QDialog, private Ui::PGetNonMusrRunBlockDialog
{
Q_OBJECT
public:
PGetNonMusrRunBlockDialog(const QString help = "", QWidget * parent = 0, Qt::WindowFlags f = 0);
QString getRunHeaderInfo();
QString getMap(bool &valid);
QString getXYData(bool &valid);
QString getFitRange(bool &valid);
private slots:
void helpContent();
private:
QString fHelp;
};
#endif // _PGETNONMUSRRUNBLOCKDIALOG_H_

View File

@ -0,0 +1,220 @@
/****************************************************************************
PGetParameterBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetParameterBlockDialog.cpp 3864 2009-04-20 06:50:06Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QMessageBox>
#include <QSpinBox>
#include <QTextEdit>
#include <QPushButton>
#include <QEvent>
#include "PGetParameterBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetParameterBlockDialog::PGetParameterBlockDialog()
{
setupUi(this);
setModal(true);
// setup event filter
installEventFilter(this);
fValue_lineEdit->setValidator( new QDoubleValidator(fValue_lineEdit) );
fStep_lineEdit->setValidator( new QDoubleValidator(fStep_lineEdit) );
fParam_plainTextEdit->setFont(QFont("Courier", 10));
}
//----------------------------------------------------------------------------------------------------
/**
* <p>This event filter is filtering out the return key, and if present adds the current parameters
* to the parameter list.
*/
bool PGetParameterBlockDialog::eventFilter( QObject *obj, QEvent *ev )
{
if (obj == this) {
if (ev->type() == QEvent::KeyPress) {
QKeyEvent *k = (QKeyEvent*)ev;
if (k->key() == Qt::Key_Return) {
paramAdd();
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetParameterBlockDialog::paramAdd()
{
QString param, str, spaces;
// get No
str = fParamNo_spinBox->text();
if (str.toInt() < 10)
param = " " + str + " ";
else
param = " " + str + " ";
// get name
str = fName_lineEdit->text();
if (str.isEmpty()) {
QMessageBox::critical(this, "**ERROR**",
"empty parameter name not allowed!",
QMessageBox::Ok, QMessageBox::NoButton);
return;
} else {
param += str;
if (str.length() < 13)
param += spaces.fill(' ', 13-str.length());
else
param += " ";
}
// get value
str = fValue_lineEdit->text();
if (str.isEmpty()) {
QMessageBox::critical(this, "**ERROR**",
"empty parameter value not allowed!",
QMessageBox::Ok, QMessageBox::NoButton);
return;
} else {
param += str;
if (str.length() < 10)
param += spaces.fill(' ', 10-str.length());
else
param += " ";
}
// get step
str = fStep_lineEdit->text();
if (str.isEmpty()) {
QMessageBox::critical(this, "**ERROR**",
"empty parameter step not allowed!",
QMessageBox::Ok, QMessageBox::NoButton);
return;
} else {
param += str;
if (str.length() < 10)
param += spaces.fill(' ', 10-str.length());
else
param += " ";
}
// add positive error none
param += "none ";
if ((fLower_lineEdit->text() != "none") || (fUpper_lineEdit->text() != "none")) {
// get lower boundary
str = fLower_lineEdit->text();
bool ok;
double val = str.toDouble(&ok);
if (!ok && (str != "none")) {
QMessageBox::critical(this, "**ERROR**",
"invalid lower boundary! Must be a double are the key word 'none'",
QMessageBox::Ok, QMessageBox::NoButton);
return;
} else {
param += str;
if (str.length() < 10)
param += spaces.fill(' ', 10-str.length());
else
param += " ";
}
// get upper boundary
str = fUpper_lineEdit->text();
val = str.toDouble(&ok);
if (!ok && (str != "none")) {
QMessageBox::critical(this, "**ERROR**",
"invalid upper boundary! Must be a double are the key word 'none'",
QMessageBox::Ok, QMessageBox::NoButton);
return;
} else {
param += str;
if (str.length() < 10)
param += spaces.fill(' ', 10-str.length());
else
param += " ";
}
}
// param += "\n";
// write parameter string into fParam_textEdit
fParam_plainTextEdit->appendPlainText(param);
// increment No counter in spinBox
fParamNo_spinBox->stepUp();
// reset name lineEdit
fName_lineEdit->setText("");
// reset value lineEdit
fValue_lineEdit->setText("");
// reset step lineEdit
fStep_lineEdit->setText("");
// reset lower boundary lineEdit
fLower_lineEdit->setText("none");
// reset upper boundary lineEdit
fUpper_lineEdit->setText("none");
fName_lineEdit->setFocus();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetParameterBlockDialog::helpContent()
{
QMessageBox::information(this, "**INFO**", "Will eventually show a help window");
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,54 @@
/****************************************************************************
PGetParameterBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetParameterBlockDialog.h 3864 2009-04-20 06:50:06Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETPARAMETERBLOCKDIALOG_H_
#define _PGETPARAMETERBLOCKDIALOG_H_
#include "ui_PGetParameterBlockDialog.h"
class PGetParameterBlockDialog : public QDialog, private Ui::PGetParameterBlockDialog
{
Q_OBJECT
public:
PGetParameterBlockDialog();
QString getParams() { return fParam_plainTextEdit->toPlainText(); }
protected:
bool eventFilter( QObject *obj, QEvent *ev );
private slots:
void paramAdd();
void helpContent();
};
#endif // _PGETPARAMETERBLOCKDIALOG_H_

View File

@ -0,0 +1,187 @@
/****************************************************************************
PGetPlotBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetPlotBlockDialog.cpp 3930 2009-05-20 12:51:17Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QMessageBox>
#include <QSpinBox>
#include <QTextEdit>
#include <QComboBox>
#include "PGetPlotBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetPlotBlockDialog::PGetPlotBlockDialog()
{
setupUi(this);
setModal(true);
// setup event filter
installEventFilter(this);
fXRangeLow_lineEdit->setValidator( new QDoubleValidator(fXRangeLow_lineEdit) );
fXRangeUp_lineEdit->setValidator( new QDoubleValidator(fXRangeUp_lineEdit) );
fYRangeLow_lineEdit->setValidator( new QDoubleValidator(fYRangeLow_lineEdit) );
fYRangeUp_lineEdit->setValidator( new QDoubleValidator(fYRangeUp_lineEdit) );
fPlot_plainTextEdit->setFont(QFont("Courier", 10));
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetPlotBlockDialog::addPlot()
{
QString param = "";
QString str = "";
QString spaces;
// add begining of plot block if fPlot_plainTextEdit is still empty
if (fPlot_plainTextEdit->toPlainText().isEmpty()) {
param = "###############################################################\n";
}
// write type
param += "PLOT ";
if (fType_comboBox->currentText() == "Single Histo") {
param += "0 (single histo plot)\n";
} else if (fType_comboBox->currentText() == "Asymmetry") {
param += "2 (asymmetry plot)\n";
} else if (fType_comboBox->currentText() == "MuMinus") {
param += "4 (mu minus plot)\n";
} else if (fType_comboBox->currentText() == "NonMusr") {
param += "8 (non muSR plot)\n";
}
// write runs
param += "runs " + fRunList_lineEdit->text() + "\n";
// write range
param += "range ";
// lower x-/time range
str = fXRangeLow_lineEdit->text();
if (str.isEmpty()) {
QMessageBox::critical(this, "**ERROR**",
"empty lower time-/x-range name not allowed!",
QMessageBox::Ok, QMessageBox::NoButton);
return;
}
param += str;
if (str.length() < 8)
param += spaces.fill(' ', 8 - str.length());
else
param += " ";
// upper x-/time range
str = fXRangeUp_lineEdit->text();
if (str.isEmpty()) {
QMessageBox::critical(this, "**ERROR**",
"empty upper time-/x-range name not allowed!",
QMessageBox::Ok, QMessageBox::NoButton);
return;
}
param += str;
if (str.length() < 8)
param += spaces.fill(' ', 8 - str.length());
else
param += " ";
// check y-range: either none given or both
if ((fYRangeLow_lineEdit->text().isEmpty() && !fYRangeUp_lineEdit->text().isEmpty()) ||
(!fYRangeLow_lineEdit->text().isEmpty() && fYRangeUp_lineEdit->text().isEmpty())) {
QMessageBox::critical(this, "**ERROR**",
"Only fully empty y-range, or give lower AND upper y-range is acceptable!\n Will ignore the y-range",
QMessageBox::Ok, QMessageBox::NoButton);
} else if (!fYRangeLow_lineEdit->text().isEmpty() && !fYRangeUp_lineEdit->text().isEmpty()) {
str = fYRangeLow_lineEdit->text();
param += str;
if (str.length() < 8)
param += spaces.fill(' ', 8 - str.length());
else
param += " ";
param += fYRangeUp_lineEdit->text() + "\n";
} else {
param += "\n";
}
param += "\n";
fPlot_plainTextEdit->appendPlainText(param);
// clean input
fRunList_lineEdit->clear();
fXRangeLow_lineEdit->clear();
fXRangeUp_lineEdit->clear();
fYRangeLow_lineEdit->clear();
fYRangeUp_lineEdit->clear();
fRunList_lineEdit->setFocus();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetPlotBlockDialog::helpContent()
{
QMessageBox::information(this, "helpContents",
"Will eventually show a help", QMessageBox::Ok);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>This event filter is filtering out the return key, and if present adds the current plot.
*/
bool PGetPlotBlockDialog::eventFilter( QObject *obj, QEvent *ev )
{
if (obj == this) {
if (ev->type() == QEvent::KeyPress) {
QKeyEvent *k = (QKeyEvent*)ev;
if (k->key() == Qt::Key_Return) {
addPlot();
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,54 @@
/****************************************************************************
PGetPlotBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETPLOTBLOCKDIALOG_H_
#define _PGETPLOTBLOCKDIALOG_H_
#include "ui_PGetPlotBlockDialog.h"
class PGetPlotBlockDialog : public QDialog, private Ui::PGetPlotBlockDialog
{
Q_OBJECT
public:
PGetPlotBlockDialog();
QString getPlotBlock() { return fPlot_plainTextEdit->toPlainText(); }
public slots:
void addPlot();
void helpContent();
protected:
bool eventFilter( QObject *obj, QEvent *ev );
};
#endif // _PGETPLOTBLOCKDIALOG_H_

View File

@ -0,0 +1,271 @@
/****************************************************************************
PGetSingleHistoRunBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetSingleHistoRunBlockDialog.cpp 3788 2009-03-19 07:58:16Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QComboBox>
#include <QCheckBox>
#include <QMessageBox>
#include "PGetSingleHistoRunBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetSingleHistoRunBlockDialog::PGetSingleHistoRunBlockDialog(const QString help,
const bool lifetimeCorrection,
QWidget * parent,
Qt::WindowFlags f) :
QDialog(parent, f),
fHelp(help)
{
setupUi(this);
setModal(true);
fForwardHistoNo_lineEdit->setValidator( new QIntValidator(fForwardHistoNo_lineEdit) );
fNorm_lineEdit->setValidator( new QIntValidator(fNorm_lineEdit) );
fDataStart_lineEdit->setValidator( new QIntValidator(fDataStart_lineEdit) );
fDataEnd_lineEdit->setValidator( new QIntValidator(fDataEnd_lineEdit) );
fBackgroundFix_lineEdit->setValidator( new QDoubleValidator(fBackgroundFix_lineEdit) );
fBackgroundFit_lineEdit->setValidator( new QIntValidator(fBackgroundFit_lineEdit) );
fBackgroundStart_lineEdit->setValidator( new QIntValidator(fBackgroundStart_lineEdit) );
fBackgroundEnd_lineEdit->setValidator( new QIntValidator(fBackgroundEnd_lineEdit) );
fFitRangeStart_lineEdit->setValidator( new QDoubleValidator(fFitRangeStart_lineEdit) );
fFitRangeEnd_lineEdit->setValidator( new QDoubleValidator(fFitRangeEnd_lineEdit) );
fPacking_lineEdit->setValidator( new QIntValidator(fPacking_lineEdit) );
fT0_lineEdit->setValidator( new QIntValidator(fT0_lineEdit) );
fLifetime_lineEdit->setValidator( new QIntValidator(fLifetime_lineEdit) );
fLifetimeCorrection_checkBox->setChecked(lifetimeCorrection);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getRunHeaderInfo()
{
QString str="";
str = "RUN " + fRunFileName_lineEdit->text() + " ";
str += fBeamline_lineEdit->text().toUpper() + " ";
str += fInstitute_comboBox->currentText() + " ";
str += fFileFormat_comboBox->currentText() + " (name beamline institute data-file-format)\n";
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getMap(bool &valid)
{
QString str = fMap_lineEdit->text().trimmed().remove(" ");
// check if potentially proper map line
for (int i=0; i<str.length(); i++) {
if (!str[i].isDigit()) {
valid = false;
break;
}
}
str = "map " + fMap_lineEdit->text() + "\n";
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getData(bool &valid)
{
QString str="";
if (fDataStart_lineEdit->text().isEmpty() || fDataEnd_lineEdit->text().isEmpty()) {
valid = false;
} else {
str = "data ";
str += fDataStart_lineEdit->text() + " ";
str += fDataEnd_lineEdit->text() + "\n";
valid = true;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getBackground(bool &valid)
{
QString str="";
valid = true;
// check that either backgr.fix or background is given, but not both
if (fBackgroundStart_lineEdit->text().isEmpty() && fBackgroundEnd_lineEdit->text().isEmpty() &&
fBackgroundFix_lineEdit->text().isEmpty() &&
fBackgroundFit_lineEdit->text().isEmpty()) {
valid = false;
str = "background 0 10\n";
} else {
if (!fBackgroundStart_lineEdit->text().isEmpty()) { // assume the rest is given, not fool prove but ...
str = "background ";
str += fBackgroundStart_lineEdit->text() + " ";
str += fBackgroundEnd_lineEdit->text() + "\n";
}
if (!fBackgroundFix_lineEdit->text().isEmpty()) {
str = "backgr.fix ";
str += fBackgroundFix_lineEdit->text() + "\n";
}
if (!fBackgroundFit_lineEdit->text().isEmpty()) {
str = "backgr.fit ";
str += fBackgroundFit_lineEdit->text() + "\n";
}
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getFitRange(bool &valid)
{
QString str="";
if (fFitRangeStart_lineEdit->text().isEmpty() || fFitRangeEnd_lineEdit->text().isEmpty()) {
str += "fit 0.0 10.0\n";
valid = false;
} else {
str += "fit ";
str += fFitRangeStart_lineEdit->text() + " ";
str += fFitRangeEnd_lineEdit->text() + "\n";
valid = true;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getPacking(bool &present)
{
QString str="";
if (fPacking_lineEdit->text().isEmpty()) {
present = false;
str += "packing 1\n";
} else {
present = true;
str += "packing " + fPacking_lineEdit->text() + "\n\n";
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getT0(bool &present)
{
QString str="";
if (!fT0_lineEdit->text().isEmpty()) {
str = "t0 ";
str += fT0_lineEdit->text() + "\n";
present = true;
} else {
present = false;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getMuonLifetimeParam(bool &present)
{
QString str="";
if (!fLifetime_lineEdit->text().isEmpty()) {
str = "lifetime ";
str += fLifetime_lineEdit->text() + "\n";
present = true;
} else {
present = false;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetSingleHistoRunBlockDialog::getLifetimeCorrection(bool &present)
{
QString str="";
if (fLifetimeCorrection_checkBox->isChecked()) {
str = "lifetimecorrection\n";
present = true;
} else {
present = false;
}
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetSingleHistoRunBlockDialog::helpContent()
{
QMessageBox::information(this, "helpContents",
fHelp, QMessageBox::Ok);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,67 @@
/****************************************************************************
PGetSingleHistoRunBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetSingleHistoRunBlockDialog.h 3788 2009-03-19 07:58:16Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETSINGLEHISTORUNBLOCKDIALOG_H_
#define _PGETSINGLEHISTORUNBLOCKDIALOG_H_
#include <QString>
#include <QLineEdit>
#include "ui_PGetSingleHistoRunBlockDialog.h"
class PGetSingleHistoRunBlockDialog : public QDialog, private Ui::PGetSingleHistoRunBlockDialog
{
Q_OBJECT
public:
PGetSingleHistoRunBlockDialog(const QString help = "", const bool lifetimeCorrection = true,
QWidget * parent = 0, Qt::WindowFlags f = 0);
QString getRunHeaderInfo();
QString getMap(bool &valid);
QString getForward() { return QString("forward " + fForwardHistoNo_lineEdit->text() + "\n"); }
QString getNorm() { return QString("norm " + fNorm_lineEdit->text() + "\n"); }
QString getData(bool &valid);
QString getBackground(bool &valid);
QString getFitRange(bool &valid);
QString getPacking(bool &present);
QString getT0(bool &present);
QString getMuonLifetimeParam(bool &present);
QString getLifetimeCorrection(bool &present);
private slots:
void helpContent();
private:
QString fHelp;
};
#endif // _PGETSINGLEHISTORUNBLOCKDIALOG_H_

View File

@ -0,0 +1,129 @@
/****************************************************************************
PGetTheoryBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetTheoryBlockDialog.cpp 3802 2009-03-23 08:29:57Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QMessageBox>
#include <QTextEdit>
#include <QComboBox>
#include <QPixmap>
#include <QImage>
#include <QtDebug>
#include "PGetTheoryBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PGetTheoryBlockDialog::PGetTheoryBlockDialog(PAdmin *admin, QWidget * parent, Qt::WindowFlags f) :
QDialog(parent, f),
fAdmin(admin)
{
setupUi(this);
setModal(true);
// feed theory function combo box
PTheory *theoItem;
QIcon icon;
QString iconName;
for (unsigned int i=0; i<fAdmin->getTheoryCounts(); i++) {
theoItem = fAdmin->getTheoryItem(i);
if (theoItem->pixmapName.length() > 0) {
iconName = QString(":/latex_images/") + theoItem->pixmapName;
icon.addPixmap(QPixmap(iconName));
fTheoryFunction_comboBox->insertItem(i, icon, theoItem->label);
} else {
fTheoryFunction_comboBox->insertItem(i, theoItem->label);
}
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QString PGetTheoryBlockDialog::getTheoFuncString()
{
QString str = "????";
int idx = fTheoryFunction_comboBox->currentIndex();
PTheory *theoItem = fAdmin->getTheoryItem(idx);
if (theoItem == 0)
return str;
// add theory function name
str = theoItem->name + " ";
if (theoItem->name == "userFcn") {
str += "libMyLibrary.so TMyFunction ";
}
// add pseudo parameters
for (int i=0; i<theoItem->params; i++) {
str += QString("%1").arg(i+1) + " ";
}
// add comment
str += theoItem->comment;
return str;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetTheoryBlockDialog::addPlus()
{
QString str = getTheoFuncString() + "\n+";
fTheoryBlock_plainTextEdit->appendPlainText(str);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetTheoryBlockDialog::addMultiply()
{
QString str = getTheoFuncString();
fTheoryBlock_plainTextEdit->appendPlainText(str);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PGetTheoryBlockDialog::helpContent()
{
QMessageBox::information(this, "helpContents",
fAdmin->getHelpMain(), QMessageBox::Ok);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,57 @@
/****************************************************************************
PGetTheoryBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PGetTheoryBlockDialog.h 3799 2009-03-22 15:52:11Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETTHEORYBLOCKDIALOG_H_
#define _PGETTHEORYBLOCKDIALOG_H_
#include "PAdmin.h"
#include "ui_PGetTheoryBlockDialog.h"
class PGetTheoryBlockDialog : public QDialog, private Ui::PGetTheoryBlockDialog
{
Q_OBJECT
public:
PGetTheoryBlockDialog(PAdmin *admin = 0, QWidget * parent = 0, Qt::WindowFlags f = 0);
QString getTheoryBlock() { return fTheoryBlock_plainTextEdit->toPlainText(); }
private slots:
QString getTheoFuncString();
void addPlus();
void addMultiply();
void helpContent();
private:
PAdmin *fAdmin;
};
#endif // _PGETTHEORYBLOCKDIALOG_H_

View File

@ -0,0 +1,58 @@
/****************************************************************************
PGetTitleBlockDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QMessageBox>
#include "PGetTitleBlockDialog.h"
//---------------------------------------------------------------------------
/**
* <p>
*/
PGetTitleBlockDialog::PGetTitleBlockDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
{
setupUi(this);
setModal(true);
}
//---------------------------------------------------------------------------
/**
* <p>
*/
void PGetTitleBlockDialog::helpContent()
{
QMessageBox::information(this, "**INFO**", "Will eventually show a help window");
}
//---------------------------------------------------------------------------
// END
//---------------------------------------------------------------------------

View File

@ -0,0 +1,53 @@
/****************************************************************************
PGetTitleBlockDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETTITLEBLOCKDIALOG_H_
#define _PGETTITLEBLOCKDIALOG_H_
#include "musredit.h"
#include "ui_PGetTitleBlockDialog.h"
class PGetTitleBlockDialog : public QDialog, private Ui::PGetTitleBlockDialog
{
Q_OBJECT
public:
PGetTitleBlockDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
virtual ~PGetTitleBlockDialog() {}
QString getTitle() { return fTitle_lineEdit->text(); }
private slots:
void helpContent();
};
#endif // _PGETTITLEBLOCKDIALOG_H_

View File

@ -0,0 +1,251 @@
/****************************************************************************
PMsr2DataDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PMsr2DataDialog.cpp 4328 2010-01-06 06:27:10Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QMessageBox>
#include <QTextEdit>
#include <QCheckBox>
#include "PMsr2DataDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PMsr2DataDialog::PMsr2DataDialog(PMsr2DataParam *msr2DataParam) : fMsr2DataParam(msr2DataParam)
{
setupUi(this);
setModal(true);
QString str;
fRunTag = -1;
fFirst_lineEdit->setValidator( new QIntValidator(fFirst_lineEdit) );
if (fMsr2DataParam->firstRun != -1) {
str = QString("%1").arg(fMsr2DataParam->firstRun);
fFirst_lineEdit->setText(str);
}
fLast_lineEdit->setValidator( new QIntValidator(fLast_lineEdit) );
if (fMsr2DataParam->lastRun != -1) {
str = QString("%1").arg(fMsr2DataParam->lastRun);
fLast_lineEdit->setText(str);
}
if (!fMsr2DataParam->runListFileName.isEmpty()) {
fRunListFileName_lineEdit->setText(fMsr2DataParam->runListFileName);
}
if (!fMsr2DataParam->runList.isEmpty()) {
fRunList_lineEdit->setText(fMsr2DataParam->runList);
}
if (!fMsr2DataParam->msrFileExtension.isEmpty()) {
fMsrFileExtension_lineEdit->setText(fMsr2DataParam->msrFileExtension);
}
fTemplateRunNumber_lineEdit->setValidator( new QIntValidator(fTemplateRunNumber_lineEdit) );
if (fMsr2DataParam->templateRunNo != -1) {
str = QString("%1").arg(fMsr2DataParam->templateRunNo);
fTemplateRunNumber_lineEdit->setText(str);
}
if (!fMsr2DataParam->dbOutputFileName.isEmpty()) {
fDataOutputFileName_lineEdit->setText(fMsr2DataParam->dbOutputFileName);
}
fWriteDataHeader_checkBox->setChecked(fMsr2DataParam->writeDbHeader);
fSummaryPresent_checkBox->setChecked(fMsr2DataParam->summaryFilePresent);
fKeepMinuit2Output_checkBox->setChecked(fMsr2DataParam->keepMinuit2Output);
fWriteColumnData_checkBox->setChecked(fMsr2DataParam->writeColumnData);
fRecreateDataFile_checkBox->setChecked(fMsr2DataParam->recreateDbFile);
fChainFit_checkBox->setChecked(fMsr2DataParam->chainFit);
fOpenFilesAfterFitting_checkBox->setChecked(fMsr2DataParam->openFilesAfterFitting);
fTitleFromData_checkBox->setChecked(fMsr2DataParam->titleFromDataFile);
fCreateMsrFileOnly_checkBox->setChecked(fMsr2DataParam->createMsrFileOnly);
fFitOnly_checkBox->setChecked(fMsr2DataParam->fitOnly);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PMsr2DataParam* PMsr2DataDialog::getMsr2DataParam()
{
if (fFirst_lineEdit->text().isEmpty()) {
fMsr2DataParam->firstRun = -1;
} else {
fMsr2DataParam->firstRun = fFirst_lineEdit->text().toInt();
}
if (fLast_lineEdit->text().isEmpty()) {
fMsr2DataParam->lastRun = -1;
} else {
fMsr2DataParam->lastRun = fLast_lineEdit->text().toInt();
}
fMsr2DataParam->runList = fRunList_lineEdit->text();
fMsr2DataParam->runListFileName = fRunListFileName_lineEdit->text();
fMsr2DataParam->msrFileExtension = fMsrFileExtension_lineEdit->text();
if (fTemplateRunNumber_lineEdit->text().isEmpty()) {
fMsr2DataParam->templateRunNo = -1;
} else {
fMsr2DataParam->templateRunNo = fTemplateRunNumber_lineEdit->text().toInt();
}
fMsr2DataParam->dbOutputFileName = fDataOutputFileName_lineEdit->text();
fMsr2DataParam->writeDbHeader = fWriteDataHeader_checkBox->isChecked();
fMsr2DataParam->summaryFilePresent = fSummaryPresent_checkBox->isChecked();
fMsr2DataParam->keepMinuit2Output = fKeepMinuit2Output_checkBox->isChecked();
fMsr2DataParam->writeColumnData = fWriteColumnData_checkBox->isChecked();
fMsr2DataParam->recreateDbFile = fRecreateDataFile_checkBox->isChecked();
fMsr2DataParam->chainFit = fChainFit_checkBox->isChecked();
fMsr2DataParam->openFilesAfterFitting = fOpenFilesAfterFitting_checkBox->isChecked();
fMsr2DataParam->titleFromDataFile = fTitleFromData_checkBox->isChecked();
fMsr2DataParam->createMsrFileOnly = fCreateMsrFileOnly_checkBox->isChecked();
fMsr2DataParam->fitOnly = fFitOnly_checkBox->isChecked();
return fMsr2DataParam;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::runFirstEntered(const QString &str)
{
if (str.length() == 0)
return;
fRunTag = 0;
if (!fRunList_lineEdit->text().isEmpty())
fRunList_lineEdit->clear();
if (!fRunListFileName_lineEdit->text().isEmpty())
fRunListFileName_lineEdit->clear();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::runLastEntered(const QString &str)
{
if (str.length() == 0)
return;
fRunTag = 0;
if (!fRunList_lineEdit->text().isEmpty())
fRunList_lineEdit->clear();
if (!fRunListFileName_lineEdit->text().isEmpty())
fRunListFileName_lineEdit->clear();
if (fLast_lineEdit->text().length() == 1)
fLast_lineEdit->update();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::runListEntered(const QString &str)
{
if (str.length() == 0)
return;
fRunTag = 1;
if (!fFirst_lineEdit->text().isEmpty())
fFirst_lineEdit->clear();
if (!fLast_lineEdit->text().isEmpty())
fLast_lineEdit->clear();
if (!fRunListFileName_lineEdit->text().isEmpty())
fRunListFileName_lineEdit->clear();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::runListFileNameEntered(const QString &str)
{
if (str.length() == 0)
return;
fRunTag = 2;
if (!fFirst_lineEdit->text().isEmpty())
fFirst_lineEdit->clear();
if (!fLast_lineEdit->text().isEmpty())
fLast_lineEdit->clear();
if (!fRunList_lineEdit->text().isEmpty())
fRunList_lineEdit->clear();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::templateRunEntered(const QString &str)
{
if (!str.isEmpty())
fFitOnly_checkBox->setChecked(false);
fTemplateRunNumber_lineEdit->setText(str);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::createMsrFileOnlyChanged(int buttonState)
{
if (buttonState == Qt::Checked) {
fFitOnly_checkBox->setChecked(false);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PMsr2DataDialog::fitOnlyChanged(int buttonState)
{
if (buttonState == Qt::Checked) {
fCreateMsrFileOnly_checkBox->setChecked(false);
fTemplateRunNumber_lineEdit->clear();
}
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,65 @@
/****************************************************************************
PMsr2DataDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PMSR2DATADIALOG_H_
#define _PMSR2DATADIALOG_H_
#include <QDialog>
#include <QString>
#include "musredit.h"
#include "ui_PMsr2DataDialog.h"
class PMsr2DataDialog : public QDialog, private Ui::PMsr2DataDialog
{
Q_OBJECT
public:
PMsr2DataDialog(PMsr2DataParam *msr2DataParam);
virtual int getRunTag() { return fRunTag; }
virtual PMsr2DataParam* getMsr2DataParam();
public slots:
void runFirstEntered(const QString&);
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
PMsr2DataParam *fMsr2DataParam;
};
#endif // _PMSR2DATADIALOG_H_

View File

@ -0,0 +1,47 @@
/****************************************************************************
PMusrEditAbout.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "PMusrEditAbout.h"
//---------------------------------------------------------------------------
/**
* <p>
*/
PMusrEditAbout::PMusrEditAbout(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
{
setupUi(this);
setModal(true);
}
//---------------------------------------------------------------------------
// END
//---------------------------------------------------------------------------

View File

@ -0,0 +1,48 @@
/****************************************************************************
PMusrEditAbout.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PMUSREDITABOUT_H_
#define _PMUSREDITABOUT_H_
#include "musredit.h"
#include "ui_PMusrEditAbout.h"
class PMusrEditAbout : public QDialog, private Ui::PMusrEditAbout
{
Q_OBJECT
public:
PMusrEditAbout(QWidget *parent = 0, Qt::WindowFlags f = 0);
virtual ~PMusrEditAbout() {}
};
#endif // _PMUSREDITABOUT_H_

View File

@ -0,0 +1,103 @@
/****************************************************************************
PPrefsDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PPrefsDialog.cpp 4032 2009-06-26 05:31:33Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "PPrefsDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PPrefsDialog::PPrefsDialog(const bool keep_mn2_output, const int dump_tag, const bool title_from_data_file,
const bool enable_musrt0)
{
setupUi(this);
setModal(true);
if (keep_mn2_output)
fKeepMn2Output_checkBox->setChecked(true);
else
fKeepMn2Output_checkBox->setChecked(false);
if (dump_tag == 1) {
fDumpAscii_checkBox->setChecked(true);
fDumpRoot_checkBox->setChecked(false);
} else if (dump_tag == 2) {
fDumpAscii_checkBox->setChecked(false);
fDumpRoot_checkBox->setChecked(true);
} else {
fDumpAscii_checkBox->setChecked(false);
fDumpRoot_checkBox->setChecked(false);
}
fTitleFromData_checkBox->setChecked(title_from_data_file);
fEnableMusrT0_checkBox->setChecked(enable_musrt0);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
int PPrefsDialog::getDump()
{
int result = 0;
if (fDumpAscii_checkBox->isChecked())
result = 1;
else if (fDumpRoot_checkBox->isChecked())
result = 2;
return result;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PPrefsDialog::dumpAscii()
{
if (fDumpAscii_checkBox->isChecked())
fDumpRoot_checkBox->setChecked(false);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PPrefsDialog::dumpRoot()
{
if (fDumpRoot_checkBox->isChecked())
fDumpAscii_checkBox->setChecked(false);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,57 @@
/****************************************************************************
PPrefsDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PPREFSDIALOG_H_
#define _PPREFSDIALOG_H_
#include <QCheckBox>
#include "ui_PPrefsDialog.h"
class PPrefsDialog : public QDialog, private Ui::PPrefsDialog
{
Q_OBJECT
public:
PPrefsDialog(const bool keep_mn2_output, const int dump_tag, const bool title_from_data_file,
const bool enable_musrt0);
bool getKeepMinuit2OutputFlag() { return fKeepMn2Output_checkBox->isChecked(); }
bool getTitleFromDataFileFlag() { return fTitleFromData_checkBox->isChecked(); }
bool getEnableMusrT0Flag() { return fEnableMusrT0_checkBox->isChecked(); }
int getDump();
public slots:
void dumpAscii();
void dumpRoot();
};
#endif // _PPREFSDIALOG_H_

View File

@ -0,0 +1,43 @@
/****************************************************************************
PReplaceConfirmationDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "PReplaceConfirmationDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PReplaceConfirmationDialog::PReplaceConfirmationDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
{
setupUi(this);
setModal(true);
}

View File

@ -0,0 +1,49 @@
/****************************************************************************
PReplaceConfirmationDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PREPLACECONFIRMATIONDIALOG_H_
#define _PREPLACECONFIRMATIONDIALOG_H_
#include <QDialog>
#include <QWidget>
#include "ui_PReplaceConfirmationDialog.h"
class PReplaceConfirmationDialog : public QDialog, public Ui::PReplaceConfirmationDialog
{
Q_OBJECT
public:
PReplaceConfirmationDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
virtual ~PReplaceConfirmationDialog() {}
};
#endif // _PREPLACECONFIRMATIONDIALOG_H_

View File

@ -0,0 +1,106 @@
/****************************************************************************
PReplaceDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PReplaceDialog.cpp 3918 2009-05-14 19:26:30Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QPushButton>
#include <QComboBox>
#include <QCheckBox>
#include "PReplaceDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PReplaceDialog::PReplaceDialog(PFindReplaceData *data, const bool selection, QWidget *parent, Qt::WindowFlags f) :
QDialog(parent, f), fData(data)
{
setupUi(this);
setModal(true);
// if only empty text, disable find button
if (fData->findText == "") {
fReplace_pushButton->setEnabled(false);
}
// if there is no selection, disable that option
if (!selection) {
fSelectedText_checkBox->setChecked(false);
fSelectedText_checkBox->setEnabled(false);
}
fFind_comboBox->setItemText(0, fData->findText);
fReplacementText_comboBox->setItemText(0, fData->replaceText);
fCaseSensitive_checkBox->setChecked(fData->caseSensitive);
fWholeWordsOnly_checkBox->setChecked(fData->wholeWordsOnly);
fFromCursor_checkBox->setChecked(fData->fromCursor);
fFindBackwards_checkBox->setChecked(fData->findBackwards);
fPromptOnReplace_checkBox->setChecked(fData->promptOnReplace);
if (selection) {
fSelectedText_checkBox->setChecked(fData->selectedText);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PFindReplaceData* PReplaceDialog::getData()
{
fData->findText = fFind_comboBox->currentText();
fData->replaceText = fReplacementText_comboBox->currentText();
fData->caseSensitive = fCaseSensitive_checkBox->isChecked();
fData->wholeWordsOnly = fWholeWordsOnly_checkBox->isChecked();
fData->fromCursor = fFromCursor_checkBox->isChecked();
fData->findBackwards = fFindBackwards_checkBox->isChecked();
if (fSelectedText_checkBox->isEnabled())
fData->selectedText = fSelectedText_checkBox->isChecked();
fData->promptOnReplace = fPromptOnReplace_checkBox->isChecked();
return fData;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PReplaceDialog::onFindTextAvailable(const QString&)
{
if (fFind_comboBox->currentText() != "")
fReplace_pushButton->setEnabled(true);
else
fReplace_pushButton->setEnabled(false);
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,55 @@
/****************************************************************************
PReplaceDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PREPLACEDIALOG_H_
#define _PREPLACEDIALOG_H_
#include "musredit.h"
#include "ui_PReplaceDialog.h"
class PReplaceDialog : public QDialog, private Ui::PReplaceDialog
{
Q_OBJECT
public:
PReplaceDialog(PFindReplaceData *data, const bool selection, QWidget *parent = 0, Qt::WindowFlags f = 0);
virtual ~PReplaceDialog() {}
virtual PFindReplaceData *getData();
protected slots:
virtual void onFindTextAvailable(const QString&);
private:
PFindReplaceData *fData;
};
#endif // _PREPLACEDIALOG_H_

View File

@ -0,0 +1,602 @@
/****************************************************************************
PSubTextEdit.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PSubTextEdit.cpp 3936 2009-05-22 11:38:21Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QAction>
#include <QMenu>
#include <QDateTime>
#include <QLineEdit>
#include <QComboBox>
#include <QMessageBox>
#include <QIconSet>
#include <QPixmap>
#include <QImage>
#include "PAdmin.h"
#include "PSubTextEdit.h"
#include "PGetTitleBlockDialog.h"
#include "PGetParameterBlockDialog.h"
#include "PGetTheoryBlockDialog.h"
#include "PGetFunctionsBlockDialog.h"
#include "PGetAsymmetryRunBlockDialog.h"
#include "PGetSingleHistoRunBlockDialog.h"
#include "PGetNonMusrRunBlockDialog.h"
#include "PGetFourierBlockDialog.h"
#include "PGetPlotBlockDialog.h"
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
PSubTextEdit::PSubTextEdit(PAdmin *admin, QWidget *parent) :
QPlainTextEdit(parent),
fAdmin(admin)
{
// fLastModified = QDateTime::fromString("1900-01-01 00:00:00");
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
QMenu* PSubTextEdit::createPopupMenu(const QPoint &pos)
{
QMenu *menu = new QMenu( this );
QMenu *theoryFunctions = new QMenu( menu );
QAction *a;
a = new QAction( tr("insert Title"), this);
a->setStatusTip( tr("insert a title") );
connect(a, SIGNAL( activated() ), this, SLOT( insertTitle() ));
menu->addAction(a);
a = new QAction(tr("insert Parameter Block"), this);
a->setStatusTip( tr("insert a parameter block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertParameterBlock() ));
menu->addAction(a);
// feed the theoryFunctions popup menu
for (unsigned int i=0; i<fAdmin->getTheoryCounts(); i++) {
PTheory *theoryItem = fAdmin->getTheoryItem(i);
a = new QAction( theoryItem->label, this);
theoryFunctions->addAction(a);
}
theoryFunctions->setTitle( tr("insert theory function") );
menu->addMenu(theoryFunctions);
connect(theoryFunctions, SIGNAL( activated(int) ), this, SLOT( insertTheoryFunction(int) ));
a = new QAction(tr("insert Theory Block"), this);
a->setStatusTip( tr("insert a theory block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertTheoryBlock() ));
menu->addAction(a);
a = new QAction(tr("insert Function Block"), this);
a->setStatusTip( tr("insert a function block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertFunctionBlock() ));
menu->addAction(a);
menu->addSeparator();
a = new QAction(tr("insert Asymmetry Run Block"), this);
a->setStatusTip( tr("insert an asymmetry run block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertAsymRunBlock() ));
menu->addAction(a);
a = new QAction(tr("insert Single Histo Run Block"), this);
a->setStatusTip( tr("insert a single histo run block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertSingleHistRunBlock() ));
menu->addAction(a);
a = new QAction(tr("insert NonMusr Block"), this);
a->setStatusTip( tr("insert a NonMusr run block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertNonMusrRunBlock() ));
menu->addAction(a);
menu->addSeparator();
a = new QAction(tr("insert Command Block"), this);
a->setStatusTip( tr("insert a command block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertCommandBlock() ));
menu->addAction(a);
a = new QAction(tr("insert Fourier Block"), this);
a->setStatusTip( tr("insert a Fourier block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertFourierBlock() ));
menu->addAction(a);
a = new QAction(tr("insert Plot Block"), this);
a->setStatusTip( tr("insert a plot block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertPlotBlock() ));
menu->addAction(a);
a = new QAction(tr("insert Statistic Block"), this);
a->setStatusTip( tr("insert a statistic block") );
connect(a, SIGNAL( activated() ), this, SLOT( insertStatisticBlock() ));
menu->addAction(a);
return menu;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertTitle()
{
PGetTitleBlockDialog *dlg = new PGetTitleBlockDialog();
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
QString title = dlg->getTitle();
insertPlainText(title+"\n");
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertParameterBlock()
{
PGetParameterBlockDialog *dlg = new PGetParameterBlockDialog();
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
insertPlainText(dlg->getParams());
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertTheoryFunction(int idx)
{
if (idx < 300)
return;
int index = idx - 300;
if (index >= (int)fAdmin->getTheoryCounts())
return;
QString str = "????";
PTheory *theoItem = fAdmin->getTheoryItem(index);
if (theoItem == 0)
return;
// add theory function name
str = theoItem->name + " ";
if (theoItem->name == "userFcn") {
str += "libMyLibrary.so TMyFunction ";
}
// add pseudo parameters
for (int i=0; i<theoItem->params; i++) {
str += QString("%1").arg(i+1) + " ";
}
// add comment
str += theoItem->comment;
// add newline
str += "\n";
insertPlainText(str);
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertTheoryBlock()
{
PGetTheoryBlockDialog *dlg = new PGetTheoryBlockDialog(fAdmin);
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
insertPlainText(dlg->getTheoryBlock());
insertPlainText("\n");
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertFunctionBlock()
{
PGetFunctionsBlockDialog *dlg = new PGetFunctionsBlockDialog(fAdmin->getHelpMain());
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
insertPlainText(dlg->getFunctionsBlock());
insertPlainText("\n\n");
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertAsymRunBlock()
{
PGetAsymmetryRunBlockDialog *dlg = new PGetAsymmetryRunBlockDialog(fAdmin->getHelpMain());
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
QString str, workStr;
bool valid = true, present = true;
// check if there is already a run block present, necessary because of the '####' line
// STILL MISSING
// add run line
str += dlg->getRunHeaderInfo();
// add fittype
str += "fittype 2 (asymmetry fit)\n";
// add alpha if present
workStr = dlg->getAlphaParameter(present);
if (present) {
str += workStr;
}
// add beta if present
workStr = dlg->getBetaParameter(present);
if (present) {
str += workStr;
}
// add map
workStr = dlg->getMap(valid);
if (valid) {
str += workStr;
} else {
QMessageBox::critical(this, "**ERROR**",
"Given map not valid, will add a default map line",
QMessageBox::Ok, QMessageBox::NoButton);
str += "map 0 0 0 0 0 0 0 0 0 0\n";
}
// add forward
str += dlg->getForward();
// add backward
str += dlg->getBackward();
// add background or backgr.fix
workStr = dlg->getBackground(valid);
str += workStr;
if (!valid) {
QMessageBox::critical(this, "**ERROR**",
"Either <b>background</b> or <b>backgr.fix</b> is needed!\nWill set <b>background</b> to 0..10, please correct!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add data
workStr = dlg->getData(valid);
if (valid) {
str += workStr;
} else {
QMessageBox::critical(this, "**ERROR**",
"Not all Data entries are present.Fix is needed!\nWill not set anything!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add t0 if present
workStr = dlg->getT0(present);
if (present) {
str += workStr;
} else {
QMessageBox::warning(this, "**ERROR**",
"T0's not given, assume that they are present in the data file!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add fit range
workStr = dlg->getFitRange(valid);
str += workStr;
if (!valid) {
QMessageBox::critical(this, "**ERROR**",
"No valid fit range is given.Fix is needed!\nWill add a default one!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add packing
workStr = dlg->getPacking(present);
str += workStr;
if (!present) {
QMessageBox::critical(this, "**ERROR**",
"No valid packing/binning is given.Fix is needed!\nWill add a default one!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// insert Asymmetry Run Block at the current cursor position
insertPlainText(str);
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertSingleHistRunBlock()
{
PGetSingleHistoRunBlockDialog *dlg = new PGetSingleHistoRunBlockDialog(fAdmin->getHelpMain());
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
QString str, workStr;
bool valid = true, present = true;
// check if there is already a run block present, necessary because of the '####' line
// STILL MISSING
// add run line
str += dlg->getRunHeaderInfo();
// add fittype
str += "fittype 0 (single histogram fit)\n";
// add map
workStr = dlg->getMap(valid);
if (valid) {
str += workStr;
} else {
QMessageBox::critical(this, "**ERROR**",
"Given map not valid, will add a default map line",
QMessageBox::Ok, QMessageBox::NoButton);
str += "map 0 0 0 0 0 0 0 0 0 0\n";
}
// add forward
str += dlg->getForward();
// add norm
str += dlg->getNorm();
// add lifetime parameter
workStr = dlg->getMuonLifetimeParam(present);
if (present) {
str += workStr;
}
// add lifetime correction flag if present
workStr = dlg->getLifetimeCorrection(present);
if (present) {
str += workStr;
}
// add background, backgr.fix or backgr.fit
workStr = dlg->getBackground(valid);
str += workStr;
if (!valid) {
QMessageBox::critical(this, "**ERROR**",
"Either <b>background</b>, <b>backgr.fix</b>, or <b>backgr.fit</b> is needed!\nWill set <b>background</b> to 0..10, please correct!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add t0 if present
workStr = dlg->getT0(present);
if (present) {
str += workStr;
} else {
QMessageBox::warning(this, "**ERROR**",
"T0's not given, assume that they are present in the data file!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add data
workStr = dlg->getData(valid);
if (valid) {
str += workStr;
} else {
QMessageBox::critical(this, "**ERROR**",
"Not all Data entries are present.Fix is needed!\nWill not set anything!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add fit range
workStr = dlg->getFitRange(valid);
str += workStr;
if (!valid) {
QMessageBox::critical(this, "**ERROR**",
"No valid fit range is given.Fix is needed!\nWill add a default one!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add packing
workStr = dlg->getPacking(present);
str += workStr;
if (!present) {
QMessageBox::critical(this, "**ERROR**",
"No valid packing/binning is given.Fix is needed!\nWill add a default one!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// insert Single Histogram Run Block at the current cursor position
insertPlainText(str);
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertNonMusrRunBlock()
{
PGetNonMusrRunBlockDialog *dlg = new PGetNonMusrRunBlockDialog(fAdmin->getHelpMain());
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
QString str, workStr;
bool valid = true;
// check if there is already a run block present, necessary because of the '####' line
// STILL MISSING
// add run line
str += dlg->getRunHeaderInfo();
// add fittype
str += "fittype 8 (non musr fit)\n";
// add map
workStr = dlg->getMap(valid);
if (valid) {
str += workStr;
} else {
QMessageBox::critical(this, "**ERROR**",
"Given map not valid, will add a default map line",
QMessageBox::Ok, QMessageBox::NoButton);
str += "map 0 0 0 0 0 0 0 0 0 0\n";
}
// add xy-data
workStr = dlg->getXYData(valid);
if (valid) {
str += workStr;
} else {
QMessageBox::critical(this, "**ERROR**",
"Not all xy-data entries are present.Fix is needed!\nWill not set anything!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add fit range
workStr = dlg->getFitRange(valid);
str += workStr;
if (!valid) {
QMessageBox::critical(this, "**ERROR**",
"No valid fit range is given.Fix is needed!\nWill add a default one!",
QMessageBox::Ok, QMessageBox::NoButton);
}
// add packing
str += "packing 1\n";
// insert NonMusr Run Block at the current cursor position
insertPlainText(str);
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertCommandBlock()
{
insertPlainText("###############################################################\n");
insertPlainText("COMMANDS\n");
insertPlainText("SET BATCH\n");
insertPlainText("STRATEGY 1\n");
insertPlainText("MINIMIZE\n");
insertPlainText("#MINOS\n");
insertPlainText("SAVE\n");
insertPlainText("END RETURN\n\n");
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertFourierBlock()
{
PGetFourierBlockDialog *dlg = new PGetFourierBlockDialog();
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
insertPlainText(dlg->getFourierBlock()+"\n");
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertPlotBlock()
{
PGetPlotBlockDialog *dlg = new PGetPlotBlockDialog();
if (dlg == 0)
return;
if (dlg->exec() == QDialog::Accepted) {
insertPlainText(dlg->getPlotBlock()+"\n");
}
delete dlg;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>
*/
void PSubTextEdit::insertStatisticBlock()
{
QDateTime dt = QDateTime::currentDateTime();
insertPlainText("###############################################################\n");
insertPlainText("STATISTIC --- " + dt.toString("yyyy-MM-dd hh:mm:ss") + "\n");
insertPlainText("chisq = ????, NDF = ????, chisq/NDF = ????\n\n");
}
//----------------------------------------------------------------------------------------------------
// END
//----------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,73 @@
/****************************************************************************
PSubTextEdit.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id: PSubTextEdit.h 3936 2009-05-22 11:38:21Z nemu $
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PSUBTEXTEDIT_H_
#define _PSUBTEXTEDIT_H_
#include <QPlainTextEdit>
#include <QDateTime>
#include "PAdmin.h"
class PSubTextEdit : public QPlainTextEdit
{
Q_OBJECT
public:
PSubTextEdit(PAdmin *admin = 0, QWidget *parent = 0);
virtual ~PSubTextEdit() {}
void setLastModified(const QDateTime &lastModified) { fLastModified = lastModified; }
QDateTime getLastModified() const { return fLastModified; }
public slots:
void insertTitle();
void insertParameterBlock();
void insertTheoryFunction(int idx);
void insertTheoryBlock();
void insertFunctionBlock();
void insertAsymRunBlock();
void insertSingleHistRunBlock();
void insertNonMusrRunBlock();
void insertCommandBlock();
void insertFourierBlock();
void insertPlotBlock();
void insertStatisticBlock();
protected:
virtual QMenu *createPopupMenu( const QPoint &pos);
private:
PAdmin *fAdmin;
QDateTime fLastModified;
};
#endif // _PSUBTEXTEDIT_H_

2257
src/musredit/PTextEdit.cpp Normal file

File diff suppressed because it is too large Load Diff

159
src/musredit/PTextEdit.h Normal file
View File

@ -0,0 +1,159 @@
/****************************************************************************
PTextEdit.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PTEXTEDIT_H_
#define _PTEXTEDIT_H_
#include <QMainWindow>
#include <QMap>
#include "musredit.h"
//#include "PFileWatcher.h"
class PSubTextEdit;
class PAdmin;
class QAction;
class QComboBox;
class QTabWidget;
class QTextEdit;
class QMenu;
class PTextEdit : public QMainWindow
{
Q_OBJECT
public:
PTextEdit( QWidget *parent = 0, Qt::WindowFlags f = 0 );
virtual ~PTextEdit();
signals:
void close();
private:
void setupFileActions();
void setupEditActions();
void setupTextActions();
void setupMusrActions();
void setupHelpActions();
void load( const QString &f, const int index=-1 );
PSubTextEdit *currentEditor() const;
void doConnections( PSubTextEdit *e );
bool validRunList(const QString runList);
private slots:
void insertTitle();
void insertParameterBlock();
void insertTheoryBlock();
void insertFunctionBlock();
void insertAsymRunBlock();
void insertSingleHistRunBlock();
void insertNonMusrRunBlock();
void insertCommandBlock();
void insertFourierBlock();
void insertPlotBlock();
void insertStatisticBlock();
void fileNew();
void fileOpen();
void fileReload();
void fileSave();
void fileSaveAs();
void filePrint();
void fileClose( const bool check = true );
void fileCloseAll();
void fileCloseAllOthers();
void fileExit();
void editUndo();
void editRedo();
void editSelectAll();
void editCut();
void editCopy();
void editPaste();
void editFind();
void editFindNext();
void editFindPrevious();
void editFindAndReplace();
void editComment();
void textFamily( const QString &f );
void textSize( const QString &p );
void musrGetAsymmetryDefault();
void musrGetSingleHistoDefault();
void musrCalcChisq();
void musrFit();
void musrMsr2Data();
void musrView();
void musrT0();
void musrPrefs();
void musrSwapMsrMlog();
void helpContents();
void helpAboutQt();
void helpAbout();
void fontChanged( const QFont &f );
void textChanged(const bool forced = false);
void currentCursorPosition();
void replace();
void replaceAndClose();
void replaceAll();
void applyFontSettings(QWidget*);
void checkIfModified(QWidget*);
private:
PAdmin *fAdmin;
QAction *fMusrT0Action;
bool fKeepMinuit2Output;
bool fTitleFromDataFile;
bool fEnableMusrT0;
int fDump;
PMsr2DataParam *fMsr2DataParam;
PFindReplaceData *fFindReplaceData;
QComboBox *fComboFont;
QComboBox *fComboSize;
bool fFontChanging; ///< flag needed to prevent some textChanged feature to occure when only the font changed
QTabWidget *fTabWidget;
QMap<PSubTextEdit*, QString> fFilenames;
// PFileWatcher *fFileWatcher;
};
#endif // _PTEXTEDIT_H_

View File

@ -0,0 +1,59 @@
TITLE
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 alpha 0.989765 1.0 none 0 none
2 asy 0.26 0.1 none 0 0.33
3 phase 8.5 1.0 none
4 field 100.0 0.1 none 0 none
5 rate 0.36 0.02 none 0 100
###############################################################
THEORY
asymmetry 2
TFieldCos 3 fun1 (phase frequency)
simplExpo 5
###############################################################
FUNCTIONS
fun1 = par4 * gamma_mu
###############################################################
RUN lem07_his_0147 MUE4 PSI ROOT-NPP (name beamline institute data-file-format)
fittype 2 (asymmetry fit)
alpha 1
map 0 0 0 0 0 0 0 0 0 0
forward 1
backward 3
background 65000 66500 65000 66500
data 3413 63000 3413 63000
t0 3413 3413
fit 0.00 8.00 (fw bw)
packing 75
###############################################################
COMMANDS
SET BATCH
MINIMIZE
MINOS
SAVE
END RETURN
###############################################################
FOURIER
units Gauss # fourier in field units
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot power
phase 8.5
#range_for_phase_correction 50.0 70.0
range 0.0 200.0
###############################################################
PLOT 2 (asymmetry plot)
runs 1
range 0.00 8.00 -0.30 0.30
###############################################################
STATISTIC --- 2008-04-04 07:44:31
chisq = 569.50931, NDF = 542, chisq/NDF = 1.05075518

View File

@ -0,0 +1,246 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PFindDialog</class>
<widget class="QDialog" name="PFindDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>345</width>
<height>237</height>
</rect>
</property>
<property name="windowTitle">
<string>Find Text - musredit</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QGroupBox" name="fFind_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>341</width>
<height>81</height>
</rect>
</property>
<property name="title">
<string>Find</string>
</property>
<widget class="QLabel" name="fFind_label">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Text to find:</string>
</property>
</widget>
<widget class="QComboBox" name="fFind_comboBox">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>321</width>
<height>31</height>
</rect>
</property>
<property name="editable">
<bool>true</bool>
</property>
</widget>
</widget>
<widget class="QPushButton" name="fFind_pushButton">
<property name="geometry">
<rect>
<x>190</x>
<y>210</y>
<width>71</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Find</string>
</property>
</widget>
<widget class="QPushButton" name="fClose_pushButton">
<property name="geometry">
<rect>
<x>270</x>
<y>210</y>
<width>71</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Close</string>
</property>
</widget>
<widget class="QGroupBox" name="fOptions_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>80</y>
<width>341</width>
<height>121</height>
</rect>
</property>
<property name="title">
<string>Options</string>
</property>
<property name="alignment">
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
</property>
<widget class="QCheckBox" name="fCaseSensitive_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>C&amp;ase Sensitive</string>
</property>
</widget>
<widget class="QCheckBox" name="fWholeWordsOnly_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>60</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Whole words only</string>
</property>
</widget>
<widget class="QCheckBox" name="fFromCursor_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>90</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>From c&amp;ursor</string>
</property>
</widget>
<widget class="QCheckBox" name="fFindBackwards_checkBox">
<property name="geometry">
<rect>
<x>180</x>
<y>30</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Find &amp;backwards</string>
</property>
</widget>
<widget class="QCheckBox" name="fSelectedText_checkBox">
<property name="geometry">
<rect>
<x>180</x>
<y>60</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Selected text</string>
</property>
</widget>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>0</x>
<y>200</y>
<width>351</width>
<height>16</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</widget>
<tabstops>
<tabstop>fFind_comboBox</tabstop>
<tabstop>fCaseSensitive_checkBox</tabstop>
<tabstop>fWholeWordsOnly_checkBox</tabstop>
<tabstop>fFromCursor_checkBox</tabstop>
<tabstop>fFindBackwards_checkBox</tabstop>
<tabstop>fSelectedText_checkBox</tabstop>
<tabstop>fFind_pushButton</tabstop>
<tabstop>fClose_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fClose_pushButton</sender>
<signal>clicked()</signal>
<receiver>PFindDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>287</x>
<y>205</y>
</hint>
<hint type="destinationlabel">
<x>344</x>
<y>228</y>
</hint>
</hints>
</connection>
<connection>
<sender>fFind_pushButton</sender>
<signal>clicked()</signal>
<receiver>PFindDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>208</x>
<y>211</y>
</hint>
<hint type="destinationlabel">
<x>171</x>
<y>211</y>
</hint>
</hints>
</connection>
<connection>
<sender>fFind_comboBox</sender>
<signal>editTextChanged(QString)</signal>
<receiver>PFindDialog</receiver>
<slot>onFindTextAvailable(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>126</x>
<y>58</y>
</hint>
<hint type="destinationlabel">
<x>105</x>
<y>218</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onFindTextAvailable(QString)</slot>
</slots>
</ui>

View File

@ -0,0 +1,707 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetAsymmetryRunBlockDialog</class>
<widget class="QDialog" name="PGetAsymmetryRunBlockDialog">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>446</width>
<height>503</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Asymmetry Run Block Parameters</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QGroupBox" name="fRunHeaderInfo_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>441</width>
<height>121</height>
</rect>
</property>
<property name="title">
<string>Run Header Info</string>
</property>
<widget class="QLabel" name="fRunFileName_label">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Run File Name</string>
</property>
</widget>
<widget class="QLabel" name="fBeamline_label">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>71</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Beamline</string>
</property>
</widget>
<widget class="QLabel" name="fInstitute_label">
<property name="geometry">
<rect>
<x>20</x>
<y>90</y>
<width>56</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Institute</string>
</property>
</widget>
<widget class="QLabel" name="fFileFormat_label">
<property name="geometry">
<rect>
<x>260</x>
<y>90</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>File Format</string>
</property>
</widget>
<widget class="QLineEdit" name="fRunFileName_lineEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>26</y>
<width>311</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBeamline_lineEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>56</y>
<width>113</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QComboBox" name="fInstitute_comboBox">
<property name="geometry">
<rect>
<x>120</x>
<y>86</y>
<width>77</width>
<height>25</height>
</rect>
</property>
<item>
<property name="text">
<string>PSI</string>
</property>
</item>
<item>
<property name="text">
<string>RAL</string>
</property>
</item>
<item>
<property name="text">
<string>TRIUMF</string>
</property>
</item>
<item>
<property name="text">
<string>JPARC</string>
</property>
</item>
</widget>
<widget class="QComboBox" name="fFileFormat_comboBox">
<property name="geometry">
<rect>
<x>336</x>
<y>86</y>
<width>91</width>
<height>25</height>
</rect>
</property>
<item>
<property name="text">
<string>NeXuS</string>
</property>
</item>
<item>
<property name="text">
<string>ROOT-NPP</string>
</property>
</item>
<item>
<property name="text">
<string>ROOT-PPC</string>
</property>
</item>
<item>
<property name="text">
<string>PSI-BIN</string>
</property>
</item>
<item>
<property name="text">
<string>PSI-MDU</string>
</property>
</item>
<item>
<property name="text">
<string>MUD</string>
</property>
</item>
<item>
<property name="text">
<string>MDU-ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>DB</string>
</property>
</item>
</widget>
</widget>
<widget class="QGroupBox" name="fRequiredEntries_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>120</y>
<width>441</width>
<height>241</height>
</rect>
</property>
<property name="title">
<string>Required Entries</string>
</property>
<widget class="QLabel" name="fMap_label">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>56</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Map</string>
</property>
</widget>
<widget class="QLabel" name="fForwardHistoNo_label">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Forward Histo No</string>
</property>
</widget>
<widget class="QLabel" name="fBackwardHistoNo_label">
<property name="geometry">
<rect>
<x>240</x>
<y>60</y>
<width>121</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Backward Histo No</string>
</property>
</widget>
<widget class="QLabel" name="fDataRange_label">
<property name="geometry">
<rect>
<x>20</x>
<y>90</y>
<width>81</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Data Range</string>
</property>
</widget>
<widget class="QLabel" name="fBackgroundFix_label">
<property name="geometry">
<rect>
<x>20</x>
<y>120</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Background Fix</string>
</property>
</widget>
<widget class="QLabel" name="fOr_label">
<property name="geometry">
<rect>
<x>310</x>
<y>120</y>
<width>31</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>OR</string>
</property>
</widget>
<widget class="QLabel" name="fBackgroundRange_label">
<property name="geometry">
<rect>
<x>20</x>
<y>150</y>
<width>121</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Background Range</string>
</property>
</widget>
<widget class="QLabel" name="fFitRange_label">
<property name="geometry">
<rect>
<x>20</x>
<y>180</y>
<width>71</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Fit Range</string>
</property>
</widget>
<widget class="QLineEdit" name="fMap_lineEdit">
<property name="geometry">
<rect>
<x>60</x>
<y>26</y>
<width>371</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>0 0 0 0 0 0 0 0 0</string>
</property>
</widget>
<widget class="QLineEdit" name="fForwardHistoNo_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>56</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackwardHistoNo_lineEdit">
<property name="geometry">
<rect>
<x>360</x>
<y>56</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fDataForwardStart_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>86</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fDataForwardEnd_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>86</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fDataBackwardStart_lineEdit">
<property name="geometry">
<rect>
<x>290</x>
<y>86</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fDataBackwardEnd_lineEdit">
<property name="geometry">
<rect>
<x>360</x>
<y>86</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundForwardFix_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>116</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundBackwardFix_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>116</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundForwardStart_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>146</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundForwardEnd_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>146</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundBackwardStart_lineEdit">
<property name="geometry">
<rect>
<x>290</x>
<y>146</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundBackwardEnd_lineEdit">
<property name="geometry">
<rect>
<x>360</x>
<y>146</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fFitRangeStart_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>176</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fFitRangeEnd_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>176</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fPacking_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>206</y>
<width>71</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>1</string>
</property>
</widget>
<widget class="QLabel" name="fPacking_textLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>210</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Packing/Binning</string>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="fOptionalEntries_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>360</y>
<width>441</width>
<height>91</height>
</rect>
</property>
<property name="title">
<string>Optional Entries</string>
</property>
<widget class="QLabel" name="fAplha_textLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>131</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Alpha (default = 1.0)</string>
</property>
</widget>
<widget class="QLabel" name="fBeta_label">
<property name="geometry">
<rect>
<x>240</x>
<y>30</y>
<width>121</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Beta (default = 1.0)</string>
</property>
</widget>
<widget class="QLabel" name="fT0_label">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>241</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>t0 (reqired if not given in the data file)</string>
</property>
</widget>
<widget class="QLineEdit" name="fAlpha_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>26</y>
<width>71</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLineEdit" name="fBeta_lineEdit">
<property name="geometry">
<rect>
<x>360</x>
<y>26</y>
<width>71</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLineEdit" name="fT0Forward_lineEdit">
<property name="geometry">
<rect>
<x>290</x>
<y>56</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fT0Backward_lineEdit">
<property name="geometry">
<rect>
<x>360</x>
<y>56</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>460</y>
<width>441</width>
<height>36</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>188</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetAsymmetryRunBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>458</x>
<y>434</y>
</hint>
<hint type="destinationlabel">
<x>471</x>
<y>415</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetAsymmetryRunBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>394</x>
<y>438</y>
</hint>
<hint type="destinationlabel">
<x>407</x>
<y>406</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetAsymmetryRunBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>47</x>
<y>437</y>
</hint>
<hint type="destinationlabel">
<x>70</x>
<y>398</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
</slots>
</ui>

View File

@ -0,0 +1,312 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetDefaultDialog</class>
<widget class="QDialog" name="PGetDefaultDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>168</height>
</rect>
</property>
<property name="windowTitle">
<string>Run</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>130</y>
<width>381</width>
<height>25</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>381</width>
<height>22</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="fRunFileName_label">
<property name="text">
<string>Run File Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fRunFileName_lineEdit"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>381</width>
<height>22</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="fBeamline_label">
<property name="minimumSize">
<size>
<width>68</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Beamline</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fBeamline_lineEdit"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>70</y>
<width>156</width>
<height>22</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="fInstitute_label">
<property name="minimumSize">
<size>
<width>68</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Institute</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fInstitute_comboBox">
<property name="minimumSize">
<size>
<width>80</width>
<height>0</height>
</size>
</property>
<item>
<property name="text">
<string>PSI</string>
</property>
</item>
<item>
<property name="text">
<string>RAL</string>
</property>
</item>
<item>
<property name="text">
<string>TRIUMF</string>
</property>
</item>
<item>
<property name="text">
<string>JPARC</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>100</y>
<width>156</width>
<height>22</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="fFileFormat_label">
<property name="minimumSize">
<size>
<width>68</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>File Format</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fFileFormat_comboBox">
<item>
<property name="text">
<string>NeXuS</string>
</property>
</item>
<item>
<property name="text">
<string>ROOT-NPP</string>
</property>
</item>
<item>
<property name="text">
<string>ROOT-PPC</string>
</property>
</item>
<item>
<property name="text">
<string>PSI-BIN</string>
</property>
</item>
<item>
<property name="text">
<string>MDU</string>
</property>
</item>
<item>
<property name="text">
<string>MDU-ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>MUD</string>
</property>
</item>
<item>
<property name="text">
<string>WKM</string>
</property>
</item>
<item>
<property name="text">
<string>ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>DB</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetDefaultDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>337</x>
<y>272</y>
</hint>
<hint type="destinationlabel">
<x>355</x>
<y>225</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetDefaultDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>286</x>
<y>265</y>
</hint>
<hint type="destinationlabel">
<x>243</x>
<y>227</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetDefaultDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>50</x>
<y>273</y>
</hint>
<hint type="destinationlabel">
<x>115</x>
<y>221</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
</slots>
</ui>

View File

@ -0,0 +1,391 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetFourierBlockDialog</class>
<widget class="QDialog" name="PGetFourierBlockDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Fourier</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>260</y>
<width>381</width>
<height>32</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLabel" name="fUnits_label">
<property name="geometry">
<rect>
<x>40</x>
<y>20</y>
<width>61</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Units</string>
</property>
</widget>
<widget class="QLabel" name="fFourierPower_label">
<property name="geometry">
<rect>
<x>30</x>
<y>40</y>
<width>151</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Fourier Power</string>
</property>
</widget>
<widget class="QLabel" name="fApodization_label">
<property name="geometry">
<rect>
<x>40</x>
<y>70</y>
<width>141</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Apodization</string>
</property>
</widget>
<widget class="QLabel" name="fPlot_label">
<property name="geometry">
<rect>
<x>50</x>
<y>100</y>
<width>61</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Plot</string>
</property>
</widget>
<widget class="QLabel" name="fPhase_label">
<property name="geometry">
<rect>
<x>40</x>
<y>140</y>
<width>61</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Phase</string>
</property>
</widget>
<widget class="QLabel" name="fPhaseCorrectionRange_label">
<property name="geometry">
<rect>
<x>30</x>
<y>170</y>
<width>111</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:8pt;&quot;&gt;Phase Correction&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:8pt;&quot;&gt;Range&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="fRange_label">
<property name="geometry">
<rect>
<x>30</x>
<y>220</y>
<width>61</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Range</string>
</property>
</widget>
<widget class="QComboBox" name="fUnits_comboBox">
<property name="geometry">
<rect>
<x>170</x>
<y>10</y>
<width>111</width>
<height>26</height>
</rect>
</property>
<item>
<property name="text">
<string>Gauss</string>
</property>
</item>
<item>
<property name="text">
<string>MHz</string>
</property>
</item>
<item>
<property name="text">
<string>Mc/s</string>
</property>
</item>
</widget>
<widget class="QLineEdit" name="fFourierPower_lineEdit">
<property name="geometry">
<rect>
<x>170</x>
<y>40</y>
<width>113</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QComboBox" name="fApodization_comboBox">
<property name="geometry">
<rect>
<x>170</x>
<y>70</y>
<width>111</width>
<height>26</height>
</rect>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>Weak</string>
</property>
</item>
<item>
<property name="text">
<string>Medium</string>
</property>
</item>
<item>
<property name="text">
<string>Strong</string>
</property>
</item>
</widget>
<widget class="QComboBox" name="fPlot_comboBox">
<property name="geometry">
<rect>
<x>160</x>
<y>100</y>
<width>111</width>
<height>26</height>
</rect>
</property>
<item>
<property name="text">
<string>Power</string>
</property>
</item>
<item>
<property name="text">
<string>Real</string>
</property>
</item>
<item>
<property name="text">
<string>Imag</string>
</property>
</item>
<item>
<property name="text">
<string>Real &amp; Imag</string>
</property>
</item>
<item>
<property name="text">
<string>Phase</string>
</property>
</item>
</widget>
<widget class="QLineEdit" name="fPhase_lineEdit">
<property name="geometry">
<rect>
<x>160</x>
<y>140</y>
<width>113</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fPhaseCorrectionRangeLow_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>170</y>
<width>113</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fPhaseCorrectionRangeUp_lineEdit">
<property name="geometry">
<rect>
<x>270</x>
<y>170</y>
<width>113</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fRangeLow_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>210</y>
<width>113</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fRangeUp_lineEdit">
<property name="geometry">
<rect>
<x>280</x>
<y>210</y>
<width>113</width>
<height>22</height>
</rect>
</property>
</widget>
</widget>
<tabstops>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFourierBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>337</x>
<y>272</y>
</hint>
<hint type="destinationlabel">
<x>355</x>
<y>225</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFourierBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>286</x>
<y>265</y>
</hint>
<hint type="destinationlabel">
<x>243</x>
<y>227</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFourierBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>50</x>
<y>273</y>
</hint>
<hint type="destinationlabel">
<x>115</x>
<y>221</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFourierBlockDialog</receiver>
<slot>fillFourierBlock()</slot>
<hints>
<hint type="sourcelabel">
<x>247</x>
<y>274</y>
</hint>
<hint type="destinationlabel">
<x>175</x>
<y>264</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
<slot>fillFourierBlock()</slot>
</slots>
</ui>

View File

@ -0,0 +1,253 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetFunctionsBlockDialog</class>
<widget class="QDialog" name="PGetFunctionsBlockDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>636</width>
<height>604</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Functions</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>570</y>
<width>631</width>
<height>32</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QTextEdit" name="fHelp_textEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>10</y>
<width>631</width>
<height>201</height>
</rect>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt;Supported basic arithmetics: &lt;/span&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;+, -, *, /, ()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt;Supported built-in functions; &lt;/span&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;cos(), sin(), tan(), acos(), asin(), atan(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), exp(), log(), ln()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt;Supported pre-defined constants&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;gamma_mu = 0.0135538817 (MHz/G)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;pi = 3.1415926535897932846&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt;Parameters and Maps are reached via parX, mapY, where X, Y are numbers, e.g. par1, map3&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt;Examples:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;fun1 = gamma_mu * par3&lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt; valid&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;fun2 = par2/map4 * sin(par3*par5)&lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt; valid&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Courier New,courier';&quot;&gt;fun3 = fun1 + par6&lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande';&quot;&gt; invalid, since functions cannot be used with the functions definition&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QGroupBox" name="fInput_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>210</y>
<width>631</width>
<height>101</height>
</rect>
</property>
<property name="title">
<string>Input</string>
</property>
<widget class="QLineEdit" name="fFunctionInput_lineEdit">
<property name="geometry">
<rect>
<x>90</x>
<y>30</y>
<width>521</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="fFunction_label">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Function:</string>
</property>
</widget>
<widget class="QPushButton" name="fAdd_pushButton">
<property name="geometry">
<rect>
<x>500</x>
<y>60</y>
<width>113</width>
<height>32</height>
</rect>
</property>
<property name="text">
<string>Add</string>
</property>
</widget>
</widget>
<widget class="QPlainTextEdit" name="fFunctionBlock_plainTextEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>310</y>
<width>631</width>
<height>251</height>
</rect>
</property>
<property name="plainText">
<string>#####################################################
FUNCTIONS</string>
</property>
</widget>
</widget>
<tabstops>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFunctionsBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>629</x>
<y>584</y>
</hint>
<hint type="destinationlabel">
<x>368</x>
<y>565</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFunctionsBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>538</x>
<y>577</y>
</hint>
<hint type="destinationlabel">
<x>265</x>
<y>583</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFunctionsBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>41</x>
<y>585</y>
</hint>
<hint type="destinationlabel">
<x>111</x>
<y>582</y>
</hint>
</hints>
</connection>
<connection>
<sender>fAdd_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetFunctionsBlockDialog</receiver>
<slot>addFunction()</slot>
<hints>
<hint type="sourcelabel">
<x>555</x>
<y>289</y>
</hint>
<hint type="destinationlabel">
<x>410</x>
<y>591</y>
</hint>
</hints>
</connection>
<connection>
<sender>fFunctionInput_lineEdit</sender>
<signal>returnPressed()</signal>
<receiver>PGetFunctionsBlockDialog</receiver>
<slot>addFunction()</slot>
<hints>
<hint type="sourcelabel">
<x>399</x>
<y>252</y>
</hint>
<hint type="destinationlabel">
<x>413</x>
<y>570</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
<slot>addFunction()</slot>
</slots>
</ui>

View File

@ -0,0 +1,462 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetNonMusrRunBlockDialog</class>
<widget class="QDialog" name="PGetNonMusrRunBlockDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>402</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Get NonMusr Run Block Parameters</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QGroupBox" name="fRunHeaderInfo_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>401</width>
<height>131</height>
</rect>
</property>
<property name="title">
<string>Run Header Info</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>381</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="fRunFileName_label">
<property name="text">
<string>Run File Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fRunFileName_lineEdit"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>11</x>
<y>60</y>
<width>381</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="fBeamline_label">
<property name="text">
<string>Beamline</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>23</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="fBeamline_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>91</y>
<width>381</width>
<height>27</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="fInstitute_label">
<property name="text">
<string>Institute</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>34</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QComboBox" name="fInstitute_comboBox">
<item>
<property name="text">
<string>PSI</string>
</property>
</item>
<item>
<property name="text">
<string>RAL</string>
</property>
</item>
<item>
<property name="text">
<string>TRIUMF</string>
</property>
</item>
<item>
<property name="text">
<string>JPARC</string>
</property>
</item>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="fFileFormat_label">
<property name="text">
<string>File Format</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fFileFormat_comboBox">
<item>
<property name="text">
<string>ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>DB</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fReqiredEntries_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>130</y>
<width>401</width>
<height>131</height>
</rect>
</property>
<property name="title">
<string>Required Entries</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>381</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="fMap_label">
<property name="text">
<string>Map</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fMap_lineEdit">
<property name="text">
<string>0 0 0 0 0 0 0 0 0 0</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>11</x>
<y>60</y>
<width>281</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="fXYData_label">
<property name="text">
<string>xy-Data</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>37</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="fXData_lineEdit"/>
</item>
<item>
<widget class="QLineEdit" name="fYData_lineEdit"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>92</y>
<width>291</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="fFitRange_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Fit Range</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFitRangeStart_lineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>105</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>105</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFitRangeEnd_lineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>105</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>105</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>270</y>
<width>381</width>
<height>27</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fRunFileName_lineEdit</tabstop>
<tabstop>fBeamline_lineEdit</tabstop>
<tabstop>fInstitute_comboBox</tabstop>
<tabstop>fFileFormat_comboBox</tabstop>
<tabstop>fMap_lineEdit</tabstop>
<tabstop>fXData_lineEdit</tabstop>
<tabstop>fYData_lineEdit</tabstop>
<tabstop>fFitRangeStart_lineEdit</tabstop>
<tabstop>fFitRangeEnd_lineEdit</tabstop>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetNonMusrRunBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>337</x>
<y>281</y>
</hint>
<hint type="destinationlabel">
<x>364</x>
<y>216</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetNonMusrRunBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>289</x>
<y>277</y>
</hint>
<hint type="destinationlabel">
<x>238</x>
<y>220</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetNonMusrRunBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>37</x>
<y>286</y>
</hint>
<hint type="destinationlabel">
<x>78</x>
<y>229</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
</slots>
</ui>

View File

@ -0,0 +1,344 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetParameterBlockDialog</class>
<widget class="QDialog" name="PGetParameterBlockDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>656</width>
<height>476</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Parameter</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>430</y>
<width>631</width>
<height>32</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QPlainTextEdit" name="fParam_plainTextEdit">
<property name="geometry">
<rect>
<x>10</x>
<y>90</y>
<width>631</width>
<height>331</height>
</rect>
</property>
<property name="plainText">
<string>###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries</string>
</property>
</widget>
<widget class="QPushButton" name="fAdd_pushButton">
<property name="geometry">
<rect>
<x>560</x>
<y>50</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Add</string>
</property>
</widget>
<widget class="QLabel" name="fParamNo_label">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>31</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>No.</string>
</property>
</widget>
<widget class="QLabel" name="fName_label">
<property name="geometry">
<rect>
<x>60</x>
<y>30</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Name</string>
</property>
</widget>
<widget class="QLabel" name="fValue_label">
<property name="geometry">
<rect>
<x>180</x>
<y>30</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Value</string>
</property>
</widget>
<widget class="QLabel" name="fStep_label">
<property name="geometry">
<rect>
<x>270</x>
<y>30</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Step</string>
</property>
</widget>
<widget class="QGroupBox" name="fBoundaries_groupBox">
<property name="geometry">
<rect>
<x>370</x>
<y>10</y>
<width>171</width>
<height>71</height>
</rect>
</property>
<property name="title">
<string>Boundaries</string>
</property>
<widget class="QLabel" name="fLower_label">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Lower</string>
</property>
</widget>
<widget class="QLabel" name="fUpper_label">
<property name="geometry">
<rect>
<x>90</x>
<y>20</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Upper</string>
</property>
</widget>
<widget class="QLineEdit" name="fLower_lineEdit">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>none</string>
</property>
</widget>
<widget class="QLineEdit" name="fUpper_lineEdit">
<property name="geometry">
<rect>
<x>90</x>
<y>40</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>none</string>
</property>
</widget>
</widget>
<widget class="QSpinBox" name="fParamNo_spinBox">
<property name="geometry">
<rect>
<x>10</x>
<y>50</y>
<width>42</width>
<height>22</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999</number>
</property>
</widget>
<widget class="QLineEdit" name="fName_lineEdit">
<property name="geometry">
<rect>
<x>60</x>
<y>50</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fValue_lineEdit">
<property name="geometry">
<rect>
<x>180</x>
<y>50</y>
<width>81</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fStep_lineEdit">
<property name="geometry">
<rect>
<x>270</x>
<y>50</y>
<width>81</width>
<height>20</height>
</rect>
</property>
</widget>
</widget>
<tabstops>
<tabstop>fParamNo_spinBox</tabstop>
<tabstop>fName_lineEdit</tabstop>
<tabstop>fValue_lineEdit</tabstop>
<tabstop>fStep_lineEdit</tabstop>
<tabstop>fLower_lineEdit</tabstop>
<tabstop>fUpper_lineEdit</tabstop>
<tabstop>fAdd_pushButton</tabstop>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fParam_plainTextEdit</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetParameterBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>639</x>
<y>434</y>
</hint>
<hint type="destinationlabel">
<x>338</x>
<y>429</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetParameterBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>548</x>
<y>436</y>
</hint>
<hint type="destinationlabel">
<x>448</x>
<y>438</y>
</hint>
</hints>
</connection>
<connection>
<sender>fAdd_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetParameterBlockDialog</receiver>
<slot>paramAdd()</slot>
<hints>
<hint type="sourcelabel">
<x>594</x>
<y>59</y>
</hint>
<hint type="destinationlabel">
<x>562</x>
<y>16</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetParameterBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>62</x>
<y>447</y>
</hint>
<hint type="destinationlabel">
<x>148</x>
<y>443</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
<slot>paramAdd()</slot>
</slots>
</ui>

View File

@ -0,0 +1,300 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetPlotBlockDialog</class>
<widget class="QDialog" name="PGetPlotBlockDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>594</width>
<height>349</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Plot</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>:/musredit/musrfit.xpm</normaloff>:/musredit/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>310</y>
<width>571</width>
<height>29</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QPlainTextEdit" name="fPlot_plainTextEdit">
<property name="geometry">
<rect>
<x>10</x>
<y>70</y>
<width>571</width>
<height>231</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="fType_label">
<property name="geometry">
<rect>
<x>10</x>
<y>15</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Type</string>
</property>
</widget>
<widget class="QComboBox" name="fType_comboBox">
<property name="geometry">
<rect>
<x>60</x>
<y>10</y>
<width>141</width>
<height>22</height>
</rect>
</property>
<item>
<property name="text">
<string>Single Histo</string>
</property>
</item>
<item>
<property name="text">
<string>Asymmetry</string>
</property>
</item>
<item>
<property name="text">
<string>MuMinus</string>
</property>
</item>
<item>
<property name="text">
<string>NonMusr</string>
</property>
</item>
</widget>
<widget class="QLabel" name="fRunList_label">
<property name="geometry">
<rect>
<x>10</x>
<y>45</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Run List</string>
</property>
</widget>
<widget class="QLineEdit" name="fRunList_lineEdit">
<property name="geometry">
<rect>
<x>60</x>
<y>40</y>
<width>141</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="fXRange_label">
<property name="geometry">
<rect>
<x>220</x>
<y>15</y>
<width>91</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Time-/x-Range</string>
</property>
</widget>
<widget class="QLineEdit" name="fXRangeLow_lineEdit">
<property name="geometry">
<rect>
<x>320</x>
<y>10</y>
<width>81</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fXRangeUp_lineEdit">
<property name="geometry">
<rect>
<x>410</x>
<y>10</y>
<width>81</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="fYRange_label">
<property name="geometry">
<rect>
<x>220</x>
<y>45</y>
<width>61</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>y-Range</string>
</property>
</widget>
<widget class="QLineEdit" name="fYRangeLow_lineEdit">
<property name="geometry">
<rect>
<x>320</x>
<y>40</y>
<width>81</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fYRangeUp_lineEdit">
<property name="geometry">
<rect>
<x>410</x>
<y>40</y>
<width>81</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="fAdd_pushButton">
<property name="geometry">
<rect>
<x>500</x>
<y>25</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Add</string>
</property>
</widget>
</widget>
<tabstops>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetPlotBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>579</x>
<y>311</y>
</hint>
<hint type="destinationlabel">
<x>355</x>
<y>225</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetPlotBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>488</x>
<y>311</y>
</hint>
<hint type="destinationlabel">
<x>243</x>
<y>227</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetPlotBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>51</x>
<y>311</y>
</hint>
<hint type="destinationlabel">
<x>115</x>
<y>221</y>
</hint>
</hints>
</connection>
<connection>
<sender>fAdd_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetPlotBlockDialog</receiver>
<slot>addPlot()</slot>
<hints>
<hint type="sourcelabel">
<x>536</x>
<y>36</y>
</hint>
<hint type="destinationlabel">
<x>291</x>
<y>316</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
<slot>addPlot()</slot>
</slots>
</ui>

View File

@ -0,0 +1,654 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetSingleHistoRunBlockDialog</class>
<widget class="QDialog" name="PGetSingleHistoRunBlockDialog">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>424</width>
<height>586</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Single Histogram Run Block Parameters</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QGroupBox" name="fRunHeaderInfo_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>421</width>
<height>121</height>
</rect>
</property>
<property name="title">
<string>Run Header Info</string>
</property>
<widget class="QLabel" name="fRunFileName_label">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Run File Name</string>
</property>
</widget>
<widget class="QLabel" name="fBeamline_label">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>71</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Beamline</string>
</property>
</widget>
<widget class="QLabel" name="fInstitute_label">
<property name="geometry">
<rect>
<x>20</x>
<y>90</y>
<width>56</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Institute</string>
</property>
</widget>
<widget class="QLabel" name="fFileFormat_label">
<property name="geometry">
<rect>
<x>240</x>
<y>90</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>File Format</string>
</property>
</widget>
<widget class="QLineEdit" name="fRunFileName_lineEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>26</y>
<width>291</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBeamline_lineEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>56</y>
<width>113</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QComboBox" name="fInstitute_comboBox">
<property name="geometry">
<rect>
<x>120</x>
<y>86</y>
<width>77</width>
<height>25</height>
</rect>
</property>
<item>
<property name="text">
<string>PSI</string>
</property>
</item>
<item>
<property name="text">
<string>RAL</string>
</property>
</item>
<item>
<property name="text">
<string>TRIUMF</string>
</property>
</item>
<item>
<property name="text">
<string>JPARC</string>
</property>
</item>
</widget>
<widget class="QComboBox" name="fFileFormat_comboBox">
<property name="geometry">
<rect>
<x>316</x>
<y>86</y>
<width>91</width>
<height>25</height>
</rect>
</property>
<item>
<property name="text">
<string>NeXuS</string>
</property>
</item>
<item>
<property name="text">
<string>ROOT-NPP</string>
</property>
</item>
<item>
<property name="text">
<string>ROOT-PPC</string>
</property>
</item>
<item>
<property name="text">
<string>PSI-BIN</string>
</property>
</item>
<item>
<property name="text">
<string>PSI-MDU</string>
</property>
</item>
<item>
<property name="text">
<string>MUD</string>
</property>
</item>
<item>
<property name="text">
<string>MDU-ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>ASCII</string>
</property>
</item>
<item>
<property name="text">
<string>DB</string>
</property>
</item>
</widget>
</widget>
<widget class="QGroupBox" name="fRequiredEntries_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>120</y>
<width>421</width>
<height>301</height>
</rect>
</property>
<property name="title">
<string>Required Entries</string>
</property>
<widget class="QLabel" name="fMap_label">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>56</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Map</string>
</property>
</widget>
<widget class="QLabel" name="fForwardHistoNo_label">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>111</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Forward Histo No</string>
</property>
</widget>
<widget class="QLabel" name="fDataRange_label">
<property name="geometry">
<rect>
<x>20</x>
<y>120</y>
<width>81</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Data Range</string>
</property>
</widget>
<widget class="QLabel" name="fBackgroundFix_label">
<property name="geometry">
<rect>
<x>20</x>
<y>150</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Background Fix</string>
</property>
</widget>
<widget class="QLabel" name="fOr_label">
<property name="geometry">
<rect>
<x>240</x>
<y>150</y>
<width>31</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>OR</string>
</property>
</widget>
<widget class="QLabel" name="fBackgroundRange_label">
<property name="geometry">
<rect>
<x>20</x>
<y>210</y>
<width>121</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Background Range</string>
</property>
</widget>
<widget class="QLabel" name="fFitRange_label">
<property name="geometry">
<rect>
<x>20</x>
<y>240</y>
<width>71</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Fit Range</string>
</property>
</widget>
<widget class="QLineEdit" name="fMap_lineEdit">
<property name="geometry">
<rect>
<x>60</x>
<y>26</y>
<width>351</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>0 0 0 0 0 0 0 0 0</string>
</property>
</widget>
<widget class="QLineEdit" name="fForwardHistoNo_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>56</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fDataStart_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>116</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fDataEnd_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>116</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundFix_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>146</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundStart_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>206</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundEnd_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>206</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fFitRangeStart_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>236</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fFitRangeEnd_lineEdit">
<property name="geometry">
<rect>
<x>220</x>
<y>236</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="fPacking_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>266</y>
<width>71</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>1</string>
</property>
</widget>
<widget class="QLabel" name="fPacking_textLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>270</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Packing/Binning</string>
</property>
</widget>
<widget class="QLabel" name="fNorm_label">
<property name="geometry">
<rect>
<x>20</x>
<y>90</y>
<width>56</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Norm</string>
</property>
</widget>
<widget class="QLineEdit" name="fNorm_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>86</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="fBackgroundFit_label">
<property name="geometry">
<rect>
<x>20</x>
<y>180</y>
<width>101</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Background Fit</string>
</property>
</widget>
<widget class="QLineEdit" name="fBackgroundFit_lineEdit">
<property name="geometry">
<rect>
<x>150</x>
<y>176</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="fOptionalEntries_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>410</y>
<width>421</width>
<height>121</height>
</rect>
</property>
<property name="title">
<string>Optional Entries</string>
</property>
<widget class="QLabel" name="fT0_label">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>241</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>t0 (reqired if not given in the data file)</string>
</property>
</widget>
<widget class="QLineEdit" name="fT0_lineEdit">
<property name="geometry">
<rect>
<x>260</x>
<y>26</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="fMuonLifetimeParameter_label">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>211</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Muon Lifetime Parameter</string>
</property>
</widget>
<widget class="QLineEdit" name="fLifetime_lineEdit">
<property name="geometry">
<rect>
<x>180</x>
<y>56</y>
<width>71</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QCheckBox" name="fLifetimeCorrection_checkBox">
<property name="geometry">
<rect>
<x>18</x>
<y>90</y>
<width>151</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Lifetime Correction</string>
</property>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>545</y>
<width>421</width>
<height>36</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>188</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetSingleHistoRunBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>458</x>
<y>434</y>
</hint>
<hint type="destinationlabel">
<x>471</x>
<y>415</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetSingleHistoRunBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>394</x>
<y>438</y>
</hint>
<hint type="destinationlabel">
<x>407</x>
<y>406</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetSingleHistoRunBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>47</x>
<y>437</y>
</hint>
<hint type="destinationlabel">
<x>70</x>
<y>398</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
</slots>
</ui>

View File

@ -0,0 +1,261 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetTheoryBlockDialog</class>
<widget class="QDialog" name="PGetTheoryBlockDialog">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>550</width>
<height>529</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Theory</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QTextEdit" name="fDescription_textEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>10</y>
<width>541</width>
<height>211</height>
</rect>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;Every theory function has to be written on a single line. It starts with the theory function name or its abbreviation followed by the parameters. Consecutive lines of theory functions will be multiplied. If theory functions need to be added, a line with a '+' has to separate them. The parameters are given as the numbers assigned to them in the FITPARAMETER-block.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;Example:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;asymmetry 2&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;simplExpo 3&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;TFieldCos map1 fun2&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;+&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;asymmetry 6&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;simplExpo 7&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QGroupBox" name="fTheoryInput_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>220</y>
<width>541</width>
<height>71</height>
</rect>
</property>
<property name="title">
<string>Theory Input Line</string>
</property>
<widget class="QComboBox" name="fTheoryFunction_comboBox">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>381</width>
<height>25</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="fPlus_pushButton">
<property name="geometry">
<rect>
<x>420</x>
<y>30</y>
<width>51</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>+</string>
</property>
</widget>
<widget class="QPushButton" name="fMultiply_pushButton">
<property name="geometry">
<rect>
<x>480</x>
<y>30</y>
<width>51</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>*</string>
</property>
</widget>
</widget>
<widget class="QPlainTextEdit" name="fTheoryBlock_plainTextEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>290</y>
<width>541</width>
<height>201</height>
</rect>
</property>
<property name="plainText">
<string>#####################################################
THEORY</string>
</property>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>500</y>
<width>541</width>
<height>29</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>178</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fTheoryFunction_comboBox</tabstop>
<tabstop>fPlus_pushButton</tabstop>
<tabstop>fMultiply_pushButton</tabstop>
<tabstop>fTheoryBlock_plainTextEdit</tabstop>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
<tabstop>fDescription_textEdit</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTheoryBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>539</x>
<y>502</y>
</hint>
<hint type="destinationlabel">
<x>492</x>
<y>411</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTheoryBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>458</x>
<y>502</y>
</hint>
<hint type="destinationlabel">
<x>380</x>
<y>472</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTheoryBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>45</x>
<y>502</y>
</hint>
<hint type="destinationlabel">
<x>90</x>
<y>440</y>
</hint>
</hints>
</connection>
<connection>
<sender>fPlus_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTheoryBlockDialog</receiver>
<slot>addPlus()</slot>
<hints>
<hint type="sourcelabel">
<x>434</x>
<y>257</y>
</hint>
<hint type="destinationlabel">
<x>173</x>
<y>500</y>
</hint>
</hints>
</connection>
<connection>
<sender>fMultiply_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTheoryBlockDialog</receiver>
<slot>addMultiply()</slot>
<hints>
<hint type="sourcelabel">
<x>500</x>
<y>263</y>
</hint>
<hint type="destinationlabel">
<x>256</x>
<y>504</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
<slot>addPlus()</slot>
<slot>addMultiply()</slot>
</slots>
</ui>

View File

@ -0,0 +1,163 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetTitleBlockDialog</class>
<widget class="QDialog" name="PGetTitleBlockDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>555</width>
<height>84</height>
</rect>
</property>
<property name="windowTitle">
<string>Get Title</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QLabel" name="fTitle_label">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>31</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Title</string>
</property>
</widget>
<widget class="QLineEdit" name="fTitle_lineEdit">
<property name="geometry">
<rect>
<x>50</x>
<y>6</y>
<width>501</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>541</width>
<height>47</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>138</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fTitle_lineEdit</tabstop>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTitleBlockDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>467</x>
<y>78</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>221</y>
</hint>
</hints>
</connection>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTitleBlockDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>548</x>
<y>78</y>
</hint>
<hint type="destinationlabel">
<x>350</x>
<y>219</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetTitleBlockDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>59</x>
<y>64</y>
</hint>
<hint type="destinationlabel">
<x>149</x>
<y>49</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
</slots>
</ui>

View File

@ -0,0 +1,630 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PMsr2DataDialog</class>
<widget class="QDialog" name="PMsr2DataDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>542</width>
<height>522</height>
</rect>
</property>
<property name="windowTitle">
<string>msr2data input</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrmsr2data.xpm</normaloff>:/images/musrmsr2data.xpm</iconset>
</property>
<widget class="QGroupBox" name="fRunListInput_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>541</width>
<height>131</height>
</rect>
</property>
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="title">
<string>Run List Input</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>511</width>
<height>94</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="fFirst_label">
<property name="text">
<string>First</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFirst_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="fLast_label">
<property name="text">
<string>Last</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fLast_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>200</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="fOrFirstLast_label">
<property name="text">
<string>&lt;b&gt;OR&lt;/b&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::AutoText</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="fRunList_label">
<property name="text">
<string>Run List</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fRunList_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>28</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="fOrRunList_label">
<property name="text">
<string>&lt;b&gt;OR&lt;/b&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::AutoText</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="fRunListFileName_label">
<property name="text">
<string>Run List File Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fRunListFileName_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>52</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fMsrFileExtension_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>130</y>
<width>541</width>
<height>71</height>
</rect>
</property>
<property name="title">
<string>msr File Extension</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>511</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="fExtension_label">
<property name="text">
<string>Extension</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="fMsrFileExtension_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fTemplateRunInput_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>200</y>
<width>541</width>
<height>80</height>
</rect>
</property>
<property name="title">
<string>Template Run Input</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>511</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="fTemplateRunNumber_label">
<property name="text">
<string>Template Run Number</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fTemplateRunNumber_lineEdit"/>
</item>
<item>
<widget class="QCheckBox" name="fChainFit_checkBox">
<property name="text">
<string>Chain Fit</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fDataOutputFileName_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>280</y>
<width>541</width>
<height>80</height>
</rect>
</property>
<property name="title">
<string>Data Ouput File Name</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>511</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="fDataOutputFileName_label">
<property name="text">
<string>Data Output File Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fDataOutputFileName_lineEdit"/>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fOptions_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>360</y>
<width>541</width>
<height>111</height>
</rect>
</property>
<property name="title">
<string>Options</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>521</width>
<height>81</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="fWriteDataHeader_checkBox">
<property name="text">
<string>Write Data Header</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fSummaryPresent_checkBox">
<property name="text">
<string>Summary Files Present</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fKeepMinuit2Output_checkBox">
<property name="text">
<string>Keep Minuit2 Output</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="fWriteColumnData_checkBox">
<property name="text">
<string>Write Column Data</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fRecreateDataFile_checkBox">
<property name="text">
<string>Recreate Data File</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fOpenFilesAfterFitting_checkBox">
<property name="text">
<string>Open Files after Fitting</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QCheckBox" name="fTitleFromData_checkBox">
<property name="text">
<string>Take Data File Title</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fCreateMsrFileOnly_checkBox">
<property name="text">
<string>Create msr-File only</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fFitOnly_checkBox">
<property name="text">
<string>Fit Only</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>470</y>
<width>541</width>
<height>51</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>178</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fFirst_lineEdit</tabstop>
<tabstop>fLast_lineEdit</tabstop>
<tabstop>fRunList_lineEdit</tabstop>
<tabstop>fRunListFileName_lineEdit</tabstop>
<tabstop>fMsrFileExtension_lineEdit</tabstop>
<tabstop>fTemplateRunNumber_lineEdit</tabstop>
<tabstop>fChainFit_checkBox</tabstop>
<tabstop>fDataOutputFileName_lineEdit</tabstop>
<tabstop>fWriteDataHeader_checkBox</tabstop>
<tabstop>fSummaryPresent_checkBox</tabstop>
<tabstop>fKeepMinuit2Output_checkBox</tabstop>
<tabstop>fWriteColumnData_checkBox</tabstop>
<tabstop>fRecreateDataFile_checkBox</tabstop>
<tabstop>fOpenFilesAfterFitting_checkBox</tabstop>
<tabstop>fTitleFromData_checkBox</tabstop>
<tabstop>fCreateMsrFileOnly_checkBox</tabstop>
<tabstop>fFitOnly_checkBox</tabstop>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PMsr2DataDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>538</x>
<y>488</y>
</hint>
<hint type="destinationlabel">
<x>508</x>
<y>358</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PMsr2DataDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>457</x>
<y>488</y>
</hint>
<hint type="destinationlabel">
<x>380</x>
<y>364</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PMsr2DataDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>57</x>
<y>488</y>
</hint>
<hint type="destinationlabel">
<x>96</x>
<y>370</y>
</hint>
</hints>
</connection>
<connection>
<sender>fFitOnly_checkBox</sender>
<signal>stateChanged(int)</signal>
<receiver>PMsr2DataDialog</receiver>
<slot>fitOnlyChanged(int)</slot>
<hints>
<hint type="sourcelabel">
<x>363</x>
<y>457</y>
</hint>
<hint type="destinationlabel">
<x>301</x>
<y>484</y>
</hint>
</hints>
</connection>
<connection>
<sender>fCreateMsrFileOnly_checkBox</sender>
<signal>stateChanged(int)</signal>
<receiver>PMsr2DataDialog</receiver>
<slot>createMsrFileOnlyChanged(int)</slot>
<hints>
<hint type="sourcelabel">
<x>377</x>
<y>429</y>
</hint>
<hint type="destinationlabel">
<x>150</x>
<y>487</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
<slot>fitOnlyChanged(int)</slot>
<slot>createMsrFileOnlyChanged(int)</slot>
</slots>
</ui>

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PMusrEditAbout</class>
<widget class="QDialog" name="PMusrEditAbout">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>395</width>
<height>176</height>
</rect>
</property>
<property name="windowTitle">
<string>Musr Edit About</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>11</x>
<y>11</y>
<width>371</width>
<height>161</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="fMusrEditAbout_label">
<property name="font">
<font>
<pointsize>24</pointsize>
<weight>50</weight>
<italic>true</italic>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:24pt; font-weight:400; font-style:italic;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;musredit ...&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="fDetails_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;by Andreas Suter&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;andreas.suter@psi.ch&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Paul Scherrer Institute&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Switzerland&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="fSvn_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;$Id$&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PMusrEditAbout</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>178</x>
<y>271</y>
</hint>
<hint type="destinationlabel">
<x>226</x>
<y>228</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PPrefsDialog</class>
<widget class="QDialog" name="PPrefsDialog">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>455</width>
<height>168</height>
</rect>
</property>
<property name="windowTitle">
<string>Preferences</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>5</y>
<width>451</width>
<height>161</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="fTabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>musrfit</string>
</attribute>
<widget class="QCheckBox" name="fKeepMn2Output_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>161</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>keep minuit2 output</string>
</property>
</widget>
<widget class="QCheckBox" name="fDumpAscii_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>35</y>
<width>151</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>dump ascii</string>
</property>
</widget>
<widget class="QCheckBox" name="fDumpRoot_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>60</y>
<width>131</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>dump root</string>
</property>
</widget>
<widget class="QCheckBox" name="fTitleFromData_checkBox">
<property name="geometry">
<rect>
<x>170</x>
<y>10</y>
<width>171</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>take title from data file</string>
</property>
</widget>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>musrt0</string>
</attribute>
<widget class="QCheckBox" name="fEnableMusrT0_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>131</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>enable it</string>
</property>
</widget>
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>&amp;Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>88</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fOk_pushButton">
<property name="text">
<string>&amp;OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="fCancel_pushButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fTabWidget</tabstop>
<tabstop>fKeepMn2Output_checkBox</tabstop>
<tabstop>fDumpAscii_checkBox</tabstop>
<tabstop>fDumpRoot_checkBox</tabstop>
<tabstop>fTitleFromData_checkBox</tabstop>
<tabstop>fOk_pushButton</tabstop>
<tabstop>fCancel_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fCancel_pushButton</sender>
<signal>clicked()</signal>
<receiver>PPrefsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>391</x>
<y>198</y>
</hint>
<hint type="destinationlabel">
<x>422</x>
<y>142</y>
</hint>
</hints>
</connection>
<connection>
<sender>fOk_pushButton</sender>
<signal>clicked()</signal>
<receiver>PPrefsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>331</x>
<y>199</y>
</hint>
<hint type="destinationlabel">
<x>293</x>
<y>144</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PReplaceConfirmationDialog</class>
<widget class="QDialog" name="PReplaceConfirmationDialog">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>513</width>
<height>65</height>
</rect>
</property>
<property name="windowTitle">
<string>Replace Confirmation - musredit</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QLabel" name="fTextLabel">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>461</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Found an occurrence of your search term.What do you want to do?</string>
</property>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>7</x>
<y>20</y>
<width>521</width>
<height>20</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QPushButton" name="fReplace_pushButton">
<property name="geometry">
<rect>
<x>7</x>
<y>35</y>
<width>81</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Replace</string>
</property>
</widget>
<widget class="QPushButton" name="fReplaceAndClose_pushButton">
<property name="geometry">
<rect>
<x>87</x>
<y>35</y>
<width>131</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Re&amp;place and Close</string>
</property>
</widget>
<widget class="QPushButton" name="fReplaceAll_pushButton">
<property name="geometry">
<rect>
<x>217</x>
<y>35</y>
<width>97</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Replace &amp;All</string>
</property>
</widget>
<widget class="QPushButton" name="fFindNext_pushButton">
<property name="geometry">
<rect>
<x>317</x>
<y>35</y>
<width>91</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Find Next</string>
</property>
</widget>
<widget class="QPushButton" name="fClose_pushButton">
<property name="geometry">
<rect>
<x>407</x>
<y>35</y>
<width>97</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Close</string>
</property>
</widget>
</widget>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fClose_pushButton</sender>
<signal>clicked()</signal>
<receiver>PReplaceConfirmationDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>457</x>
<y>58</y>
</hint>
<hint type="destinationlabel">
<x>468</x>
<y>71</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -0,0 +1,300 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PReplaceDialog</class>
<widget class="QDialog" name="PReplaceDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>345</width>
<height>315</height>
</rect>
</property>
<property name="windowTitle">
<string>Replace Text - musredit</string>
</property>
<property name="windowIcon">
<iconset resource="../musredit.qrc">
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QGroupBox" name="fFind_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>341</width>
<height>81</height>
</rect>
</property>
<property name="title">
<string>Find</string>
</property>
<widget class="QLabel" name="fFind_label">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Text to find:</string>
</property>
</widget>
<widget class="QComboBox" name="fFind_comboBox">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>321</width>
<height>31</height>
</rect>
</property>
<property name="editable">
<bool>true</bool>
</property>
</widget>
</widget>
<widget class="QPushButton" name="fReplace_pushButton">
<property name="geometry">
<rect>
<x>190</x>
<y>290</y>
<width>71</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Replace</string>
</property>
</widget>
<widget class="QPushButton" name="fClose_pushButton">
<property name="geometry">
<rect>
<x>270</x>
<y>290</y>
<width>71</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>&amp;Close</string>
</property>
</widget>
<widget class="QGroupBox" name="fOptions_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>160</y>
<width>341</width>
<height>121</height>
</rect>
</property>
<property name="title">
<string>Options</string>
</property>
<property name="alignment">
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
</property>
<widget class="QCheckBox" name="fCaseSensitive_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>C&amp;ase Sensitive</string>
</property>
</widget>
<widget class="QCheckBox" name="fWholeWordsOnly_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>60</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Whole words only</string>
</property>
</widget>
<widget class="QCheckBox" name="fFromCursor_checkBox">
<property name="geometry">
<rect>
<x>10</x>
<y>90</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>From c&amp;ursor</string>
</property>
</widget>
<widget class="QCheckBox" name="fFindBackwards_checkBox">
<property name="geometry">
<rect>
<x>180</x>
<y>30</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Find &amp;backwards</string>
</property>
</widget>
<widget class="QCheckBox" name="fSelectedText_checkBox">
<property name="geometry">
<rect>
<x>180</x>
<y>60</y>
<width>141</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Selected text</string>
</property>
</widget>
<widget class="QCheckBox" name="fPromptOnReplace_checkBox">
<property name="geometry">
<rect>
<x>180</x>
<y>90</y>
<width>151</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>&amp;Prompt on replace</string>
</property>
</widget>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>0</x>
<y>280</y>
<width>351</width>
<height>16</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QGroupBox" name="fReplacement_groupBox">
<property name="geometry">
<rect>
<x>0</x>
<y>80</y>
<width>341</width>
<height>81</height>
</rect>
</property>
<property name="title">
<string>Replace With</string>
</property>
<widget class="QLabel" name="fReplace_textLabel">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Replacement text:</string>
</property>
</widget>
<widget class="QComboBox" name="fReplacementText_comboBox">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>321</width>
<height>31</height>
</rect>
</property>
<property name="editable">
<bool>true</bool>
</property>
</widget>
</widget>
</widget>
<tabstops>
<tabstop>fFind_comboBox</tabstop>
<tabstop>fReplacementText_comboBox</tabstop>
<tabstop>fCaseSensitive_checkBox</tabstop>
<tabstop>fWholeWordsOnly_checkBox</tabstop>
<tabstop>fFromCursor_checkBox</tabstop>
<tabstop>fFindBackwards_checkBox</tabstop>
<tabstop>fSelectedText_checkBox</tabstop>
<tabstop>fPromptOnReplace_checkBox</tabstop>
<tabstop>fReplace_pushButton</tabstop>
<tabstop>fClose_pushButton</tabstop>
</tabstops>
<resources>
<include location="../musredit.qrc"/>
</resources>
<connections>
<connection>
<sender>fClose_pushButton</sender>
<signal>clicked()</signal>
<receiver>PReplaceDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>287</x>
<y>205</y>
</hint>
<hint type="destinationlabel">
<x>344</x>
<y>228</y>
</hint>
</hints>
</connection>
<connection>
<sender>fReplace_pushButton</sender>
<signal>clicked()</signal>
<receiver>PReplaceDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>208</x>
<y>211</y>
</hint>
<hint type="destinationlabel">
<x>171</x>
<y>211</y>
</hint>
</hints>
</connection>
<connection>
<sender>fFind_comboBox</sender>
<signal>editTextChanged(QString)</signal>
<receiver>PReplaceDialog</receiver>
<slot>onFindTextAvailable(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>183</x>
<y>63</y>
</hint>
<hint type="destinationlabel">
<x>90</x>
<y>298</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onFindTextAvailable(QString)</slot>
</slots>
</ui>

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c #8b8bfd",
"X c #3c3cfd",
"o c #000082",
"O c Gray0",
"+ c None",
"@ c Gray0",
"# c Gray0",
/* pixels */
"++++++++++++++++++++++",
"++++++++++++++++++++++",
"OOOOOOOO++++++++++++++",
"O OO+++++++++++++",
"O OOOO O O++++++++++++",
"O O O+++++++++++",
"O OOOO Ooooooooo++++++",
"O Oo oo+++++",
"O OOOOO o OOOO oXo++++",
"O o o.Xo+++",
"O OOOOO o OOOO o .Xo++",
"O o oooooo+",
"O OOOOO o OOOO o+",
"O o o+",
"O OOOOO o OOOOOOOOO o+",
"O o o+",
"OOOOOOOOo OOOOOOOOO o+",
"++++++++o o+",
"++++++++o OOOOOOOOO o+",
"++++++++o o+",
"++++++++ooooooooooooo+",
"++++++++++++++++++++++"
};

View File

@ -0,0 +1,32 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 4 1",
" c Gray100",
". c #000082",
"X c Gray0",
"o c None",
/* pixels */
"oooooooooooooooooooooo",
"oooooooXoooooXoooooooo",
"oooooooXoooooXoooooooo",
"oooooooXoooooXoooooooo",
"oooooooXooooXXoooooooo",
"oooooooXXoooXooooooooo",
"ooooooooXoooXooooooooo",
"ooooooooXXoXXooooooooo",
"oooooooooXXXoooooooooo",
"oooooooooXXXoooooooooo",
"ooooooooooXooooooooooo",
"ooooooooo.X.oooooooooo",
"oooooooo..o...oooooooo",
"ooooooo.o.o.oo.ooooooo",
"oooooo.oo.o.ooo.oooooo",
"ooooo.ooo.o.oooo.ooooo",
"oooo.oooo.o.oooo.ooooo",
"oooo.oooo.oo.ooo.ooooo",
"oooo.oooo.oo.oo.oooooo",
"oooo.ooo.oooo..ooooooo",
"ooooo...oooooooooooooo",
"oooooooooooooooooooooo"
};

View File

@ -0,0 +1,202 @@
/* XPM */
static char * editfind_xpm[] = {
"22 22 177 2",
" c None",
". c #59595A",
"+ c #3B3B3C",
"@ c #3E3E3F",
"# c #3C3C3D",
"$ c #404041",
"% c #585859",
"& c #979797",
"* c #5B5B5B",
"= c #FFFFFF",
"- c #5D5D5E",
"; c #49494A",
"> c #868787",
", c #AFB4B4",
"' c #BBC4C6",
") c #BBC5C6",
"! c #B2B7B7",
"~ c #7A7A7B",
"{ c #1D1D1D",
"] c #474747",
"^ c #3D3D3D",
"/ c #444445",
"( c #7B7879",
"_ c #CFDADA",
": c #E5F0F2",
"< c #DCF2F5",
"[ c #DDF4FA",
"} c #D7F3F8",
"| c #CCEFF7",
"1 c #DCE7E9",
"2 c #6F6F70",
"3 c #434343",
"4 c #E4E4E4",
"5 c #4C4C4D",
"6 c #7D7E7D",
"7 c #E9F8FA",
"8 c #C6EDF5",
"9 c #BDE7F0",
"0 c #A5DCEA",
"a c #9BD6E2",
"b c #BBE7EE",
"c c #444444",
"d c #8A8A8A",
"e c #767676",
"f c #C5CFD2",
"g c #B1E2EC",
"h c #9DD9E6",
"i c #8ACDD9",
"j c #81C9D6",
"k c #AFE1EC",
"l c #CED9D9",
"m c #29292A",
"n c #818181",
"o c #6C6C6C",
"p c #4A4A4A",
"q c #5C5C5C",
"r c #A2A7A7",
"s c #E5F4F8",
"t c #C3E9F0",
"u c #ACE0EB",
"v c #99D8E6",
"w c #87CDDC",
"x c #6CBACB",
"y c #7BC4D4",
"z c #9DA2A1",
"A c #626262",
"B c #727272",
"C c #535353",
"D c #494949",
"E c #BAC0C1",
"F c #E7F3F6",
"G c #CBE9F2",
"H c #86D1E1",
"I c #6CC3D9",
"J c #50A6B9",
"K c #6AB5C3",
"L c #B2C7CB",
"M c #454545",
"N c #4F4F4F",
"O c #4B4B4B",
"P c #373737",
"Q c #E3F2F4",
"R c #C5E7EC",
"S c #A8E1EB",
"T c #96D7E7",
"U c #74C8DD",
"V c #5BB1C4",
"W c #4399A8",
"X c #54ACB9",
"Y c #0C0C0C",
"Z c #D3D3D3",
"` c #464646",
" . c #434344",
".. c #A6ABAA",
"+. c #D8EDF1",
"@. c #B1DBE4",
"#. c #96D5E5",
"$. c #4DBACE",
"%. c #449AA9",
"&. c #3D8996",
"*. c #63B5C4",
"=. c #ABDFEA",
"-. c #232323",
";. c #FCFCFC",
">. c #78C3D3",
",. c #68BDCF",
"'. c #4CB7CB",
"). c #4298A7",
"!. c #398491",
"~. c #489EAD",
"{. c #404647",
"]. c #484848",
"^. c #797A79",
"/. c #D7F0F4",
"(. c #A4DBE9",
"_. c #79BFCC",
":. c #60B3C5",
"<. c #52A7B3",
"[. c #4496A5",
"}. c #50A3B5",
"|. c #8ACFE1",
"1. c #000000",
"2. c #8E8E8E",
"3. c #5C5D5C",
"4. c #BAE4EF",
"5. c #99D4E0",
"6. c #87CAD6",
"7. c #BDE6F0",
"8. c #414648",
"9. c #AC993F",
"0. c #6C6D6C",
"a. c #7B7C7B",
"b. c #79989C",
"c. c #A9C7CE",
"d. c #B3CAD0",
"e. c #88A8AD",
"f. c #6B7274",
"g. c #DECE9D",
"h. c #635920",
"i. c #4D4D4E",
"j. c #595959",
"k. c #737374",
"l. c #757576",
"m. c #717172",
"n. c #707071",
"o. c #424849",
"p. c #414748",
"q. c #BDA44C",
"r. c #717171",
"s. c #686868",
"t. c #928237",
"u. c #747475",
"v. c #767677",
"w. c #373738",
"x. c #939393",
"y. c #E3E3E3",
"z. c #363637",
"A. c #777778",
"B. c #E1E1E1",
"C. c #39393A",
"D. c #3B3B3B",
"E. c #DCDCDC",
"F. c #828282",
"G. c #CECECE",
"H. c #3A3F40",
"I. c #727273",
"J. c #313131",
"K. c #575757",
"L. c #393939",
"M. c #EEEEEE",
"N. c #3D3D3E",
"O. c #9D9D9D",
"P. c #FEFEFE",
"Q. c #323233",
"R. c #7F7F80",
"S. c #0B0B0B",
"T. c #4D4D4D",
" . + @ # $ % & * = ",
" - ; > , ' ) ! ~ { ] * ^ = & ",
" / ( _ : < [ } | [ 1 2 3 4 4 * ",
" 5 6 1 7 = 7 8 9 0 a b 1 6 c d e = ",
" ; f 7 = = = 7 g h i j k l m n o * p = ",
"q r 1 < s = 7 t u v w x y k z A B * C D = ",
"; E F G G 7 t k v H I J K g L M N O M P ",
"; ' Q R b g S T H U V W X S L Y Z ` P = ",
" ...+.@.a v #.H U $.%.&.*.=.r -. ;.= ",
"o 6 _ k i j >.,.'.).!.~.#._ {.] ",
" ].^./.(._.:.<.[.&.}.|.+.z 1. ",
" 2.3.6 +.4.5.6.>.w 7.+.6 8.1.9. ",
" * 0.a.b.c.R R d.e.f.8.1.= g.h. ",
" q i.j.k.l.m.n.o.p.1.q.g.= k.$ ",
" r.i.N p D s. h.t.o.u.= v.w. ",
" x.C y. h.z.o.A.B.~ C. ",
" * D.E.F.M G. z.z.H.I.G.2 J. ",
" = = K.L.M. 1.z.o.n.G.n.N.",
"O.d e P.y. Q.z.o.n.R.$ ",
"n o * ].4 & * = 1.z.o.S.$ ",
"e * C D 4 * ^ = 1.1.$ ",
"K.T.M P = = = "};

View File

@ -0,0 +1,49 @@
/* XPM */
static char * editnext_xpm[] = {
"24 24 22 1",
" c None",
". c #000000",
"+ c #FFFFFF",
"@ c #E6E6E6",
"# c #FAFAFA",
"$ c #AEAEAE",
"% c #F6F6F6",
"& c #C9C9C9",
"* c #666666",
"= c #ACACAC",
"- c #F3F3F3",
"; c #FDFDFD",
"> c #676767",
", c #AAAAAA",
"' c #888888",
") c #A5A5A5",
"! c #F0F0F0",
"~ c #525252",
"{ c #5E5E5E",
"] c #696969",
"^ c #FCFCFC",
"/ c #F9F9F9",
" ",
" ",
" ........+ ",
" . ........+ ",
" .@. . #++++++++ ",
" .@$%. .. ..........+ ",
".&$*=%..@. -;+++++++++ ",
" .>$*=&@,. ....+ ",
" .>$*')>. !;+++ ",
" .~${{>. .......+ ",
" .@']]>. !^++++++ ",
" .@,>>>>. ",
" ......... ..........+ ",
" ..........+ ",
" /++++++++++ ",
" ....+ ",
" +++++ ",
" ......+ ",
" +++++++ ",
" ........+ ",
" +++++++++ ",
" ",
" ",
" "};

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c Yellow",
"X c #c6c3c6",
"o c #848284",
"O c #848200",
"+ c #000084",
"@ c Gray0",
"# c None",
/* pixels */
"######################",
"#######@@@@@##########",
"##@@@@@@...@@@@@@#####",
"#@@@@@@.....@@@@@@####",
"@@oOo@@.@@@.@@oOo@@###",
"@oOo@XXXXXXXXX@oOo@###",
"@OoO@XXXXXXXXX@OoO@###",
"@oOo@@@@@@@@@@@oOo@###",
"@OoOoOoOoOoOoOoOoO@###",
"@oOoOoOoOoOoOoOoOo@###",
"@OoOoOoO++++++++++@###",
"@oOoOoOo+ + +###",
"@OoOoOoO+ +++++ + +##",
"@oOoOoOo+ + +#",
"@OoOoOoO+ +++++ + +",
"@oOoOoOo+ ++++++",
"@OoOoOoO+ +++++ +",
"@oOoOoOo+ +",
"@OoOoOoO+ ++++++++++ +",
"#@@@@@@@+ +",
"########++++++++++++++",
"######################"
};

View File

@ -0,0 +1,45 @@
/* XPM */
static char * editprevious_xpm[] = {
"24 22 20 1",
" c None",
". c #000000",
"+ c #FFFFFF",
"@ c #D6D6D6",
"# c #F0F0F0",
"$ c #FDFDFD",
"% c #B1B1B1",
"& c #969696",
"* c #696969",
"= c #FEFEFE",
"- c #A8A8A8",
"; c #888888",
"> c #5E5E5E",
", c #F7F7F7",
"' c #666666",
") c #ACACAC",
"! c #A0A0A0",
"~ c #AEAEAE",
"{ c #3B3B3B",
"] c #4C4C4C",
" ",
" ",
"........+ ",
"........+ ......... ",
"+++++++++ .@@###@. ",
"..........$ .%&*&@. ",
"++++++++++= .-;>&,. ",
"....+ .-;;'),. ",
"+++++ .!~{~'),. ",
".......+ .~..{~'),. ",
"++++++++ .. .{~]. ",
" . .{. ",
"..........$ . ",
"..........+ ",
"+++++++++++ ",
"....+ ",
"+++++ ",
"......+ ",
"+++++++ ",
"........+ ",
"+++++++++ ",
" "};

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c #848284",
"X c #000084",
"o c Gray0",
"O c None",
"+ c Gray0",
"@ c Gray0",
"# c Gray0",
/* pixels */
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOO.XXXXXXOOOOOOOOOOO",
"OOOXXXXXXXXXXOOOOOOXOO",
"OO.XXOOOOOOXXXXOOOXXOO",
"OOXXOOOOOOOOOXXXOXXXOO",
"OOXXOOOOOOOOOOXXXXXXOO",
"OOXXOOOOOOOOOOOXXXXXOO",
"OOXXOOOOOOOOOOXXXXXXOO",
"OOXXOOOOOOOOOXXXXXXXOO",
"OO.XXOOOOOOOXXXXXXXXOO",
"OOOXXX.OOOOOOOOOOOOOOO",
"OOOOXXXOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO"
};

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c #848284",
"X c #000084",
"o c Gray0",
"O c None",
"+ c Gray0",
"@ c Gray0",
"# c Gray0",
/* pixels */
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOXXXXXX.OOOO",
"OOXOOOOOOXXXXXXXXXXOOO",
"OOXXOOOXXXXOOOOOOXX.OO",
"OOXXXOXXXOOOOOOOOOXXOO",
"OOXXXXXXOOOOOOOOOOXXOO",
"OOXXXXXOOOOOOOOOOOXXOO",
"OOXXXXXXOOOOOOOOOOXXOO",
"OOXXXXXXXOOOOOOOOOXXOO",
"OOXXXXXXXXOOOOOOOXX.OO",
"OOOOOOOOOOOOOOO.XXXOOO",
"OOOOOOOOOOOOOOOXXXOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO"
};

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c Gray76",
"X c Gray53",
"o c Gray36",
"O c Gray18",
"+ c Gray0",
"@ c None",
"# c Gray0",
/* pixels */
"@@@@@@@@@@@@@@@@@@@@@@",
"@@@@++++++++++@@@@@@@@",
"@@@@+ +O+@@@@@@@",
"@@@@+ +oO+@@@@@@",
"@@@@+ +XoO+@@@@@",
"@@@@+ +.XoO+@@@@",
"@@@@+ + .XoO+@@@",
"@@@@+ +++++++@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+ +@@@",
"@@@@+++++++++++++++@@@",
"@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@"
};

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c Yellow",
"X c #848200",
"o c Gray0",
"O c None",
"+ c Gray0",
"@ c Gray0",
"# c Gray0",
/* pixels */
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOooooOOOOoO",
"OOOOOOOOOOOoOOOOooOooO",
"OOOOOOOOOOOOOOOOOOoooO",
"OOOOOOOOOOOOOOOOOooooO",
"OooooOOOOOOOOOOOoooooO",
"o. . ooooooooooOOOOOOO",
"o . . . . . . oOOOOOOO",
"o. . . . . . .oOOOOOOO",
"o . . . . . . oOOOOOOO",
"o. . . ooooooooooooooo",
"o . . ooXXXXXXXXXXXXoo",
"o. . ooXXXXXXXXXXXXooO",
"o . ooXXXXXXXXXXXXooOO",
"o. ooXXXXXXXXXXXXooOOO",
"o ooXXXXXXXXXXXXooOOOO",
"oooXXXXXXXXXXXXooOOOOO",
"ooXXXXXXXXXXXXooOOOOOO",
"oooooooooooooooOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOO"
};

View File

@ -0,0 +1,117 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 89 1",
" c Gray0",
". c #101008081010",
"X c #101010101010",
"o c #101010101818",
"O c #181810101818",
"+ c #181818181818",
"@ c #181818182121",
"# c #212118182121",
"$ c Gray13",
"% c #212121212929",
"& c #292921212929",
"* c Gray16",
"= c #292929293131",
"- c #313129293131",
"; c #313131313131",
": c #313131313939",
"> c #393931313939",
", c #393939393939",
"< c #393939394242",
"1 c #424239394242",
"2 c Gray26",
"3 c #4a4a4a4a5252",
"4 c #5a5a52525a5a",
"5 c #5a5a5a5a6363",
"6 c #6b6b63636b6b",
"7 c Gray42",
"8 c #6b6b6b6b7373",
"9 c #73736b6b7373",
"0 c #7b7b73737b7b",
"q c #7b7b73738484",
"w c #0808ffff0808",
"e c #2929ffff2929",
"r c #3131ffff3131",
"t c #5a5acece5a5a",
"y c #6b6bffff6363",
"u c #7b7bffff7b7b",
"i c #84847b7b8484",
"p c #84847b7b8c8c",
"a c #8c8c7b7b9494",
"s c #848484848c8c",
"d c #8c8c84848c8c",
"f c Gray55",
"g c #8c8c84849494",
"h c #8c8c8c8c9494",
"j c #94948c8c9494",
"k c #94948c8c9c9c",
"l c Gray58",
"z c #949494949c9c",
"x c #9c9c94949c9c",
"c c Gray61",
"v c #9c9c9494a5a5",
"b c #9c9c9c9ca5a5",
"n c #a5a59c9ca5a5",
"m c #a5a59c9cadad",
"M c #adad9c9cadad",
"N c #a5a5a5a5a5a5",
"B c #a5a5a5a5adad",
"V c #adada5a5adad",
"C c Gray68",
"Z c #adadadadb5b5",
"A c #b5b5adadb5b5",
"S c Gray71",
"D c Gray74",
"F c #9494c6c69494",
"G c #9c9ccecea5a5",
"H c #bdbdd6d6bdbd",
"J c #c0c0c0c0c0c0",
"K c #c6c6c6c6c6c6",
"L c #cecec6c6cece",
"P c #cececececece",
"I c #cecececed6d6",
"U c #d6d6ceced6d6",
"Y c #d6d6cecedede",
"T c Gray84",
"R c #d6d6d6d6dede",
"E c #deded6d6dede",
"W c Gray87",
"Q c #deded6d6e7e7",
"! c #dedededee7e7",
"~ c #d6d6ffffd6d6",
"^ c #e7e7dedee7e7",
"/ c #e7e7e7e7e7e7",
"( c #e7e7e7e7efef",
") c #efefe7e7efef",
"_ c #efefefefefef",
"` c #e7e7ffffe7e7",
"' c Gray97",
"] c Gray100",
"[ c None",
/* pixels */
"[[[[[[SDPPPPKKDDCD[[[[",
"[[[[[[D_/////___WD[[[[",
"[[[[[[DKKKPPKKKKDK[[[[",
"[[[[[[SDDDDSDDSSCD[[[[",
"[[[[[KCKDKKKDDDKS[[[[[",
"[[[[[DDSDDDDDDKKS[[[[[",
"[[[[[DSKDDDDDKDKC[[[[[",
"[[[[[KDDDDDDDDDDS[[[[[",
"[[[[[CP/WWWWWWTWNNZ[[[",
"[[[Dc9STPTPTPTWWj427S[",
"[[Dziq0000000pag8<%@2N",
"[DcE(!ERRRRUYGtFn2##O<",
"Db)]]]]]]]]]~ewePa;@X#",
"V']]]]]]]]]]`yru]Q0@ #",
"BRILITRRW^!E!RHUILhO @",
"jAZVBmBnmmNmnmMvzh6o #",
"jZZmBnnnbnbbbbvxxg6o +",
"lmmnbnbbbvcvxxxvjs6O 3",
"jBnnvcvxvcvxvxzjhd8o+C",
"lsdgfgdhgdhhjhjkhg6+l[",
"S9%@$%&&&=--::>>:-:l[[",
"[[C511,:;;;**%++.2c[[["
};

View File

@ -0,0 +1,172 @@
/* XPM */
static char * editreload_xpm[] = {
"22 22 147 2",
" c None",
". c #215017",
"+ c #225118",
"@ c #1C3F10",
"# c #1C4110",
"$ c #213B14",
"% c #1A330D",
"& c #141400",
"* c #1D4613",
"= c #2A732F",
"- c #65C284",
"; c #D8F0D6",
"> c #B9E4BD",
", c #82CD91",
"' c #3D8F4B",
") c #477D40",
"! c #417036",
"~ c #1E4917",
"{ c #1B3E0F",
"] c #32A85D",
"^ c #FFFFFF",
"/ c #B8E2BE",
"( c #46B670",
"_ c #2F833C",
": c #112405",
"< c #121600",
"[ c #212106",
"} c #142B0A",
"| c #B2E0B8",
"1 c #47B671",
"2 c #50854A",
"3 c #686868",
"4 c #6E6E6E",
"5 c #101800",
"6 c #CBE9CB",
"7 c #63C284",
"8 c #337F3A",
"9 c #17320C",
"0 c #747474",
"a c #2A6F2B",
"b c #A3DAAE",
"c c #31843E",
"d c #676767",
"e c #7B7B7B",
"f c #296C27",
"g c #E0F3DD",
"h c #63C385",
"i c #46914F",
"j c #142908",
"k c #6D6D6D",
"l c #284919",
"m c #305020",
"n c #2FA057",
"o c #BEE5C1",
"p c #55BD7A",
"q c #32843F",
"r c #192C0B",
"s c #161600",
"t c #2C7F39",
"u c #B0E1B5",
"v c #DFF3DD",
"w c #D4F4D4",
"x c #6FC386",
"y c #419652",
"z c #378843",
"A c #7DCB8F",
"B c #CEECCE",
"C c #2C813A",
"D c #16310C",
"E c #000000",
"F c #171717",
"G c #366D2F",
"H c #32A65C",
"I c #34B464",
"J c #319E52",
"K c #3A924C",
"L c #64C280",
"M c #256022",
"N c #A0A0A0",
"O c #474747",
"P c #191919",
"Q c #2F8F46",
"R c #33B364",
"S c #6AC684",
"T c #5A5A5A",
"U c #B8B8B8",
"V c #848484",
"W c #454545",
"X c #151515",
"Y c #407438",
"Z c #2F8B40",
"` c #2D823B",
" . c #C3C3C3",
".. c #383838",
"+. c #484848",
"@. c #8D8D8D",
"#. c #4C4C4C",
"$. c #B5B5B5",
"%. c #6F6F6F",
"&. c #353535",
"*. c #222222",
"=. c #292929",
"-. c #4D4D4D",
";. c #464646",
">. c #282828",
",. c #9B9B9B",
"'. c #2A2A2A",
"). c #2F2F2F",
"!. c #2E2E2E",
"~. c #717171",
"{. c #2C2C2C",
"]. c #0A0A0A",
"^. c #030303",
"/. c #757575",
"(. c #3C3C3C",
"_. c #515151",
":. c #242424",
"<. c #010101",
"[. c #898989",
"}. c #414141",
"|. c #575757",
"1. c #252525",
"2. c #A3A3A3",
"3. c #3B3B3B",
"4. c #1A1A1A",
"5. c #AFAFAF",
"6. c #6A6A6A",
"7. c #434343",
"8. c #404040",
"9. c #070707",
"0. c #424242",
"a. c #141414",
"b. c #080808",
"c. c #0B0B0B",
"d. c #1C1C1C",
"e. c #797979",
"f. c #828282",
"g. c #505050",
"h. c #1F1F1F",
"i. c #4B4B4B",
"j. c #818181",
"k. c #A5A5A5",
"l. c #5E5E5E",
"m. c #0D0D0D",
"n. c #121212",
"o. c #212121",
"p. c #1D1D1D",
" . + @ # $ % & ",
" * = - ; > , ' ) ! ~ { ",
" * ] ^ / ( _ * : < [ & ~ } ",
" = ^ | 1 2 & & 3 4 & } 5 ",
" * - 6 7 8 9 3 0 } & ",
" a ^ b c & d e & ",
" f g h i j k ",
"& { l m n o p q r s & & ",
"& t u v w x y z A B C D E F ",
" & G H I J K L C M & E N O P ",
" & G Q R S C M & T E U k V W X ",
" & Y Z ` M & E .4 ..+.@.#.P ",
" & G M & E $.%.&.*.=.-.@.;.X ",
" & & >.,.3 W W '.).!.;.~.{.].",
" E E ^.E /.(._.:.<.E E E ",
" E [.}.|.1. ",
" E E 2.3._.4. ",
" E E E 5.6.7.8.9. ",
" E E E E E 5.V 0.+.a. ",
" b.*.c.d.E E e.5.f.g.g.{.9. ",
" E h.i.6.j.k.l.0.g.m.E ",
" ].n.P h.o.p.E "};

View File

@ -0,0 +1,36 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"22 22 8 1",
" c Gray100",
". c #cab5d1",
"X c #c1c1c1",
"o c #848200",
"O c Gray0",
"+ c None",
"@ c Gray0",
"# c Gray0",
/* pixels */
"++++++++++++++++++++++",
"+OOOOOOOOOOOOOOOOOOOO+",
"+OooOXXXXXXXXXXXXOXXO+",
"+OooOXXXXXXXXXXXXOXXO+",
"+OooOXXXXXXXXX.XXOOOO+",
"+OooOXXX..XXXXXXXOooO+",
"+OooOXXX..XXXXXXXOooO+",
"+OooOXXXXXXXXXXXXOooO+",
"+OooOXXXXXXXXXXXXOooO+",
"+OooOXXXXXXXXXXXXOooO+",
"+OooOXXXXXXXXXXXXOooO+",
"+OoooOOOOOOOOOOOOoooO+",
"+OooooooooooooooooooO+",
"+OooooooooooooooooooO+",
"+OoooOOOOOOOOOOOOOooO+",
"+OoooOOOOOOOOOXXXOooO+",
"+OoooOOOOOOOOOXXXOooO+",
"+OoooOOOOOOOOOXXXOooO+",
"+OoooOOOOOOOOOXXXOooO+",
"+OoooOOOOOOOOOXXXOooO+",
"++OOOOOOOOOOOOOOOOOO++",
"++++++++++++++++++++++"
};

View File

@ -0,0 +1,29 @@
/* XPM */
static char * musrasym_xpm[] = {
"22 22 4 1",
" c None",
". c #3D20CF",
"+ c #FF0000",
"@ c #000000",
" ",
" . .. . . . .",
" . . . . . . .. ..",
". . . . . . . .",
". . .. . . . .",
"..... . . . .",
". . . . . . .",
". . .. . . .",
" ",
" ++ ",
"+ + ",
" + ",
" + ",
" + ",
" + ++ ",
" + + + +",
"@@@@@@@+@@@@+@@@@+@@+ ",
" + + ++ ",
" ++ ",
" ",
" ",
" "};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrcalcchisq_xpm[] = {
"22 22 3 1",
" c None",
". c #FF0000",
"+ c #000000",
" ... ",
" +... . ",
" .+ ...+. ",
" ... . ... ",
" ... ... ",
" ... ... ",
"+ . . ",
" . ",
" +++ ",
" ++..+ ",
" + ..+ . ",
" .+.+ . ",
"++ + +. + ... ",
"+++ ++ + ...++... ",
" ++ ++ +++++.. ... ",
" +++ ... .+ ",
" ++ . ",
" ++ ...",
" +++ ...",
" ++ + ...",
" ++ +++ . ",
"++ +++ "};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrfit_xpm[] = {
"22 22 3 1",
" c None",
". c #FF0000",
"+ c #000000",
" ... ",
" +... . ",
" .+ ...+. ",
" ... . ... ",
" ... ... ",
" ... ... ",
"+ . .+ ",
" .+ ",
" . ",
" ... ",
" ... . ",
" ...+ . ",
" . + ... ",
" ...++... ",
"++++ + +++++... ... ",
"+ + + ... .+ ",
"+ + + . ",
"++++ + + ...",
"+ + + ...",
"+ + + ...",
"+ + + . ",
" "};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrmlog2db_xpm[] = {
"22 22 3 1",
" c None",
". c #000000",
"+ c #FF0000",
" .... . ..... ",
".... . . . ",
" . . . ",
".... ... . . ",
" . . . ",
"....... . . . ",
" . . . ",
".... ",
" + ",
"... + ",
" + ",
"...... + + + ",
" +++ ",
".... + ",
" ",
".... +++ +++ ",
" + + + + ",
"..... + + + + ",
" + + +++ ",
"...... + + + + ",
" + + + + ",
".... +++ +++ "};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrprefs_xpm[] = {
"22 22 3 1",
" c None",
". c #3D20CF",
"+ c #000000",
"... ... ... ... ... ",
". . . . . . . ",
"... ... ... ... ... ",
". . . . . . ",
". . . ... . ... ",
" ",
" + + ",
" + + + ",
"+ ++++ ++ + ",
" + + + + ",
" + + ",
" ",
" + + ",
" + + + ++ ++ + ",
"+ + +++ + + + + + ",
" + + + + ",
" + + ",
" ",
" + + + ",
" + + + + + ",
"+ + +++++++++ + ++ +",
" + ++ ++ + + "};

View File

@ -0,0 +1,29 @@
/* XPM */
static char * musrsinglehisto_xpm[] = {
"22 22 4 1",
" c None",
". c #3D20CF",
"+ c #FF0000",
"@ c #000000",
" ",
". . . .. ..... ... ",
".++ . . . . . . .",
". + . . . . . .",
"..... . .. . . .",
". +. . . . . .",
". . . . . . . .",
". .+. .. . ... ",
"@ + ",
"@ + ",
"@ + ",
"@ ++ ",
"@ + ",
"@ + ",
"@ + ",
"@ + ",
"@ ++ ",
"@ + ",
"@ ++ ",
"@ ++ ",
"@ ++ ",
"@@@@@@@@@@@@@@@@@@@+++"};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrswap_xpm[] = {
"22 22 3 1",
" c None",
". c #000000",
"+ c #FF0000",
".. .. .... .... ",
".. .. . . . . ",
". . . . . . . ",
". ... . ... . . ",
". . . .. .... ",
". . . . . ",
". . . . . . ",
". . .+.. . . ",
" +++ ",
" +++++ ",
" ++ + ++ ",
" + ",
" ++ + ++ ",
" +++++ ",
".. .. .+++... ... ",
".. .. . +.. .. .. ..",
". . . . . . . . .",
". ... . . . . . ",
". . . . . . . ...",
". . . . . . .",
". . . .. .. .. ..",
". . ....... ... "};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrt0_xpm[] = {
"22 22 3 1",
" c None",
". c #3D20CF",
"+ c #000000",
"..... .. ",
" . . . ",
" . . . ",
" . . . ",
" . + . . ++ ",
" . + . .+ ++ ",
" . + .. + + ",
" + + +++ ",
" + + + ",
" + + ++ ",
" + + + ",
" + + + ",
" + + ++ ",
" + + ++++ ",
" + + + ",
" + + ++",
" + + ",
" + + ",
" + + ",
" + ++ + ",
"++ + + ",
" "};

View File

@ -0,0 +1,28 @@
/* XPM */
static char * musrview_xpm[] = {
"22 22 3 1",
" c None",
". c #000000",
"+ c #FF0000",
" .. ... .. ",
" ",
"......................",
" . ",
" . . ... ",
" ++ . ",
" ++ . ..... ",
" + + . ",
" + ... . ..... ",
" + . + . . ",
" +. + . . . ....",
" +. + . . ",
" + . + . . ... . ",
" + . + . . ",
" +. + . . ",
" +. + ... ",
" ++ . ",
" . ",
"......................",
" ",
" ....... .... .... ",
" "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 918 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
\exp\left[ -(\sigma/\gamma)^2 \left( e^{-\gamma t} - 1 + \gamma t\right) \right]
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
A
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
j_0(2\pi\nu t + \phi \pi/180)
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
1/3 \left[ 1 + 2\, \left\{ 1 - (\sigma t)^2 - \lambda t\right\}\right]\, e^{-(\sigma t)^2/2 - \lambda t}
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
\exp\left[-(\lambda t)^\beta\right]
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
\alpha j_0\left(2\pi\nu t + \phi\pi/180\right) e^{-\lambda_{\rm T} t} + (1-\alpha) e^{-\lambda_{\rm L} t}
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
\alpha \cos\left(2\pi\nu t + \phi\pi/180\right) e^{-\lambda_{\rm T} t} + (1-\alpha) e^{-\lambda_{\rm L} t}
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
\sum_{k=0}^n a_k (t-t_0)^k
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{displaymath}
\exp(-\lambda t)
\end{displaymath}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Some files were not shown because too many files have changed in this diff Show More