From f5df45e5b34b3723deb5161dcaadb3f850ed0fe8 Mon Sep 17 00:00:00 2001 From: nemu Date: Mon, 23 Mar 2009 08:29:57 +0000 Subject: [PATCH] added theory function insert option --- src/musrgui/PGetTheoryBlockDialog.cpp | 4 ++- src/musrgui/PSubTextEdit.cpp | 51 +++++++++++++++++++++++++++ src/musrgui/PSubTextEdit.h | 1 + src/musrgui/musrgui_startup.xml | 26 +++++++------- 4 files changed, 68 insertions(+), 14 deletions(-) diff --git a/src/musrgui/PGetTheoryBlockDialog.cpp b/src/musrgui/PGetTheoryBlockDialog.cpp index 350d7bec..fe4a789f 100644 --- a/src/musrgui/PGetTheoryBlockDialog.cpp +++ b/src/musrgui/PGetTheoryBlockDialog.cpp @@ -49,12 +49,14 @@ PGetTheoryBlockDialog::PGetTheoryBlockDialog(PAdmin *admin, { // feed theory function combo box QString pixmapPath = fAdmin->getTheoFuncPixmapPath(); + QString label; 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); + label = " : " + theoItem->label; + fTheoryFunction_comboBox->insertItem(pixmap, label); } else { fTheoryFunction_comboBox->insertItem(theoItem->label); } diff --git a/src/musrgui/PSubTextEdit.cpp b/src/musrgui/PSubTextEdit.cpp index fbaf779a..54d1610e 100644 --- a/src/musrgui/PSubTextEdit.cpp +++ b/src/musrgui/PSubTextEdit.cpp @@ -35,6 +35,9 @@ #include #include #include +#include +#include +#include #include "PAdmin.h" #include "PSubTextEdit.h" @@ -66,6 +69,7 @@ PSubTextEdit::PSubTextEdit(PAdmin *admin, QPopupMenu* PSubTextEdit::createPopupMenu(const QPoint &pos) { QPopupMenu *menu = new QPopupMenu( this ); + QPopupMenu *theoryFunctions = new QPopupMenu( menu ); QAction *a; a = new QAction(tr("insert Title"), 0, this, "insertTitle"); @@ -76,6 +80,14 @@ QPopupMenu* PSubTextEdit::createPopupMenu(const QPoint &pos) connect(a, SIGNAL( activated() ), this, SLOT( insertParameterBlock() )); a->addTo( menu ); + // feed the theoryFunctions popup menu + for (unsigned int i=0; igetTheoryCounts(); i++) { + PTheory *theoryItem = fAdmin->getTheoryItem(i); + theoryFunctions->insertItem(theoryItem->label, 300+i); + } + menu->insertItem("insert Theory Function", theoryFunctions); + connect(theoryFunctions, SIGNAL( activated(int) ), this, SLOT( insertTheoryFunction(int) )); + a = new QAction(tr("insert Theory Block"), 0, this, "insertTheoryBlock"); connect(a, SIGNAL( activated() ), this, SLOT( insertTheoryBlock() )); a->addTo( menu ); @@ -144,6 +156,45 @@ void PSubTextEdit::insertParameterBlock() } } +//---------------------------------------------------------------------------------------------------- +/** + *

+ */ +void PSubTextEdit::insertTheoryFunction(int idx) +{ + if (idx < 300) + return; + + int index = idx - 300; + + if (index >= 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; iparams; i++) { + str += QString("%1").arg(i+1) + " "; + } + + // add comment + str += theoItem->comment; + + // add newline + str += "\n"; + + insert(str); +} + //---------------------------------------------------------------------------------------------------- /** *

diff --git a/src/musrgui/PSubTextEdit.h b/src/musrgui/PSubTextEdit.h index 2778f5c5..0391b52c 100644 --- a/src/musrgui/PSubTextEdit.h +++ b/src/musrgui/PSubTextEdit.h @@ -49,6 +49,7 @@ class PSubTextEdit : public QTextEdit private slots: void insertTitle(); void insertParameterBlock(); + void insertTheoryFunction(int idx); void insertTheoryBlock(); void insertFunctionBlock(); void insertAsymRunBlock(); diff --git a/src/musrgui/musrgui_startup.xml b/src/musrgui/musrgui_startup.xml index 174af09c..72b8b5d0 100644 --- a/src/musrgui/musrgui_startup.xml +++ b/src/musrgui/musrgui_startup.xml @@ -26,35 +26,35 @@ asymmetry - + asymmetry.png 1 simplExpo (rate) - + simpleExp.png 1 generExpo (rate exponent) - + generalExp.png 2 simplGss (rate) - + simpleGauss.png 1 statGssKT (rate) - + statGssKT.png 1 @@ -75,7 +75,7 @@ statExpKT (rate) - + statExpKT.png 1 @@ -96,7 +96,7 @@ combiLGKT (LorentzRate GaussRate) - + combiLGKT.png 2 @@ -117,35 +117,35 @@ abragam (rate hopping-rate) - + abragam.png 2 internFld (phase frequency Trate Lrate) - + internalField.png 4 TFieldCos (phase frequency) - + tfCos.png 2 bessel (phase frequency) - + bessel.png 2 internBsl (fraction phase frequency Trate Lrate) - + internalBessel.png 5 @@ -159,7 +159,7 @@ polynom (tshift p0 p1 ... pn) - + polynom.png 4