Skip to content
Snippets Groups Projects
Commit cf44d8ad authored by Francois Henrotte's avatar Francois Henrotte
Browse files

No commit message

No commit message
parent 6e527995
No related branches found
No related tags found
No related merge requests found
...@@ -354,7 +354,6 @@ const bool localSolverClient::getList(const std::string type, std::vector<std::s ...@@ -354,7 +354,6 @@ const bool localSolverClient::getList(const std::string type, std::vector<std::s
return false; return false;
} }
void localSolverClient::FixExecPath(const std::string &in) void localSolverClient::FixExecPath(const std::string &in)
{ {
//only use with local clients //only use with local clients
...@@ -368,7 +367,7 @@ void localSolverClient::FixExecPath(const std::string &in) ...@@ -368,7 +367,7 @@ void localSolverClient::FixExecPath(const std::string &in)
#if not defined(WIN32) #if not defined(WIN32)
//if(split[0].find("elmerfem") != std::string::npos){ //if(split[0].find("elmerfem") != std::string::npos){
if(!split[1].compare("ElmerSolver") && split[2].empty()){ if(!split[1].compare("ElmerSolver") && split[2].empty() && split[0].size()){
std::string fileName = getWorkingDir() + getName() + ".sh"; std::string fileName = getWorkingDir() + getName() + ".sh";
std::string elmerHome=split[0].substr(0,split[0].size()-4); std::string elmerHome=split[0].substr(0,split[0].size()-4);
std::ofstream outfile(fileName.c_str()); std::ofstream outfile(fileName.c_str());
...@@ -486,9 +485,8 @@ void localSolverClient::addNumberChoice(std::string name, double val) ...@@ -486,9 +485,8 @@ void localSolverClient::addNumberChoice(std::string name, double val)
ps.resize(1); ps.resize(1);
ps[0].setName(name); ps[0].setName(name);
} }
ps[0].setAttribute("Highlight","Coral"); //ps[0].setAttribute("Highlight","Coral");
ps[0].setReadOnly(false); //ps[0].setReadOnly(false);
ps[0].setVisible(true);
ps[0].setValue(val); ps[0].setValue(val);
choices.push_back(val); choices.push_back(val);
ps[0].setChoices(choices); ps[0].setChoices(choices);
...@@ -659,7 +657,7 @@ void MetaModel::construct() ...@@ -659,7 +657,7 @@ void MetaModel::construct()
parse_onefile( genericNameFromArgs + onelabExtension); parse_onefile( genericNameFromArgs + onelabExtension);
closeOnelabBlock(); closeOnelabBlock();
saveCommandLines(); saveCommandLines();
onelab::server::instance()->setChanged(true, getName()); //onelab::server::instance()->setChanged(true, getName());
} }
void MetaModel::analyze() { void MetaModel::analyze() {
......
...@@ -536,9 +536,6 @@ void localSolverClient::parse_sentence(std::string line) { ...@@ -536,9 +536,6 @@ void localSolverClient::parse_sentence(std::string line) {
val=atof(resolveGetVal(arguments[0]).c_str()); val=atof(resolveGetVal(arguments[0]).c_str());
numbers[0].setValue(val); numbers[0].setValue(val);
} }
// parameters defined with no value are ReadOnly
// if(arguments[0].empty()) numbers[0].setReadOnly(1);
if(arguments.size()>2) if(arguments.size()>2)
numbers[0].setLabel(unquote(arguments[2])); numbers[0].setLabel(unquote(arguments[2]));
if(arguments.size()>3){ if(arguments.size()>3){
...@@ -564,10 +561,6 @@ void localSolverClient::parse_sentence(std::string line) { ...@@ -564,10 +561,6 @@ void localSolverClient::parse_sentence(std::string line) {
std::string val=resolveGetVal(arguments[0]); std::string val=resolveGetVal(arguments[0]);
strings[0].setValue(val); strings[0].setValue(val);
} }
// parameters defined with no value are ReadOnly
// if(arguments[0].empty()) strings[0].setReadOnly(1);
// choices list is reset // choices list is reset
std::vector<std::string> choices; std::vector<std::string> choices;
strings[0].setChoices(choices); strings[0].setChoices(choices);
...@@ -646,6 +639,32 @@ void localSolverClient::parse_sentence(std::string line) { ...@@ -646,6 +639,32 @@ void localSolverClient::parse_sentence(std::string line) {
set(numbers[0]); set(numbers[0]);
} }
} }
else if(!action.compare("setValue")){
// a set request together with a setReadOnly(1) forces
// the value on server to be changed.
name.assign(longName(name));
get(numbers,name);
if(numbers.size()){
if(arguments[0].size())
numbers[0].setValue(atof(resolveGetVal(arguments[0]).c_str()));
numbers[0].setReadOnly(1);
set(numbers[0]);
}
else{
get(strings,name);
if(strings.size()){
if(arguments[0].empty()) // resets an empty string
strings[0].setValue("");
else
strings[0].setValue(arguments[0]);
strings[0].setReadOnly(1);
set(strings[0]);
}
else{
OLMsg::Error("The parameter <%s> does not exist",name.c_str());
}
}
}
else if(!action.compare("resetChoices")){ else if(!action.compare("resetChoices")){
name.assign(longName(name)); name.assign(longName(name));
get(numbers,name); get(numbers,name);
...@@ -718,30 +737,6 @@ void localSolverClient::parse_sentence(std::string line) { ...@@ -718,30 +737,6 @@ void localSolverClient::parse_sentence(std::string line) {
else else
OLMsg::Error("The number <%s> does not exist",name.c_str()); OLMsg::Error("The number <%s> does not exist",name.c_str());
} }
else if(!action.compare("setValue")){ // force change on server
name.assign(longName(name));
get(numbers,name);
if(numbers.size()){
if(arguments[0].size())
numbers[0].setValue(atof(resolveGetVal(arguments[0]).c_str()));
numbers[0].setReadOnly(1);
set(numbers[0]);
}
else{
get(strings,name);
if(strings.size()){
if(arguments[0].empty()) // resets an empty string
strings[0].setValue("");
else
strings[0].setValue(arguments[0]);
strings[0].setReadOnly(1);
set(strings[0]);
}
else{
OLMsg::Error("The parameter <%s> does not exist",name.c_str());
}
}
}
else if(!action.compare("setVisible")){ else if(!action.compare("setVisible")){
if(arguments[0].empty()) if(arguments[0].empty())
OLMsg::Error("Missing argument SetVisible <%s>",name.c_str()); OLMsg::Error("Missing argument SetVisible <%s>",name.c_str());
......
...@@ -7,40 +7,6 @@ ...@@ -7,40 +7,6 @@
onelab::server *onelab::server::_server = 0; onelab::server *onelab::server::_server = 0;
std::string clientName; std::string clientName;
std::string stateToChar(){
std::vector<onelab::number> numbers;
std::ostringstream sstream;
onelab::server::instance()->get(numbers);
for(std::vector<onelab::number>::iterator it = numbers.begin();
it != numbers.end(); it++)
sstream << (*it).getValue() << '\t';
return sstream.str();
}
std::string showParamSpace(){
std::vector<std::string> parameters=onelab::server::instance()->toChar();
std::string db = "ONELAB parameter space: size="
+ itoa(onelab::server::instance()->getNumParameters()) + "\n";
for(unsigned int i = 0; i < parameters.size(); i++)
db.append(parameters[i] + '\n');
for(unsigned int i = 0; i < db.size(); i++)
if(db[i] == onelab::parameter::charSep()) db[i] = ' ';
return db.c_str();
}
std::string showClientStatus(){
std::ostringstream sstream;
std::string name;
std::cout << "\nONELAB: Present state of the onelab clients" << std::endl;
for(onelab::server::citer it = onelab::server::instance()->firstClient();
it != onelab::server::instance()->lastClient(); it++){
name.assign(it->first);
sstream << "<" << onelab::server::instance()->getChanged(name) << "> "
<< name << std::endl;
}
return sstream.str();
}
void initializeLoop(const std::string &level) void initializeLoop(const std::string &level)
{ {
bool changed = false; bool changed = false;
...@@ -143,6 +109,59 @@ bool incrementLoops() ...@@ -143,6 +109,59 @@ bool incrementLoops()
return ret; return ret;
} }
std::string stateToChar(){
std::vector<onelab::number> numbers;
std::ostringstream sstream;
onelab::server::instance()->get(numbers);
for(std::vector<onelab::number>::iterator it = numbers.begin();
it != numbers.end(); it++)
sstream << (*it).getValue() << '\t';
return sstream.str();
}
std::string showParamSpace(){
std::vector<std::string> parameters=onelab::server::instance()->toChar();
std::string db = "ONELAB parameter space: size="
+ itoa(onelab::server::instance()->getNumParameters()) + "\n";
for(unsigned int i = 0; i < parameters.size(); i++)
db.append(parameters[i] + '\n');
for(unsigned int i = 0; i < db.size(); i++)
if(db[i] == onelab::parameter::charSep()) db[i] = ' ';
return db.c_str();
}
std::string showClientStatus(){
std::ostringstream sstream;
std::string name;
std::cout << "\nONELAB: Present state of the onelab clients" << std::endl;
for(onelab::server::citer it = onelab::server::instance()->firstClient();
it != onelab::server::instance()->lastClient(); it++){
name.assign(it->first);
sstream << "<" << onelab::server::instance()->getChanged(name) << "> "
<< name << std::endl;
}
return sstream.str();
}
bool setParameter(const std::string &name, const std::string &value){
std::vector<onelab::number> numbers;
std::vector<onelab::string> strings;
onelab::server::instance()->get(numbers,name);
if (numbers.size()) {
numbers[0].setValue(atof(value.c_str()));
return onelab::server::instance()->set(numbers[0]);
}
else{
onelab::server::instance()->get(strings,name);
if (strings.size()) {
strings[0].setValue(value);
return onelab::server::instance()->set(strings[0]);
}
else
OLMsg::Error("The parameter <%s> does not exist", name.c_str());
}
}
bool menu() { bool menu() {
int choice, counter1=0, counter2=0; int choice, counter1=0, counter2=0;
std::vector<onelab::number> numbers; std::vector<onelab::number> numbers;
......
...@@ -62,7 +62,7 @@ int metamodel(const std::string &action){ ...@@ -62,7 +62,7 @@ int metamodel(const std::string &action){
if((errors=OLMsg::GetErrorCount())){ if((errors=OLMsg::GetErrorCount())){
OLMsg::Error("Leave metamodel - %d errors",errors); OLMsg::Error("Leave metamodel - %d errors",errors);
OLMsg::Info("=============================================="); OLMsg::Info("===== O N E L A B =====");
return 0; return 0;
} }
...@@ -70,6 +70,6 @@ int metamodel(const std::string &action){ ...@@ -70,6 +70,6 @@ int metamodel(const std::string &action){
OLMsg::SetOnelabNumber("Gmsh/NeedReloadGeom",0,false); OLMsg::SetOnelabNumber("Gmsh/NeedReloadGeom",0,false);
OLMsg::Info("Leave metamodel - need reload=%d", reload); OLMsg::Info("Leave metamodel - need reload=%d", reload);
OLMsg::Info("=============================================="); OLMsg::Info("===== O N E L A B =====");
return reload; return reload;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment