Version: 9.16.0
FormAdvParamContainer Class Reference

#include <FormAdvParamContainer.hxx>

Inheritance diagram for FormAdvParamContainer:
Collaboration diagram for FormAdvParamContainer:

Public Slots

void onModifyResource (const QString &text)
 
void onModifyPolicy (const QString &text)
 
void onModifyWorkDir (const QString &text)
 
void onModifyContName (const QString &text)
 
void onModifyOS (const QString &text)
 
void onModifyParLib (const QString &text)
 
void onModifyIsMPI (bool isMpi)
 
void onModifyMem (const QString &text)
 
void onModifyClock (const QString &text)
 
void onModifyNodes (const QString &text)
 
void onModifyProcs (const QString &text)
 
void onModifyCompos (const QString &text)
 
void onModifyProcPar (const QString &text)
 
void onModifyResourceName (const QString &text)
 
void onModifyHostName (const QString &text)
 
void onModifyProcRes (const QString &text)
 
void onModifyCompoList (const QString &text)
 
void onModifyResourceList (const QString &text)
 
void onModifyUsePyCache (int val)
 

Public Member Functions

 FormAdvParamContainer (std::map< std::string, std::string > &prop, QWidget *parent=0)
 
virtual ~FormAdvParamContainer ()
 
void FillPanel (const std::string &resource, YACS::ENGINE::Container *container)
 
virtual void onModified ()
 
void updateResource (const std::string &resource)
 
void setModeText (const std::string &mode)
 

Protected Attributes

bool _advanced
 
YACS::ENGINE::Container_container
 
std::map< std::string, std::string > & _properties
 

Detailed Description

Definition at line 37 of file FormAdvParamContainer.hxx.

Constructor & Destructor Documentation

◆ FormAdvParamContainer()

FormAdvParamContainer::FormAdvParamContainer ( std::map< std::string, std::string > &  prop,
QWidget parent = 0 
)

Definition at line 40 of file FormAdvParamContainer.cxx.

40 :QWidget(parent),_properties(prop)
41{
42 setupUi(this);
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);
49
50 FillPanel("",0); // --- set widgets before signal connexion to avoid false modif detection
51
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&)));
67 connect(ch_pycache,SIGNAL(stateChanged(int)),this,SLOT(onModifyUsePyCache(int)));
68}
void onModifyNodes(const QString &text)
void onModifyMem(const QString &text)
void onModifyClock(const QString &text)
void onModifyProcPar(const QString &text)
void onModifyResourceList(const QString &text)
void onModifyProcs(const QString &text)
std::map< std::string, std::string > & _properties
void onModifyHostName(const QString &text)
void onModifyContName(const QString &text)
void onModifyPolicy(const QString &text)
void onModifyCompoList(const QString &text)
void onModifyOS(const QString &text)
void onModifyParLib(const QString &text)
void onModifyWorkDir(const QString &text)
void FillPanel(const std::string &resource, YACS::ENGINE::Container *container)
void onModifyProcRes(const QString &text)

References FillPanel(), onModifyClock(), onModifyCompoList(), onModifyContName(), onModifyHostName(), onModifyIsMPI(), onModifyMem(), onModifyNodes(), onModifyOS(), onModifyParLib(), onModifyPolicy(), onModifyProcPar(), onModifyProcRes(), onModifyProcs(), onModifyResourceList(), onModifyUsePyCache(), and onModifyWorkDir().

◆ ~FormAdvParamContainer()

FormAdvParamContainer::~FormAdvParamContainer ( )
virtual

Definition at line 70 of file FormAdvParamContainer.cxx.

71{
72}

Member Function Documentation

◆ FillPanel()

void FormAdvParamContainer::FillPanel ( const std::string &  resource,
YACS::ENGINE::Container container 
)

Definition at line 74 of file FormAdvParamContainer.cxx.

