source: PSPA/Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_rfgun.cc @ 308

Last change on this file since 308 was 308, checked in by garnier, 11 years ago

LigneFaisceau: Correction d un bug qui ne remplissqit pas les parametres des elements

File size: 3.0 KB
Line 
1#include "GWt_rfgun.h"
2#include "mixedTools.h"
3
4#include <Wt/WText>
5#include <Wt/WLineEdit>
6#include <Wt/WBreak>
7#include <Wt/WDialog>
8#include <Wt/WPushButton>
9
10GWt_rfgun::GWt_rfgun(GWt_elementLigneFaisceau* elemLigne)
11:GWt_abstractElement(new elementRfgun())
12{
13    elementLigneFaiseauContainer_ = elemLigne;
14}
15
16
17void GWt_rfgun::initializeElement() {
18
19    string* param = beginDialog();
20   
21    new WText("nr of macroparticles : ",dialog_->contents());
22    nmacropEdit_ = new WLineEdit(param->c_str(), dialog_->contents());
23    new WBreak(dialog_->contents());
24   
25    new WText("sigma_t (ps) : ",dialog_->contents());
26    sigma_tEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
27    new WBreak(dialog_->contents());
28   
29    new WText("sigma_r (cm) : ",dialog_->contents());
30    sigma_rEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
31    new WBreak(dialog_->contents());
32   
33
34    new WText("emittance x (pi.mm.mrad) : ",dialog_->contents());
35    emit_xEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
36    new WText("emittance y (pi.mm.mrad) : ",dialog_->contents());
37    emit_yEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
38    new WBreak(dialog_->contents());
39
40    new WText("initial kinetic energy (MeV) : ",dialog_->contents());
41    E_cinEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
42    new WBreak(dialog_->contents());
43   
44    new WText("sigma_Ecin (MeV) : ",dialog_->contents());
45    sigma_EEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
46    new WBreak(dialog_->contents());
47   
48    new WText("total charge in beam (nC) : ",dialog_->contents());
49    totalChargeEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents());
50    new WBreak(dialog_->contents());
51   
52    // Submit
53    WPushButton *submit = new WPushButton("OK",dialog_->contents());
54    submit->clicked().connect(dialog_, &Wt::WDialog::accept);
55    dialog_->finished().connect(this, &GWt_rfgun::dialogDone);
56   
57}
58
59
60
61void GWt_rfgun::dialogDone()
62{
63    unsigned nbParam = abstractElement_->getNbParams();
64    string* envoi = new string[nbParam+1];
65    int compteur = -1;
66    envoi[++compteur] = mixedTools::intToString(nbParam);
67    envoi[++compteur] = labelEdit_->text().toUTF8();
68    envoi[++compteur] = nmacropEdit_->text().toUTF8();
69    envoi[++compteur] = sigma_tEdit_->text().toUTF8();
70    envoi[++compteur] = sigma_rEdit_->text().toUTF8();
71
72    envoi[++compteur] = emit_xEdit_->text().toUTF8();
73    envoi[++compteur] = emit_yEdit_->text().toUTF8();
74
75    envoi[++compteur] = E_cinEdit_->text().toUTF8();
76    envoi[++compteur] = sigma_EEdit_->text().toUTF8();
77    envoi[++compteur] = totalChargeEdit_->text().toUTF8();
78    if ( compteur !=  (int)nbParam ) {
79        cerr << " GWt_rfgun::dialogDone() pb nb de parametres, compteur = " << compteur << " nbParam= " << nbParam << endl;
80        return;
81    }
82    abstractElement_->setParametersString(envoi);
83    delete [] envoi;
84}
85
86
87WImage* GWt_rfgun::getImage() {
88    return image_;
89}
Note: See TracBrowser for help on using the repository browser.