#include "GWt_bend.h" #include #include #include #include #include GWt_bend::GWt_bend(PspaApplication* ps,abstractElement* elem) : GWt_abstractElement(ps,elem) { string* param = element_-> getParametersString(); if ( param == NULL ) { pspa_->addConsoleMessage(" GWt_bend : empty parameter set"); } int nbparam = atoi(param[0].c_str()); if ( nbparam != element_->getNbParams() ) { pspa_->addConsoleMessage(WString(" element uncoherently programmed for munmber of parameters: bend ")); } dialog_ = new WDialog("element : bend"); new WText("angle (deg.) : ",dialog_->contents()); angleEdit_ = new WLineEdit(param[1].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("radius (m) : ",dialog_->contents()); radiusEdit_ = new WLineEdit(param[2].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("length (cm) : ",dialog_->contents()); xlengthEdit_ = new WLineEdit("0", dialog_->contents()); xlengthEdit_->setDisabled(true); new WBreak(dialog_->contents()); new WText("aperture (cm) : ",dialog_->contents()); apertureEdit_ = new WLineEdit(param[3].c_str(), dialog_->contents()); apertureEdit_->setDisabled(true); new WBreak(dialog_->contents()); new WText("pole face rotations (deg.) entrance : ",dialog_->contents()); beta1Edit_ = new WLineEdit(param[4].c_str(), dialog_->contents()); new WText("exit : ",dialog_->contents()); beta2Edit_ = new WLineEdit(param[5].c_str(), dialog_->contents()); new WBreak(dialog_->contents()); WPushButton *submit = new WPushButton("OK",dialog_->contents()); submit->clicked().connect(dialog_, &Wt::WDialog::accept); dialog_->finished().connect(this, &GWt_bend::dialogDone); } void GWt_bend::dialogDone() { string envoi[6]; envoi[0] = string("5"); envoi[1] = angleEdit_->text().toUTF8(); envoi[2] = radiusEdit_->text().toUTF8(); envoi[3] = apertureEdit_->text().toUTF8(); envoi[4] = beta1Edit_->text().toUTF8(); envoi[5] = beta2Edit_->text().toUTF8(); element_->setParametersString(envoi); }