75{
76 DEBTRACE("FormContainer::FillPanel");
77 _container = container;
78 if (_container)
79 {
81 }
82 else
83 {
84 _properties.clear();
85 }
86
87 if(_properties.count("type") && _properties["type"]=="multi")
88 cb_mode->setText("multi");
89 else
90 cb_mode->setText("mono");
91
92 vector<string> parlibs;
93 parlibs.push_back("");
94 parlibs.push_back("Mpi");
95 parlibs.push_back("Dummy");
96 cb_parallel->clear();
97 for(int i=0; i< parlibs.size(); i++)
98 cb_parallel->addItem(parlibs[i].c_str());
99 if(_properties.count("parallelLib"))
100 {
101 int i=0;
102 for(i=0; i< parlibs.size(); i++)
103 if(parlibs[i] == _properties["parallelLib"])
104 {
105 cb_parallel->setCurrentIndex(i);
106 break;
107 }
108 }
109 else
110 cb_parallel->setCurrentIndex(0);
111
112 if(_properties.count("workingdir"))
113 le_workdir->setText(_properties["workingdir"].c_str());
114 else
115 le_workdir->setText("");
116
117 if(_container)
118 ch_pycache->setCheckState(_container->isUsingPythonCache()?Qt::Checked:Qt::Unchecked);
119 else
120 ch_pycache->setCheckState(Qt::Unchecked);
121
122 if(_properties.count("container_name"))
123 le_contname->setText(_properties["container_name"].c_str());
124 else
125 le_contname->setText("");
126
127 if(_properties.count("isMPI"))
128 {
129 DEBTRACE("_properties[isMPI]=" << _properties["isMPI"]);
130 if ((_properties["isMPI"] == "0") || (_properties["isMPI"] == "false"))
131 ch_mpi->setCheckState(Qt::Unchecked);
132 else
133 ch_mpi->setCheckState(Qt::Checked);
134 }
135 else
136 ch_mpi->setCheckState(Qt::Unchecked);
137
138 if(_properties.count("nb_parallel_procs"))
139 sb_nbprocpar->setValue(atoi(_properties["nb_parallel_procs"].c_str()));
140 else
141 sb_nbprocpar->setValue(0);
142
143 updateResource(resource);
144
145 if (!QtGuiContext::getQtCurrent()->isEdition())
146 {
147 //if the schema is in execution do not allow editing
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);
163 }
164}
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31
YACS::ENGINE::Container * _container
void updateResource(const std::string &resource)
virtual std::map< std::string, std::string > getProperties() const =0
virtual bool isUsingPythonCache()
Definition: Container.cxx:109

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), yacsorb.CORBAEngineTest::i, YACS::ENGINE::Container::isUsingPythonCache(), and updateResource().

Referenced by FormContainerBase::FillPanel(), and FormAdvParamContainer().

◆ onModified()

void FormAdvParamContainer::onModified ( )
virtual

Definition at line 166 of file FormAdvParamContainer.cxx.

167{
168 DEBTRACE("FormContainer::onModified");
169 Subject *sub = QtGuiContext::getQtCurrent()->getSelectedSubject();
170 if (!sub) return;
171 YASSERT(QtGuiContext::getQtCurrent()->_mapOfEditionItem.count(sub));
172 QWidget *widget = QtGuiContext::getQtCurrent()->_mapOfEditionItem[sub];
173 ItemEdition *item = dynamic_cast<ItemEdition*>(widget);
174 YASSERT(item);
175 item->setEdited(true);
176}
#define YASSERT(val)
YASSERT macro is always defined, used like assert, but throw a YACS::Exception instead of abort.
Definition: YacsTrace.hxx:59
virtual void setEdited(bool isEdited)

References DEBTRACE, YACS::HMI::ItemEdition::setEdited(), and YASSERT.

Referenced by onModifyClock(), onModifyCompoList(), onModifyCompos(), onModifyContName(), onModifyHostName(), onModifyIsMPI(), onModifyMem(), onModifyNodes(), onModifyOS(), onModifyParLib(), onModifyPolicy(), onModifyProcPar(), onModifyProcRes(), onModifyProcs(), onModifyResource(), onModifyResourceList(), onModifyResourceName(), onModifyUsePyCache(), and onModifyWorkDir().

◆ onModifyClock

void FormAdvParamContainer::onModifyClock ( const QString &  text)
slot

Definition at line 430 of file FormAdvParamContainer.cxx.

431{
432 DEBTRACE("onModifyClock " << text.toStdString());
433 if (!_container) return;
434 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
435 map<string,string> properties = _container->getProperties();
436 if(properties.count("cpu_clock")==0 )properties["cpu_clock"]="0"; //default value
437 _properties["cpu_clock"] = text.toStdString();
438 if (properties["cpu_clock"] != text.toStdString())
439 onModified();
440}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyCompoList

void FormAdvParamContainer::onModifyCompoList ( const QString &  text)
slot

Definition at line 520 of file FormAdvParamContainer.cxx.

521{
522 DEBTRACE("onModifyCompoList " << text.toStdString());
523 if (!_container) return;
524 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
525 map<string,string> properties = _container->getProperties();
526 _properties["component_list"] = text.toStdString();
527 if (properties["component_list"] != text.toStdString())
528 onModified();
529}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyCompos

void FormAdvParamContainer::onModifyCompos ( const QString &  text)
slot

Definition at line 466 of file FormAdvParamContainer.cxx.

467{
468 DEBTRACE("onModifyCompo " << text.toStdString());
469 if (!_container) return;
470 map<string,string> properties = _container->getProperties();
471 _properties["nb_component_nodes"] = text.toStdString();
472 if (properties["nb_component_nodes"] != text.toStdString())
473 onModified();
474}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

◆ onModifyContName

void FormAdvParamContainer::onModifyContName ( const QString &  text)
slot

Definition at line 374 of file FormAdvParamContainer.cxx.

375{
376 DEBTRACE("onModifyContName " << text.toStdString());
377 if (!_container) return;
378 map<string,string> properties = _container->getProperties();
379 _properties["container_name"] = text.toStdString();
380 if (properties["container_name"] != text.toStdString())
381 onModified();
382}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyHostName

void FormAdvParamContainer::onModifyHostName ( const QString &  text)
slot

Definition at line 496 of file FormAdvParamContainer.cxx.

497{
498 DEBTRACE("onModifyHostName " << text.toStdString());
499 if (!_container) return;
500 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
501
502 map<string,string> properties = _container->getProperties();
503 _properties["hostname"] = text.toStdString();
504 if (properties["hostname"] != text.toStdString())
505 onModified();
506}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyIsMPI

void FormAdvParamContainer::onModifyIsMPI ( bool  isMpi)
slot

Definition at line 405 of file FormAdvParamContainer.cxx.

406{
407 DEBTRACE("onModifyIsMPI " << isMpi);
408 if (!_container) return;
409 string text = "false";
410 if (isMpi) text = "true";
411 DEBTRACE(text);
412 map<string,string> properties = _container->getProperties();
413 _properties["isMPI"] = text;
414 if (properties["isMPI"] != text)
415 onModified();
416}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyMem

void FormAdvParamContainer::onModifyMem ( const QString &  text)
slot

Definition at line 418 of file FormAdvParamContainer.cxx.

419{
420 DEBTRACE("onModifyMem " << text.toStdString());
421 if (!_container) return;
422 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
423 map<string,string> properties = _container->getProperties();
424 if(properties.count("mem_mb")==0 )properties["mem_mb"]="0"; //default value
425 _properties["mem_mb"] = text.toStdString();
426 if (properties["mem_mb"] != text.toStdString())
427 onModified();
428}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyNodes

void FormAdvParamContainer::onModifyNodes ( const QString &  text)
slot

Definition at line 442 of file FormAdvParamContainer.cxx.

443{
444 DEBTRACE("onModifyNodes " << text.toStdString());
445 if (!_container) return;
446 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
447 map<string,string> properties = _container->getProperties();
448 if(properties.count("nb_node")==0 )properties["nb_node"]="0"; //default value
449 _properties["nb_node"] = text.toStdString();
450 if (properties["nb_node"] != text.toStdString())
451 onModified();
452}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyOS

void FormAdvParamContainer::onModifyOS ( const QString &  text)
slot

