From 4a45ff24978e3c1e5ec5586a2c1bd0ab7cc2d2f3 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 14 Dec 2011 10:04:01 +0000 Subject: [PATCH] always update attributes --- Common/GmshMessage.cpp | 47 ++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index 0a11c7a7cf..a7c08c663e 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -611,29 +611,32 @@ void Msg::ExchangeOnelabParameter(const std::string &key, if(ps.size()){ // use value from server val[0] = ps[0].getValue(); } - else{ // send value to server - onelab::number o(name, val[0]); - if(fopt.count("Range") && fopt["Range"].size() == 2){ - o.setMin(fopt["Range"][0]); o.setMax(fopt["Range"][1]); - } - else if(fopt.count("Min") && fopt.count("Max")){ - o.setMin(fopt["Min"][0]); o.setMax(fopt["Max"][0]); - } - else if(fopt.count("Min")){ - o.setMin(fopt["Min"][0]); o.setMax(onelab::parameter::maxNumber()); - } - else if(fopt.count("Max")){ - o.setMax(fopt["Max"][0]); o.setMin(-onelab::parameter::maxNumber()); - } - if(fopt.count("Step")) o.setStep(fopt["Step"][0]); - if(fopt.count("Choices")) o.setChoices(fopt["Choices"]); - if(copt.count("Help")) o.setHelp(copt["Help"][0]); - if(copt.count("ShortHelp")) o.setShortHelp(copt["ShortHelp"][0]); - if(copt.count("Loop")) o.setAttribute("Loop", copt["Loop"][0]); - if(copt.count("GraphX")) o.setAttribute("GraphX", copt["GraphX"][0]); - if(copt.count("GraphY")) o.setAttribute("GraphY", copt["GraphY"][0]); - _onelabClient->set(o); + else{ + ps.resize(1); + ps[0].setName(name); + ps[0].setValue(val[0]); + } + // send updated parameter to server + if(fopt.count("Range") && fopt["Range"].size() == 2){ + ps[0].setMin(fopt["Range"][0]); ps[0].setMax(fopt["Range"][1]); + } + else if(fopt.count("Min") && fopt.count("Max")){ + ps[0].setMin(fopt["Min"][0]); ps[0].setMax(fopt["Max"][0]); + } + else if(fopt.count("Min")){ + ps[0].setMin(fopt["Min"][0]); ps[0].setMax(onelab::parameter::maxNumber()); + } + else if(fopt.count("Max")){ + ps[0].setMax(fopt["Max"][0]); ps[0].setMin(-onelab::parameter::maxNumber()); } + if(fopt.count("Step")) ps[0].setStep(fopt["Step"][0]); + if(fopt.count("Choices")) ps[0].setChoices(fopt["Choices"]); + if(copt.count("Help")) ps[0].setHelp(copt["Help"][0]); + if(copt.count("ShortHelp")) ps[0].setShortHelp(copt["ShortHelp"][0]); + if(copt.count("Loop")) ps[0].setAttribute("Loop", copt["Loop"][0]); + if(copt.count("GraphX")) ps[0].setAttribute("GraphX", copt["GraphX"][0]); + if(copt.count("GraphY")) ps[0].setAttribute("GraphY", copt["GraphY"][0]); + _onelabClient->set(ps[0]); } void Msg::FinalizeOnelab() -- GitLab