#include "GWt_cell.h" #include #include #include #include #include #include GWt_cell::GWt_cell(PspaApplication* ps,abstractElement* elem,string image) : GWt_abstractElement(ps,elem,image) { string* param = element_-> getParametersString(); if ( param == NULL ) { pspa_->addConsoleMessage(" GWt_cell : empty parameter set"); } int nbparam = atoi(param[0].c_str()); if ( nbparam != 9 ) { pspa_->addConsoleMessage(" element seems not to be a CELL"); } dialog_ = new WDialog("element CELL"); new WText("length (cm) : ",dialog_->contents()); lenghtElemEdit_ = new WLineEdit(param[1].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("aperture (cm) : ",dialog_->contents()); apertureEdit_ = new WLineEdit(param[2].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("initial phase (deg.) : ",dialog_->contents()); initialPhaseEdit_ = new WLineEdit(param[3].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("max phase step (deg.) : ",dialog_->contents()); phaseStepMaxEdit_ = new WLineEdit(param[4].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("max accelerating field (MV/m) : ",dialog_->contents()); acceleratingFieldEdit_ = new WLineEdit(param[5].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("name of file for field shape : ",dialog_->contents()); acceleratingShapeFileEdit_ = new WLineEdit(param[6].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); WPanel *panel = new WPanel(dialog_->contents()); panel->setTitle(" magnetic focusing "); WText* t1 = new WText("name of file for focusing mag. field : ",dialog_->contents()); focusingMagFileEdit_ = new WLineEdit(param[7].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); WText* t2 = new WText(" z-offset for mag. field : ",dialog_->contents()); offsetMagEdit_ = new WLineEdit(param[8].c_str(), dialog_->contents()); WText* t3 = new WText(" scaling factor for mag. field : ",dialog_->contents()); scaleFactorEdit_ = new WLineEdit(param[9].c_str(), dialog_->contents()); WContainerWidget* contenu = new WContainerWidget(); contenu->addWidget(t1); contenu->addWidget(focusingMagFileEdit_); contenu->addWidget(new WBreak()); contenu->addWidget(t2); contenu->addWidget(offsetMagEdit_); contenu->addWidget(new WBreak()); contenu->addWidget(t3); contenu->addWidget(scaleFactorEdit_); panel->setCentralWidget(contenu); WPushButton *submit = new WPushButton("OK",dialog_->contents()); submit->clicked().connect(dialog_, &Wt::WDialog::accept); dialog_->finished().connect(this, &GWt_cell::dialogDone); } void GWt_cell::dialogDone() { string envoi[10]; envoi[0] = string("9"); envoi[1] = lenghtElemEdit_->text().toUTF8(); envoi[2] = apertureEdit_->text().toUTF8(); envoi[3] = initialPhaseEdit_->text().toUTF8(); envoi[4] = phaseStepMaxEdit_->text().toUTF8(); envoi[5] = acceleratingFieldEdit_->text().toUTF8(); envoi[6] = acceleratingShapeFileEdit_->text().toUTF8(); envoi[7] = focusingMagFileEdit_->text().toUTF8(); envoi[8] = offsetMagEdit_->text().toUTF8(); envoi[9] = scaleFactorEdit_->text().toUTF8(); element_->setParametersString(envoi); }