#include "GWt_rfgun.h" #include #include #include #include #include GWt_rfgun::GWt_rfgun(PspaApplication* ps,abstractElement* elem) : GWt_abstractElement(ps,elem) { string* param = element_-> getParametersString(); if ( param == NULL ) { pspa_->addConsoleMessage(" GWt_rfgun : empty parameter set"); } int nbparam = atoi(param[0].c_str()); if ( nbparam != 6 ) { pspa_->addConsoleMessage(" element seems not to be a initialBeam"); } dialog_ = new WDialog("element initialBeam"); new WText("nr of macroparticles : ",dialog_->contents()); nmacropEdit_ = new WLineEdit(param[1].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("sigma_t (ps) : ",dialog_->contents()); sigma_tEdit_ = new WLineEdit(param[2].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("sigma_r (cm) : ",dialog_->contents()); sigma_rEdit_ = new WLineEdit(param[3].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("initial kinetic energy (MeV) : ",dialog_->contents()); E_cinEdit_ = new WLineEdit(param[4].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("sigma_Ecin (MeV) : ",dialog_->contents()); sigma_EEdit_ = new WLineEdit(param[5].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("true number of part. in beam : ",dialog_->contents()); nb_true_particlesEdit_ = new WLineEdit(param[6].c_str(), dialog_->contents()); // Submit WPushButton *submit = new WPushButton("OK",dialog_->contents()); submit->clicked().connect(dialog_, &Wt::WDialog::accept); dialog_->finished().connect(this, &GWt_rfgun::dialogDone); } void GWt_rfgun::dialogDone() { string envoi[7]; envoi[0] = string("6"); envoi[1] = nmacropEdit_->text().toUTF8(); envoi[2] = sigma_tEdit_->text().toUTF8(); envoi[3] = sigma_rEdit_->text().toUTF8(); envoi[4] = E_cinEdit_->text().toUTF8(); envoi[5] = sigma_EEdit_->text().toUTF8(); envoi[6] = nb_true_particlesEdit_->text().toUTF8(); element_->setParametersString(envoi); }