diff --git a/src/musrgui/PGetTheoryBlockDialog.cpp b/src/musrgui/PGetTheoryBlockDialog.cpp index 350d7bec6..fe4a789f7 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 fbaf779a3..54d1610e3 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 2778f5c55..0391b52ce 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 174af09ca..72b8b5d0c 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