#include "GWt_drift.h" #include "mixedTools.h" #include #include #include #include #include GWt_drift::GWt_drift(GWt_elementLigneFaisceau* elemLigne) :GWt_abstractElement(new elementDrift()) { elementLigneFaiseauContainer_ = elemLigne; initialize(); } void GWt_drift::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()); 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_drift::dialogDone); } void GWt_drift::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(); if ( compteur != (int)nbParam ) { cerr << " GWt_drift::dialogDone() pb nb de parametres, compteur = " << compteur << " nbParam= " << nbParam << endl; return; } abstractElement_->setParametersString(envoi); updateLabelAndToolTipWidget(); delete [] envoi; } WImage* GWt_drift::getImage() { return image_; }