Definition at line 384 of file FormAdvParamContainer.cxx.

385{
386 DEBTRACE("onModifyOS " << text.toStdString());
387 if (!_container) return;
388 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
389 map<string,string> properties = _container->getProperties();
390 _properties["OS"] = text.toStdString();
391 if (properties["OS"] != text.toStdString())
392 onModified();
393}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyParLib

void FormAdvParamContainer::onModifyParLib ( const QString &  text)
slot

Definition at line 395 of file FormAdvParamContainer.cxx.

396{
397 DEBTRACE("onModifyParLib " << text.toStdString());
398 if (!_container) return;
399 map<string,string> properties = _container->getProperties();
400 _properties["parallelLib"] = text.toStdString();
401 if (properties["parallelLib"] != text.toStdString())
402 onModified();
403}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyPolicy

void FormAdvParamContainer::onModifyPolicy ( const QString &  text)
slot

Definition at line 353 of file FormAdvParamContainer.cxx.

354{
355 DEBTRACE("onModifyPolicy " << text.toStdString());
356 if (!_container) return;
357 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
358 map<string,string> properties = _container->getProperties();
359 _properties["policy"] = text.toStdString();
360 if (properties["policy"] != text.toStdString())
361 onModified();
362}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyProcPar

void FormAdvParamContainer::onModifyProcPar ( const QString &  text)
slot

Definition at line 476 of file FormAdvParamContainer.cxx.

477{
478 DEBTRACE("onModifyProcPar " << text.toStdString());
479 if (!_container) return;
480 map<string,string> properties = _container->getProperties();
481 _properties["nb_parallel_procs"] = text.toStdString();
482 if (properties["nb_parallel_procs"] != text.toStdString())
483 onModified();
484}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyProcRes

void FormAdvParamContainer::onModifyProcRes ( const QString &  text)
slot

Definition at line 508 of file FormAdvParamContainer.cxx.

509{
510 DEBTRACE("onModifyProcRes " << text.toStdString());
511 if (!_container) return;
512 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
513 map<string,string> properties = _container->getProperties();
514 if(properties.count("nb_resource_procs")==0 )properties["nb_resource_procs"]="0"; //default value
515 _properties["nb_resource_procs"] = text.toStdString();
516 if (properties["nb_resource_procs"] != text.toStdString())
517 onModified();
518}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyProcs

void FormAdvParamContainer::onModifyProcs ( const QString &  text)
slot

Definition at line 454 of file FormAdvParamContainer.cxx.

455{
456 DEBTRACE("onModifyProcs " << text.toStdString());
457 if (!_container) return;
458 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
459 map<string,string> properties = _container->getProperties();
460 if(properties.count("nb_proc_per_node")==0 )properties["nb_proc_per_node"]="0"; //default value
461 _properties["nb_proc_per_node"] = text.toStdString();
462 if (properties["nb_proc_per_node"] != text.toStdString())
463 onModified();
464}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyResource

void FormAdvParamContainer::onModifyResource ( const QString &  text)
slot

Definition at line 329 of file FormAdvParamContainer.cxx.

330{
331 DEBTRACE("onModifyResource " << text.toStdString());
332 if (!_container) return;
333 std::string resource=text.toStdString();
334 if(resource=="automatic")resource="";
335 map<string,string> properties = _container->getProperties();
336 _properties["name"] = resource;
337 if (properties["name"] != resource)
338 {
339 // reset resource properties
340 _properties.erase("hostname");
341 _properties.erase("OS");
342 _properties.erase("nb_resource_procs");
343 _properties.erase("mem_mb");
344 _properties.erase("cpu_clock");
345 _properties.erase("nb_node");
346 _properties.erase("nb_proc_per_node");
347 _properties.erase("policy");
348 onModified();
349 updateResource(resource);
350 }
351}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), onModified(), and updateResource().

◆ onModifyResourceList

void FormAdvParamContainer::onModifyResourceList ( const QString &  text)
slot

Definition at line 531 of file FormAdvParamContainer.cxx.

