#include "GWt_elementSoleno.h" #include "mixedTools.h" #include #include #include #include #include GWt_elementSoleno::GWt_elementSoleno(GWt_elementLigneFaisceau* elemLigne) :GWt_abstractElement(new elementSoleno()) { elementLigneFaiseauContainer_ = elemLigne; initialize(); } void GWt_elementSoleno::initilializeDialog() { string* param = beginDialog(); new WText("length (cm) : ",dialog_->contents()); xlengthEdit_ = new WLineEdit( param->c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("aperture (cm) : ",dialog_->contents()); apertureEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents()); new WBreak(dialog_->contents()); new WText("field (kG) : ",dialog_->contents()); B0Edit_ = new WLineEdit( (++param)->c_str(), dialog_->contents()); varyB0Edit_ = new WCheckBox(" : may vary ? ", dialog_->contents()); varyB0Edit_->setChecked(atoi( (++param)->c_str() ) ); new WBreak(dialog_->contents()); WPushButton *annule= new WPushButton("cancel",dialog_->contents()); annule->clicked().connect(dialog_, &Wt::WDialog::reject); WPushButton *submit= new WPushButton("OK",dialog_->contents()); submit->clicked().connect(dialog_, &Wt::WDialog::accept); dialog_->finished().connect(this, &GWt_elementSoleno::dialogDone); } void GWt_elementSoleno::dialogDone(WDialog::DialogCode code) { if (code != Wt::WDialog::Accepted) return; unsigned nbParam = abstractElement_->getNbParams(); string* envoi = new string[nbParam+1]; int compteur = -1; envoi[++compteur] = mixedTools::intToString(nbParam); envoi[++compteur] = labelEdit_->text().toUTF8(); envoi[++compteur] = xlengthEdit_->text().toUTF8(); envoi[++compteur] = apertureEdit_->text().toUTF8(); envoi[++compteur] = B0Edit_->text().toUTF8(); int varie; if ( varyB0Edit_->checkState() == Checked ) varie = 1; else varie = 0; envoi[++compteur] = mixedTools::intToString(varie); if ( compteur != (int)nbParam ) { cerr << " GWt_bend::dialogDone() pb nb de parametres, compteur = " << compteur << " nbParam= " << nbParam << endl; return; } abstractElement_->setParametersString(envoi); updateLabelAndToolTipWidget(); delete [] envoi; }