From eef0dac3a9d403dc20004134a2088ce6519fb62c Mon Sep 17 00:00:00 2001 From: nemu Date: Sun, 22 Mar 2009 15:11:42 +0000 Subject: [PATCH] some more work towards a theory block handler --- src/musrgui/PAdmin.cpp | 75 ++++++++++++++++- src/musrgui/PAdmin.h | 27 ++++++- src/musrgui/PGetTheoryBlockDialog.cpp | 76 ++++++++++++++++++ src/musrgui/PGetTheoryBlockDialog.h | 54 +++++++++++++ src/musrgui/PSubTextEdit.cpp | 20 +++-- src/musrgui/PSubTextEdit.h | 7 +- src/musrgui/PTextEdit.cpp | 4 +- .../forms/PGetTheoryBlockDialogBase.ui | 11 ++- src/musrgui/latex_images/internalBessel.png | Bin 1699 -> 1331 bytes src/musrgui/latex_images/internalBessel.tex | 2 +- src/musrgui/latex_images/internalField.png | Bin 1136 -> 928 bytes src/musrgui/latex_images/internalField.tex | 2 +- src/musrgui/latex_images/statExpKT.png | Bin 0 -> 740 bytes src/musrgui/latex_images/statExpKT.tex | 9 +++ src/musrgui/musrgui.pro | 3 + src/musrgui/musrgui_startup.xml | 43 +++++----- 16 files changed, 291 insertions(+), 42 deletions(-) create mode 100644 src/musrgui/PGetTheoryBlockDialog.cpp create mode 100644 src/musrgui/PGetTheoryBlockDialog.h create mode 100644 src/musrgui/latex_images/statExpKT.png create mode 100644 src/musrgui/latex_images/statExpKT.tex diff --git a/src/musrgui/PAdmin.cpp b/src/musrgui/PAdmin.cpp index f0e5996a..4a5e3d59 100644 --- a/src/musrgui/PAdmin.cpp +++ b/src/musrgui/PAdmin.cpp @@ -29,8 +29,6 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include - #include #include "PAdmin.h" @@ -46,6 +44,7 @@ PAdminXMLParser::PAdminXMLParser(PAdmin *admin) : fAdmin(admin) { fKeyWord = eEmpty; + fFunc = false; } //-------------------------------------------------------------------------- @@ -84,6 +83,28 @@ bool PAdminXMLParser::startElement( const QString&, const QString&, 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; @@ -94,10 +115,15 @@ bool PAdminXMLParser::startElement( const QString&, const QString&, *

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& ) +bool PAdminXMLParser::endElement( const QString&, const QString&, const QString &qName ) { fKeyWord = eEmpty; + if (qName == "func") { + fFunc = false; + fAdmin->addTheoryItem(fTheoryItem); + } + return true; } @@ -142,10 +168,38 @@ bool PAdminXMLParser::characters(const QString& str) help.replace("<", "<"); fAdmin->setHelpMain(help); break; + case eTheoFuncPixmapPath: + fAdmin->setTheoFuncPixmapPath(QString(str.ascii()).stripWhiteSpace()); + break; default: break; } + if (fFunc) { + bool ok; + switch (fKeyWord) { + case eFuncName: + fTheoryItem.name = QString(str.latin1()).stripWhiteSpace(); + break; + case eFuncComment: + fTheoryItem.comment = QString(str.latin1()).stripWhiteSpace(); + break; + case eFuncLabel: + fTheoryItem.label = QString(str.latin1()).stripWhiteSpace(); + break; + case eFuncPixmap: + fTheoryItem.pixmapName = QString(str.latin1()).stripWhiteSpace(); + break; + case eFuncParams: + fTheoryItem.params = str.toInt(&ok); + if (!ok) + return false; + break; + default: + break; + } + } + return true; } @@ -170,6 +224,7 @@ PAdmin::PAdmin() { fExecPath = QString(""); fDefaultSavePath = QString(""); + fTheoFuncPixmapPath = QString(""); fBeamline = QString(""); fInstitute = QString(""); @@ -192,6 +247,20 @@ PAdmin::PAdmin() } } +//-------------------------------------------------------------------------- +// implementation of PAdmin class +//-------------------------------------------------------------------------- +/** + *