532{
533 DEBTRACE("onModifyResourceList " << text.toStdString());
534 if (!_container) return;
535 if(_properties.count("name") && _properties["name"] != "")return; //do not modify resource parameter when specific resource is set
536 map<string,string> properties = _container->getProperties();
537 _properties["resource_list"] = text.toStdString();
538 if (properties["resource_list"] != text.toStdString())
539 onModified();
540}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ onModifyResourceName

void FormAdvParamContainer::onModifyResourceName ( const QString &  text)
slot

Definition at line 486 of file FormAdvParamContainer.cxx.

487{
488 DEBTRACE("onModifyResourceName " << text.toStdString());
489 if (!_container) return;
490 map<string,string> properties = _container->getProperties();
491 _properties["resource_name"] = text.toStdString();
492 if (properties["resource_name"] != text.toStdString())
493 onModified();
494}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

◆ onModifyUsePyCache

void FormAdvParamContainer::onModifyUsePyCache ( int  val)
slot

Definition at line 542 of file FormAdvParamContainer.cxx.

543{
544 if (!_container)
545 return;
546 bool val2(false);
547 if(val==Qt::Unchecked)
548 val2=false;
549 if(val==Qt::Checked)
550 val2=true;
551 bool prop = _container->isUsingPythonCache();
552 if(prop!=val2)
553 {
555 map<string,string> properties = _container->getProperties();
556 _properties[Container::USE_PYCACHE_PROPERTY] = properties[Container::USE_PYCACHE_PROPERTY];
557 onModified();
558 }
559}
virtual void usePythonCache(bool v)
Definition: Container.cxx:125

References _container, _properties, YACS::ENGINE::Container::getProperties(), YACS::ENGINE::Container::isUsingPythonCache(), onModified(), and YACS::ENGINE::Container::usePythonCache().

Referenced by FormAdvParamContainer().

◆ onModifyWorkDir

void FormAdvParamContainer::onModifyWorkDir ( const QString &  text)
slot

Definition at line 364 of file FormAdvParamContainer.cxx.

365{
366 DEBTRACE("onModifyWorkDir " << text.toStdString());
367 if (!_container) return;
368 map<string,string> properties = _container->getProperties();
369 _properties["workingdir"] = text.toStdString();
370 if (properties["workingdir"] != text.toStdString())
371 onModified();
372}

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getProperties(), and onModified().

Referenced by FormAdvParamContainer().

◆ setModeText()

void FormAdvParamContainer::setModeText ( const std::string &  mode)

Definition at line 324 of file FormAdvParamContainer.cxx.

325{
326 cb_mode->setText(mode.c_str());
327}

Referenced by FormContainer::onModifyType().

◆ updateResource()

void FormAdvParamContainer::updateResource ( const std::string &  resource)

Definition at line 178 of file FormAdvParamContainer.cxx.

