43 sb_mem->setMaximum(INT_MAX);
44 sb_cpu->setMaximum(INT_MAX);
45 sb_nbNodes->setMaximum(INT_MAX);
46 sb_procNode->setMaximum(INT_MAX);
47 sb_nbprocpar->setMaximum(INT_MAX);
48 sb_nbproc->setMaximum(INT_MAX);
52 connect(cb_policy, SIGNAL(activated(
const QString&)),
this, SLOT(
onModifyPolicy(
const QString&)));
53 connect(cb_parallel, SIGNAL(activated(
const QString&)),
this, SLOT(
onModifyParLib(
const QString&)));
54 connect(le_workdir, SIGNAL(textChanged(
const QString&)),
this, SLOT(
onModifyWorkDir(
const QString&)));
55 connect(le_contname, SIGNAL(textChanged(
const QString&)),
this, SLOT(
onModifyContName(
const QString&)));
56 connect(le_os, SIGNAL(textChanged(
const QString&)),
this, SLOT(
onModifyOS(
const QString&)));
57 connect(le_hostname, SIGNAL(textChanged(
const QString&)),
this, SLOT(
onModifyHostName(
const QString&)));
58 connect(le_compolist, SIGNAL(textChanged(
const QString&)),
this, SLOT(
onModifyCompoList(
const QString&)));
59 connect(le_resourceList, SIGNAL(textChanged(
const QString&)),
this, SLOT(
onModifyResourceList(
const QString&)));
60 connect(ch_mpi, SIGNAL(clicked(
bool)),
this, SLOT(
onModifyIsMPI(
bool)));
61 connect(sb_mem, SIGNAL(valueChanged(
const QString&)),
this, SLOT(
onModifyMem(
const QString&)));
62 connect(sb_cpu, SIGNAL(valueChanged(
const QString&)),
this, SLOT(
onModifyClock(
const QString&)));
63 connect(sb_nbNodes, SIGNAL(valueChanged(
const QString&)),
this, SLOT(
onModifyNodes(
const QString&)));
64 connect(sb_procNode, SIGNAL(valueChanged(
const QString&)),
this, SLOT(
onModifyProcs(
const QString&)));
65 connect(sb_nbprocpar, SIGNAL(valueChanged(
const QString&)),
this, SLOT(
onModifyProcPar(
const QString&)));
66 connect(sb_nbproc, SIGNAL(valueChanged(
const QString&)),
this, SLOT(
onModifyProcRes(
const QString&)));
76 DEBTRACE(
"FormContainer::FillPanel");
88 cb_mode->setText(
"multi");
90 cb_mode->setText(
"mono");
92 vector<string> parlibs;
93 parlibs.push_back(
"");
94 parlibs.push_back(
"Mpi");
95 parlibs.push_back(
"Dummy");
97 for(
int i=0;
i< parlibs.size();
i++)
98 cb_parallel->addItem(parlibs[
i].c_str());
102 for(
i=0;
i< parlibs.size();
i++)
105 cb_parallel->setCurrentIndex(
i);
110 cb_parallel->setCurrentIndex(0);
113 le_workdir->setText(
_properties[
"workingdir"].c_str());
115 le_workdir->setText(
"");
120 ch_pycache->setCheckState(Qt::Unchecked);
123 le_contname->setText(
_properties[
"container_name"].c_str());
125 le_contname->setText(
"");
131 ch_mpi->setCheckState(Qt::Unchecked);
133 ch_mpi->setCheckState(Qt::Checked);
136 ch_mpi->setCheckState(Qt::Unchecked);
139 sb_nbprocpar->setValue(atoi(
_properties[
"nb_parallel_procs"].c_str()));
141 sb_nbprocpar->setValue(0);
145 if (!QtGuiContext::getQtCurrent()->isEdition())
148 cb_parallel->setEnabled(
false);
149 le_workdir->setReadOnly(
true);
150 le_contname->setReadOnly(
true);
151 ch_mpi->setEnabled(
false);
152 sb_nbprocpar->setReadOnly(
true);
153 le_hostname->setEnabled(
false);
154 le_os->setEnabled(
false);
155 sb_nbproc->setEnabled(
false);
156 sb_mem->setEnabled(
false);
157 sb_cpu->setEnabled(
false);
158 sb_nbNodes->setEnabled(
false);
159 sb_procNode->setEnabled(
false);
160 cb_policy->setEnabled(
false);
161 le_compolist->setEnabled(
false);
162 le_resourceList->setEnabled(
false);
168 DEBTRACE(
"FormContainer::onModified");
169 Subject *sub = QtGuiContext::getQtCurrent()->getSelectedSubject();
171 YASSERT(QtGuiContext::getQtCurrent()->_mapOfEditionItem.count(sub));
172 QWidget *widget = QtGuiContext::getQtCurrent()->_mapOfEditionItem[sub];
180 DEBTRACE(
"FormContainer::updateResource " << resource);
185 le_hostname->setText(
_properties[
"hostname"].c_str());
187 le_hostname->setText(
"");
188 le_hostname->setEnabled(
true);
194 le_os->setEnabled(
true);
197 sb_nbproc->setValue(atoi(
_properties[
"nb_resource_procs"].c_str()));
199 sb_nbproc->setValue(0);
200 sb_nbproc->setEnabled(
true);
203 sb_mem->setValue(atoi(
_properties[
"mem_mb"].c_str()));
206 sb_mem->setEnabled(
true);
209 sb_cpu->setValue(atoi(
_properties[
"cpu_clock"].c_str()));
212 sb_cpu->setEnabled(
true);
215 sb_nbNodes->setValue(atoi(
_properties[
"nb_node"].c_str()));
217 sb_nbNodes->setValue(0);
218 sb_nbNodes->setEnabled(
true);
221 sb_procNode->setValue(atoi(
_properties[
"nb_proc_per_node"].c_str()));
223 sb_procNode->setValue(0);
224 sb_procNode->setEnabled(
true);
226 std::vector<std::string> policies;
227 policies.push_back(
"cycl");
228 policies.push_back(
"altcycl");
229 policies.push_back(
"best");
230 policies.push_back(
"first");
232 for(
int i=0;
i< policies.size();
i++)
233 cb_policy->addItem(policies[
i].c_str());
237 for(
i=0;
i< policies.size();
i++)
240 cb_policy->setCurrentIndex(
i);
245 cb_policy->setCurrentIndex(1);
246 cb_policy->setEnabled(
true);
249 le_compolist->setText(
_properties[
"component_list"].c_str());
251 le_compolist->setText(
"");
252 le_compolist->setEnabled(
true);
255 le_resourceList->setText(
_properties[
"resource_list"].c_str());
257 le_resourceList->setText(
"");
258 le_resourceList->setEnabled(
true);
265 if(properties.count(
"hostname"))
266 le_hostname->setText(properties[
"hostname"].c_str());
268 le_hostname->setText(
"");
269 le_hostname->setEnabled(
false);
271 if(properties.count(
"OS"))
272 le_os->setText(properties[
"OS"].c_str());
275 le_os->setEnabled(
false);
277 if(properties.count(
"nb_resource_procs"))
278 sb_nbproc->setValue(atoi(properties[
"nb_resource_procs"].c_str()));
280 sb_nbproc->setValue(0);
281 sb_nbproc->setEnabled(
false);
283 if(properties.count(
"mem_mb"))
284 sb_mem->setValue(atoi(properties[
"mem_mb"].c_str()));
287 sb_mem->setEnabled(
false);
289 if(properties.count(
"cpu_clock"))
290 sb_cpu->setValue(atoi(properties[
"cpu_clock"].c_str()));
293 sb_cpu->setEnabled(
false);
295 if(properties.count(
"nb_node"))
296 sb_nbNodes->setValue(atoi(properties[
"nb_node"].c_str()));
298 sb_nbNodes->setValue(0);
299 sb_nbNodes->setEnabled(
false);
301 if(properties.count(
"nb_proc_per_node"))
302 sb_procNode->setValue(atoi(properties[
"nb_proc_per_node"].c_str()));
304 sb_procNode->setValue(0);
305 sb_procNode->setEnabled(
false);
308 cb_policy->setEnabled(
false);
310 if(properties.count(
"component_list"))
311 le_compolist->setText(properties[
"component_list"].c_str());
313 le_compolist->setText(
"");
314 le_compolist->setEnabled(
false);
316 if(properties.count(
"resource_list"))
317 le_resourceList->setText(properties[
"resource_list"].c_str());
319 le_resourceList->setText(
"");
320 le_resourceList->setEnabled(
false);
326 cb_mode->setText(mode.c_str());
331 DEBTRACE(
"onModifyResource " << text.toStdString());
333 std::string resource=text.toStdString();
334 if(resource==
"automatic")resource=
"";
337 if (properties[
"name"] != resource)
355 DEBTRACE(
"onModifyPolicy " << text.toStdString());
360 if (properties[
"policy"] != text.toStdString())
366 DEBTRACE(
"onModifyWorkDir " << text.toStdString());
370 if (properties[
"workingdir"] != text.toStdString())
376 DEBTRACE(
"onModifyContName " << text.toStdString());
379 _properties[
"container_name"] = text.toStdString();
380 if (properties[
"container_name"] != text.toStdString())
386 DEBTRACE(
"onModifyOS " << text.toStdString());
391 if (properties[
"OS"] != text.toStdString())
397 DEBTRACE(
"onModifyParLib " << text.toStdString());
401 if (properties[
"parallelLib"] != text.toStdString())
407 DEBTRACE(
"onModifyIsMPI " << isMpi);
409 string text =
"false";
410 if (isMpi) text =
"true";
414 if (properties[
"isMPI"] != text)
420 DEBTRACE(
"onModifyMem " << text.toStdString());
424 if(properties.count(
"mem_mb")==0 )properties[
"mem_mb"]=
"0";
426 if (properties[
"mem_mb"] != text.toStdString())
432 DEBTRACE(
"onModifyClock " << text.toStdString());
436 if(properties.count(
"cpu_clock")==0 )properties[
"cpu_clock"]=
"0";
438 if (properties[
"cpu_clock"] != text.toStdString())
444 DEBTRACE(
"onModifyNodes " << text.toStdString());
448 if(properties.count(
"nb_node")==0 )properties[
"nb_node"]=
"0";
450 if (properties[
"nb_node"] != text.toStdString())
456 DEBTRACE(
"onModifyProcs " << text.toStdString());
460 if(properties.count(
"nb_proc_per_node")==0 )properties[
"nb_proc_per_node"]=
"0";
461 _properties[
"nb_proc_per_node"] = text.toStdString();
462 if (properties[
"nb_proc_per_node"] != text.toStdString())
468 DEBTRACE(
"onModifyCompo " << text.toStdString());
471 _properties[
"nb_component_nodes"] = text.toStdString();
472 if (properties[
"nb_component_nodes"] != text.toStdString())
478 DEBTRACE(
"onModifyProcPar " << text.toStdString());
481 _properties[
"nb_parallel_procs"] = text.toStdString();
482 if (properties[
"nb_parallel_procs"] != text.toStdString())
488 DEBTRACE(
"onModifyResourceName " << text.toStdString());
492 if (properties[
"resource_name"] != text.toStdString())
498 DEBTRACE(
"onModifyHostName " << text.toStdString());
504 if (properties[
"hostname"] != text.toStdString())
510 DEBTRACE(
"onModifyProcRes " << text.toStdString());
514 if(properties.count(
"nb_resource_procs")==0 )properties[
"nb_resource_procs"]=
"0";
515 _properties[
"nb_resource_procs"] = text.toStdString();
516 if (properties[
"nb_resource_procs"] != text.toStdString())
522 DEBTRACE(
"onModifyCompoList " << text.toStdString());
526 _properties[
"component_list"] = text.toStdString();
527 if (properties[
"component_list"] != text.toStdString())
533 DEBTRACE(
"onModifyResourceList " << text.toStdString());
538 if (properties[
"resource_list"] != text.toStdString())
547 if(val==Qt::Unchecked)
556 _properties[Container::USE_PYCACHE_PROPERTY] = properties[Container::USE_PYCACHE_PROPERTY];
#define YASSERT(val)
YASSERT macro is always defined, used like assert, but throw a YACS::Exception instead of abort.
virtual std::map< std::string, std::string > getProperties() const =0
virtual void usePythonCache(bool v)
virtual bool isUsingPythonCache()
virtual std::map< std::string, std::string > getResourceProperties(const std::string &name) const =0
virtual void setEdited(bool isEdited)