+ */ +PTheory* PAdmin::getTheoryItem(const unsigned int idx) +{ + if (idx > fTheory.size()) + return 0; + else + return &fTheory[idx]; +} + //-------------------------------------------------------------------------- // END //-------------------------------------------------------------------------- diff --git a/src/musrgui/PAdmin.h b/src/musrgui/PAdmin.h index fd9a262c..86bcb10a 100644 --- a/src/musrgui/PAdmin.h +++ b/src/musrgui/PAdmin.h @@ -33,11 +33,22 @@ #define _PADMIN_H_ #include -#include +#include +#include #include class PAdmin; +//--------------------------------------------------------------------------- +typedef struct { + QString name; + QString comment; + QString label; + QString pixmapName; + QPixmap pixmap; + int params; +} PTheory; + //--------------------------------------------------------------------------- class PAdminXMLParser : public QXmlDefaultHandler { @@ -47,8 +58,8 @@ class PAdminXMLParser : public QXmlDefaultHandler private: enum EAdminKeyWords {eEmpty, eExecPath, eDefaultSavePath, eBeamline, eInstitute, eFileFormat, - eLifetimeCorrection, eMsrDefaultFilePath, - eHelpMain}; + eLifetimeCorrection, eMsrDefaultFilePath, eHelpMain, eTheoFuncPixmapPath, + eFunc, eFuncName, eFuncComment, eFuncLabel, eFuncPixmap, eFuncParams}; bool startDocument(); bool startElement( const QString&, const QString&, const QString& , @@ -59,6 +70,8 @@ class PAdminXMLParser : public QXmlDefaultHandler bool endDocument(); EAdminKeyWords fKeyWord; + bool fFunc; + PTheory fTheoryItem; PAdmin *fAdmin; }; @@ -77,6 +90,9 @@ class PAdmin 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); protected: void setExecPath(const QString str) { fExecPath = str; } @@ -87,12 +103,15 @@ class PAdmin 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 fExecPath; QString fDefaultSavePath; + QString fTheoFuncPixmapPath; QString fBeamline; QString fInstitute; @@ -102,6 +121,8 @@ class PAdmin QString fMsrDefaultFilePath; QString fHelpMain; + + QValueVector fTheory; }; #endif // _PADMIN_H_ diff --git a/src/musrgui/PGetTheoryBlockDialog.cpp b/src/musrgui/PGetTheoryBlockDialog.cpp new file mode 100644 index 00000000..2ac3b639 --- /dev/null +++ b/src/musrgui/PGetTheoryBlockDialog.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** + + PGetTheoryBlockDialog.cpp + + 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. * + ***************************************************************************/ + +#include +#include +#include +#include +#include + +#include "PGetTheoryBlockDialog.h" + +//---------------------------------------------------------------------------------------------------- +/** + *