179{
180 DEBTRACE("FormContainer::updateResource " << resource);
181 if(resource.empty())
182 {
183 //the resource is not specified: use automatic and allow editing
184 if(_properties.count("hostname"))
185 le_hostname->setText(_properties["hostname"].c_str());
186 else
187 le_hostname->setText("");
188 le_hostname->setEnabled(true);
189
190 if(_properties.count("OS"))
191 le_os->setText(_properties["OS"].c_str());
192 else
193 le_os->setText("");
194 le_os->setEnabled(true);
195
196 if(_properties.count("nb_resource_procs"))
197 sb_nbproc->setValue(atoi(_properties["nb_resource_procs"].c_str()));
198 else
199 sb_nbproc->setValue(0);
200 sb_nbproc->setEnabled(true);
201
202 if(_properties.count("mem_mb"))
203 sb_mem->setValue(atoi(_properties["mem_mb"].c_str()));
204 else
205 sb_mem->setValue(0);
206 sb_mem->setEnabled(true);
207
208 if(_properties.count("cpu_clock"))
209 sb_cpu->setValue(atoi(_properties["cpu_clock"].c_str()));
210 else
211 sb_cpu->setValue(0);
212 sb_cpu->setEnabled(true);
213
214 if(_properties.count("nb_node"))
215 sb_nbNodes->setValue(atoi(_properties["nb_node"].c_str()));
216 else
217 sb_nbNodes->setValue(0);
218 sb_nbNodes->setEnabled(true);
219
220 if(_properties.count("nb_proc_per_node"))
221 sb_procNode->setValue(atoi(_properties["nb_proc_per_node"].c_str()));
222 else
223 sb_procNode->setValue(0);
224 sb_procNode->setEnabled(true);
225
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");
231 cb_policy->clear();
232 for(int i=0; i< policies.size(); i++)
233 cb_policy->addItem(policies[i].c_str());
234 if(_properties.count("policy"))
235 {
236 int i=0;
237 for(i=0; i< policies.size(); i++)
238 if(policies[i] == _properties["policy"])
239 {
240 cb_policy->setCurrentIndex(i);
241 break;
242 }
243 }
244 else
245 cb_policy->setCurrentIndex(1);
246 cb_policy->setEnabled(true);
247
248 if(_properties.count("component_list"))
249 le_compolist->setText(_properties["component_list"].c_str());
250 else
251 le_compolist->setText("");
252 le_compolist->setEnabled(true);
253
254 if(_properties.count("resource_list"))
255 le_resourceList->setText(_properties["resource_list"].c_str());
256 else
257 le_resourceList->setText("");
258 le_resourceList->setEnabled(true);
259 }
260 else
261 {
262 //a specific resource has been chosen: properties are those declared in the resources manager
263 //properties can not be edited
264 std::map<std::string,std::string> properties(_container->getResourceProperties(resource));
265 if(properties.count("hostname"))
266 le_hostname->setText(properties["hostname"].c_str());
267 else
268 le_hostname->setText("");
269 le_hostname->setEnabled(false);
270
271 if(properties.count("OS"))
272 le_os->setText(properties["OS"].c_str());
273 else
274 le_os->setText("");
275 le_os->setEnabled(false);
276
277 if(properties.count("nb_resource_procs"))
278 sb_nbproc->setValue(atoi(properties["nb_resource_procs"].c_str()));
279 else
280 sb_nbproc->setValue(0);
281 sb_nbproc->setEnabled(false);
282
283 if(properties.count("mem_mb"))
284 sb_mem->setValue(atoi(properties["mem_mb"].c_str()));
285 else
286 sb_mem->setValue(0);
287 sb_mem->setEnabled(false);
288
289 if(properties.count("cpu_clock"))
290 sb_cpu->setValue(atoi(properties["cpu_clock"].c_str()));
291 else
292 sb_cpu->setValue(0);
293 sb_cpu->setEnabled(false);
294
295 if(properties.count("nb_node"))
296 sb_nbNodes->setValue(atoi(properties["nb_node"].c_str()));
297 else
298 sb_nbNodes->setValue(0);
299 sb_nbNodes->setEnabled(false);
300
301 if(properties.count("nb_proc_per_node"))
302 sb_procNode->setValue(atoi(properties["nb_proc_per_node"].c_str()));
303 else
304 sb_procNode->setValue(0);
305 sb_procNode->setEnabled(false);
306
307 cb_policy->clear();
308 cb_policy->setEnabled(false);
309
310 if(properties.count("component_list"))
311 le_compolist->setText(properties["component_list"].c_str());
312 else
313 le_compolist->setText("");
314 le_compolist->setEnabled(false);
315
316 if(properties.count("resource_list"))
317 le_resourceList->setText(properties["resource_list"].c_str());
318 else
319 le_resourceList->setText("");
320 le_resourceList->setEnabled(false);
321 }
322}
virtual std::map< std::string, std::string > getResourceProperties(const std::string &name) const =0

References _container, _properties, DEBTRACE, YACS::ENGINE::Container::getResourceProperties(), and yacsorb.CORBAEngineTest::i.

Referenced by FillPanel(), and onModifyResource().

Member Data Documentation

◆ _advanced

bool FormAdvParamContainer::_advanced
protected

Definition at line 73 of file FormAdvParamContainer.hxx.

◆ _container

◆ _properties


The documentation for this class was generated from the following files: