#include "GWt_elementFit.h" #include "mixedTools.h" #include #include #include #include #include #include GWt_elementFit::GWt_elementFit(GWt_elementLigneFaisceau* elemLigne) :GWt_abstractElement(new elementFit()) { elementLigneFaiseauContainer_ = elemLigne; initialize(); } void GWt_elementFit::initilializeDialog() { string* param = beginDialog(); new WText(" variable to fit : ",dialog_->contents()); nameEdit_ = new WComboBox(dialog_->contents()); nameEdit_->addItem("R11"); nameEdit_->addItem("R22"); nameEdit_->addItem("R12"); nameEdit_->addItem("R21"); nameEdit_->addItem("??"); string var = *param; if ( var == "R11" ) { nameEdit_->setCurrentIndex(0); } else if ( var == "R22" ) { nameEdit_->setCurrentIndex(1); } else if ( var == "R12" ) { nameEdit_->setCurrentIndex(2); } else if ( var == "R21" ) { nameEdit_->setCurrentIndex(3); } else { nameEdit_->setCurrentIndex(4); } new WText(" value : ",dialog_->contents()); valueEdit_ = new WLineEdit( (++param)->c_str(), dialog_->contents()); new WText(" tolerance : ",dialog_->contents()); tolerEdit_ = 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_elementFit::dialogDone); } void GWt_elementFit::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] = string(mixedTools::intToString(nbParam) ); envoi[++compteur] = labelEdit_->text().toUTF8(); string variableString = nameEdit_->currentText().toUTF8(); cout << " GWt_elementFit::dialogDone() variable a fitter : " << variableString << endl; envoi[++compteur] = variableString; envoi[++compteur] = valueEdit_->text().toUTF8(); envoi[++compteur] = tolerEdit_->text().toUTF8(); if ( compteur != (int)nbParam ) { cerr << " GWt_elementFit::dialogDone() pb nb de parametres, compteur = " << compteur << " nbParam= " << nbParam << endl; return; } abstractElement_->setParametersString(envoi); updateLabelAndToolTipWidget(); delete [] envoi; }