+ */ +PGetTheoryBlockDialog::PGetTheoryBlockDialog(PAdmin *admin, + QWidget * parent, const char *name, + bool modal, WFlags f) : + PGetTheoryBlockDialogBase(parent, name, modal, f), + fAdmin(admin) +{ + // feed theory function combo box + QString pixmapPath = fAdmin->getTheoFuncPixmapPath(); + PTheory *theoItem; + for (unsigned int i=0; igetTheoryCounts(); i++) { + theoItem = fAdmin->getTheoryItem(i); + if (theoItem->pixmapName.length() > 0) { + QPixmap pixmap( QImage(pixmapPath+"/"+theoItem->pixmapName, "PNG") ); + fTheoryFunction_comboBox->insertItem(pixmap, theoItem->label); + } else { + fTheoryFunction_comboBox->insertItem(theoItem->label); + } + } +} + +//---------------------------------------------------------------------------------------------------- +/** + *

+ */ +void PGetTheoryBlockDialog::helpContents() +{ + QMessageBox::information(this, "helpContents", + fAdmin->getHelpMain(), QMessageBox::Ok); +} + +//---------------------------------------------------------------------------------------------------- +// END +//---------------------------------------------------------------------------------------------------- diff --git a/src/musrgui/PGetTheoryBlockDialog.h b/src/musrgui/PGetTheoryBlockDialog.h new file mode 100644 index 00000000..de874181 --- /dev/null +++ b/src/musrgui/PGetTheoryBlockDialog.h @@ -0,0 +1,54 @@ +/**************************************************************************** + + PGetTheoryBlockDialog.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 _PGETTHEORYBLOCKDIALOG_H_ +#define _PGETTHEORYBLOCKDIALOG_H_ + +#include "PAdmin.h" +#include "forms/PGetTheoryBlockDialogBase.h" + +class PGetTheoryBlockDialog : public PGetTheoryBlockDialogBase +{ + public: + PGetTheoryBlockDialog(PAdmin *admin = 0, + QWidget * parent = 0, const char * name = 0, bool modal = FALSE, + WFlags f = 0); + + QString getTheoryBlock() { return fTheoryBlock_textEdit->text(); } + + private slots: + void helpContents(); + + private: + PAdmin *fAdmin; +}; + +#endif // _PGETTHEORYBLOCKDIALOG_H_ diff --git a/src/musrgui/PSubTextEdit.cpp b/src/musrgui/PSubTextEdit.cpp index eda35ad8..2b8831ef 100644 --- a/src/musrgui/PSubTextEdit.cpp +++ b/src/musrgui/PSubTextEdit.cpp @@ -36,9 +36,11 @@ #include #include +#include "PAdmin.h" #include "PSubTextEdit.h" #include "forms/PGetTitleDialog.h" #include "PGetParameterDialog.h" +#include "PGetTheoryBlockDialog.h" #include "PGetFunctionsBlockDialog.h" #include "PGetAsymmetryRunBlockDialog.h" #include "PGetSingleHistoRunBlockDialog.h" @@ -50,11 +52,10 @@ /** *

*/ -PSubTextEdit::PSubTextEdit(const bool lifetimeCorrectionFlag, const QString help, +PSubTextEdit::PSubTextEdit(PAdmin *admin, QWidget *parent, const char *name) : QTextEdit(parent, name), - fLifetimeCorrectionFlag(lifetimeCorrectionFlag), - fHelp(help) + fAdmin(admin) { } @@ -149,6 +150,11 @@ void PSubTextEdit::insertParameterBlock() */ void PSubTextEdit::insertTheoryBlock() { + PGetTheoryBlockDialog *dlg = new PGetTheoryBlockDialog(fAdmin); + if (dlg->exec() == QDialog::Accepted) { + insert(dlg->getTheoryBlock()); + insert("\n\n"); + } } //---------------------------------------------------------------------------------------------------- @@ -157,7 +163,7 @@ void PSubTextEdit::insertTheoryBlock() */ void PSubTextEdit::insertFunctionBlock() { - PGetFunctionsBlockDialog *dlg = new PGetFunctionsBlockDialog(fHelp); + PGetFunctionsBlockDialog *dlg = new PGetFunctionsBlockDialog(fAdmin->getHelpMain()); if (dlg->exec() == QDialog::Accepted) { insert(dlg->getFunctionsBlock()); insert("\n\n"); @@ -170,7 +176,7 @@ void PSubTextEdit::insertFunctionBlock() */ void PSubTextEdit::insertAsymRunBlock() { - PGetAsymmetryRunBlockDialog *dlg = new PGetAsymmetryRunBlockDialog(fHelp); + PGetAsymmetryRunBlockDialog *dlg = new PGetAsymmetryRunBlockDialog(fAdmin->getHelpMain()); if (dlg->exec() == QDialog::Accepted) { QString str, workStr; bool valid = true, present = true; @@ -270,7 +276,7 @@ void PSubTextEdit::insertAsymRunBlock() */ void PSubTextEdit::insertSingleHistRunBlock() { - PGetSingleHistoRunBlockDialog *dlg = new PGetSingleHistoRunBlockDialog(fHelp); + PGetSingleHistoRunBlockDialog *dlg = new PGetSingleHistoRunBlockDialog(fAdmin->getHelpMain()); if (dlg->exec() == QDialog::Accepted) { QString str, workStr; bool valid = true, present = true; @@ -370,7 +376,7 @@ void PSubTextEdit::insertSingleHistRunBlock() */ void PSubTextEdit::insertNonMusrRunBlock() { - PGetNonMusrRunBlockDialog *dlg = new PGetNonMusrRunBlockDialog(fHelp); + PGetNonMusrRunBlockDialog *dlg = new PGetNonMusrRunBlockDialog(fAdmin->getHelpMain()); if (dlg->exec() == QDialog::Accepted) { QString str, workStr; bool valid = true; diff --git a/src/musrgui/PSubTextEdit.h b/src/musrgui/PSubTextEdit.h index 24ec6605..2778f5c5 100644 --- a/src/musrgui/PSubTextEdit.h +++ b/src/musrgui/PSubTextEdit.h @@ -34,12 +34,14 @@ #include +#include "PAdmin.h" + class PSubTextEdit : public QTextEdit { Q_OBJECT public: - PSubTextEdit(const bool lifetimeCorrectionFlag = true, const QString help ="", QWidget *parent = 0, const char *name = 0); + PSubTextEdit(PAdmin *admin = 0, QWidget *parent = 0, const char *name = 0); protected: virtual QPopupMenu *createPopupMenu( const QPoint &pos); @@ -58,8 +60,7 @@ class PSubTextEdit : public QTextEdit void insertStatisticBlock(); private: - bool fLifetimeCorrectionFlag; - QString fHelp; + PAdmin *fAdmin; }; diff --git a/src/musrgui/PTextEdit.cpp b/src/musrgui/PTextEdit.cpp index 160df832..fa98448c 100644 --- a/src/musrgui/PTextEdit.cpp +++ b/src/musrgui/PTextEdit.cpp @@ -329,7 +329,7 @@ void PTextEdit::load( const QString &f ) { if ( !QFile::exists( f ) ) return; - PSubTextEdit *edit = new PSubTextEdit( fAdmin->getLifetimeCorrectionFlag(), fAdmin->getHelpMain() ); + PSubTextEdit *edit = new PSubTextEdit( fAdmin ); edit->setTextFormat( PlainText ); edit->setFamily("Courier"); edit->setPointSize(11); // 11pt @@ -410,7 +410,7 @@ bool PTextEdit::validRunList(const QString runList) */ void PTextEdit::fileNew() { - PSubTextEdit *edit = new PSubTextEdit( fAdmin->getLifetimeCorrectionFlag(), fAdmin->getHelpMain() ); + PSubTextEdit *edit = new PSubTextEdit( fAdmin ); edit->setTextFormat( PlainText ); edit->setFamily("Courier"); edit->setPointSize(11); // 11pt diff --git a/src/musrgui/forms/PGetTheoryBlockDialogBase.ui b/src/musrgui/forms/PGetTheoryBlockDialogBase.ui index 5ed43c0b..e41b5ebb 100644 --- a/src/musrgui/forms/PGetTheoryBlockDialogBase.ui +++ b/src/musrgui/forms/PGetTheoryBlockDialogBase.ui @@ -230,7 +230,7 @@ simplExpo 7 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000016249444154388d95544dae86200c9c1a169e471217707e5890d4f3b830e95b687d15e51349889982fd19a6252e0c6c001cb06e2b4637629abde0584b61aacf7bf0b06eebc5e88d5360b74fc18b9ed7f75bd82908210a01e0c204e33c8628029c99e8fd373ca853009023c3a530290d1a619abdf464aa7818dd682b3f232f8569ddd6cb594fa6578eab9f2f0f5105ede57888214ace692f3d33d591951602be719c72a2d18dc839512b93737de0989e74dcc2d3eca557d7371db7b0364daf3a865eceded41142949b8e7b38b32b86288fe7371d77bcb66d1ace4ceadcce9669f6a2f79dcdf0edbb1426752200c874ec8da6c37e6e2e0cfbadb798cd99c18571b11546ca090ed807cf85db23b2da6388a27ab7034a39d54a08403afc383c7514dab8a5e3a530a5431d4b667200e0c37f16e968efa70adede40a7e414bc3875663b4833d44a6adc548f59832dd3ce865fb8a9fbdaf1178e7f656ea724a59cba75fce5fb0774073f42f0dd40cc0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000015e49444154388dad54318ec4200c1ca31429f38ed06d09ef8792ce7907653aae088e0c1b6ed9d321213490d8e361307162e004b002f9ccd8d60dfbcb16d47124a6fe7c069b7ce666d3aaa0c0b5bf3b5be4bcff7e848913239f19cef94200383169c604a0fc81b991a0a801f299af20359864d85fb6cc30156cb675d395df998fc494cfdc9c6966126c84cdd3cf4d795dd2598d8d77bec418aed223539f596421608aa9601362a06ddd1063a011937b7ca1313df97884f7972db3ee78f3f1088b0567dd616635fbe40ee77c69349ed54c0fef7c793cff0f8dadb3452efea9b72c9ae1a7f550cfbd0020f562df64aafbf7e4c4d06b3f8b9a1c199c18cd5e628418b00057e369b4ad9965df3b7f970dddfd563495108050e32c787a5118e3918f8fc414aa3b8ec8b400d7450889509ff753059fee40bae4ee6c592498be7d612895f478e87b358c2e53f786dff0d0f77de06f34fe8db9ee92146298f6f137eb0f98104228d12bbd020000000049454e44ae426082 @@ -246,6 +246,15 @@ simplExpo 7 PGetTheoryBlockDialogBase reject() + + buttonHelp + clicked() + PGetTheoryBlockDialogBase + helpContents() + + + helpContents() + diff --git a/src/musrgui/latex_images/internalBessel.png b/src/musrgui/latex_images/internalBessel.png index 32632fecb1c7e5af4794cb560b209624e08c4ac7..9f63229639484fb06be0e7125e4680210297bf1d 100644 GIT binary patch literal 1331 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 + /home/nemu/analysis/musrfit/src/musrgui/latex_images asymmetry - latex_images/asymmetry.png + asymmetry.png 1 simplExpo (rate) - latex_images/simpleExp.png + simpleExp.png 1 generExpo (rate exponent) - latex_images/generalExp.png + generalExp.png 2 simplGss (rate) - latex_images/simpleGauss.png + simpleGauss.png 1 statGssKT (rate) - latex_images/statGssKT.png + statGssKT.png 1 statGssKTLF (frequency damping) - + 2 dynGssKTLF (frequency damping hopping-rate) - + 3 @@ -75,20 +76,20 @@ statExpKT (rate) - latex_images/statExpKT.png + statExpKT.png 1 statExpKTLF (frequency damping) - + 2 dynExpKTLF (frequency damping hopping-rate) - + 3 @@ -96,20 +97,20 @@ combiLGKT (LorentzRate GaussRate) - latex_images/combiLGKT.png + combiLGKT.png 2 spinGlass (rate hopping-rate order) - + 3 rdAnisoHf (frequency rate) - + 2 @@ -117,41 +118,41 @@ abragam (rate hopping-rate) - latex_images/abragam.png + abragam.png 2 internFld (phase frequency Trate Lrate) - latex_images/internalField.png + internalField.png 4 TFieldCos (phase frequency) - latex_images/tfCos.png + tfCos.png 2 bessel (phase frequency) - latex_images/bessel.png + bessel.png 2 internBsl (fraction phase frequency Trate Lrate) - latex_images/internalBessel.png + internalBessel.png 5 skewedGss (phase frequency rate_m rate_p) - + 4 @@ -159,13 +160,13 @@ polynom (tshift p0 p1 ... pn) - latex_images/polynom.png + polynom.png 4 userFcn - + 0