55 currentModule =
nullptr;
56 currentApplication = application;
57 disconnect(appProperties,
SIGNAL(itemChanged(QTreeWidgetItem*,
int)),
this,SLOT(onAppItemChanged(QTreeWidgetItem*,
int)));
58 disconnect(appProperties,
SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)),
this,SLOT(onAppItemDoubleClicked(QTreeWidgetItem*,
int)));
59 appProperties->show();
60 moduleProperties->hide();
61 moduleDescription->hide();
63 propertiesTab->clear();
64 propertiesTab->addTab(appProperties,
"Application Properties");
65 appProperties->clear();
66 if(appProperties->topLevelItemCount() <=0){
67 appName =
new QTreeWidgetItem(appProperties,QStringList() <<
"Name" << application->
getName());
68 appDescr =
new QTreeWidgetItem(appProperties,QStringList() <<
"Description" << application->
getDescription());
69 appVersion =
new QTreeWidgetItem(appProperties,QStringList() <<
"Version" << application->
getVersion());
70 appPrefix =
new QTreeWidgetItem(appProperties,QStringList() <<
"Prefix" << application->
getPrefix());
76 appAuthors =
new QTreeWidgetItem(appProperties,QStringList() <<
"Authors" << authors);
78 appProperties->addTopLevelItem(appName);
79 appProperties->addTopLevelItem(appDescr);
80 appProperties->addTopLevelItem(appPrefix);
81 appProperties->addTopLevelItem(appVersion);
82 appProperties->addTopLevelItem(appAuthors);
85 connect(appProperties,
SIGNAL(itemChanged(QTreeWidgetItem*,
int)),
this,SLOT(onAppItemChanged(QTreeWidgetItem*,
int)));
86 connect(appProperties,
SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)),
this,SLOT(onAppItemDoubleClicked(QTreeWidgetItem*,
int)));
93 disconnect(moduleProperties,
SIGNAL(itemChanged(QTreeWidgetItem*,
int)),
this,SLOT(onModItemChanged(QTreeWidgetItem*,
int)));
94 disconnect(moduleProperties,
SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)),
this,SLOT(onModItemDoubleClicked(QTreeWidgetItem*,
int)));
96 currentApplication =
nullptr;
98 propertiesTab->clear();
99 propertiesTab->addTab(moduleProperties,
"Module Properties");
100 propertiesTab->addTab(moduleDescription,
"Description");
101 moduleProperties->clear();
102 moduleDescription->clear();
104 appProperties->hide();
105 moduleProperties->show();
106 moduleDescription->show();
108 modName =
new QTreeWidgetItem(moduleProperties,QStringList() <<
"Name" << mod->
getInnerModule()->
getName());
109 modNode =
new QTreeWidgetItem(moduleProperties,QStringList() <<
"Node");
110 modStdio =
new QTreeWidgetItem(moduleProperties,QStringList() <<
"Stdio" << mod->
getInnerModule()->
getStdio());
111 modWorkDir =
new QTreeWidgetItem(moduleProperties,QStringList() <<
"Workdir" << mod->
getInnerModule()->
getWorkDir());
113 modDeployer =
new QTreeWidgetItem(moduleProperties,QStringList() <<
"Deployer");
114 modParams =
new QTreeWidgetItem(moduleProperties,QStringList() <<
"Parameters" << mod->
getInnerModule()->
getParam());
118 modStdio->setFlags(modStdio->flags() | Qt::ItemIsEditable);
119 modWorkDir->setFlags(modWorkDir->flags() | Qt::ItemIsEditable);
120 modPrefix->setFlags(modPrefix->flags() | Qt::ItemIsEditable);
122 moduleProperties->addTopLevelItem(modName);
123 moduleProperties->addTopLevelItem(modNode);
124 moduleProperties->addTopLevelItem(modStdio);
125 moduleProperties->addTopLevelItem(modWorkDir);
126 moduleProperties->addTopLevelItem(modPrefix);
127 moduleProperties->addTopLevelItem(modDeployer);
128 moduleProperties->addTopLevelItem(modParams);
131 delete deployerCombo;
132 deployerCombo =
nullptr;
139 deployerCombo =
new QComboBox();
140 nodeCombo =
new QComboBox();
142 deployerCombo->setEditable(
true);
143 nodeCombo->setEditable(
true);
146 deployerCombo->addItem(
"yarpdev");
148 deployerCombo->addItem(
"local");
149 deployerCombo->addItem(
"yarprun");
155 deployerCombo->setCurrentText(
"local");
158 deployerCombo->setEditable(
false);
164 nodeCombo->addItem(
"localhost");
167 for(
auto& resource : resources) {
168 auto* comp =
dynamic_cast<Computer*
>(resource);
170 nodeCombo->addItem(comp->getName());
173 connect(nodeCombo,
SIGNAL(editTextChanged(QString)), paramsSignalMapper, SLOT(map()));
174 connect(nodeCombo,
SIGNAL(currentIndexChanged(
int)), paramsSignalMapper, SLOT(map()));
175 paramsSignalMapper->setMapping(nodeCombo,nodeCombo);
177 connect(deployerCombo,
SIGNAL(editTextChanged(QString)), paramsSignalMapper, SLOT(map()));
178 connect(deployerCombo,
SIGNAL(currentIndexChanged(
int)), paramsSignalMapper, SLOT(map()));
179 paramsSignalMapper->setMapping(deployerCombo,deployerCombo);
188 QTreeWidgetItem *it =
new QTreeWidgetItem(modParams,QStringList() << a.
getParam());
189 auto* paramCombo =
new QComboBox();
190 paramCombo->setEditable(
true);
195 moduleProperties->setItemWidget(it,1,paramCombo);
196 connect(paramCombo,
SIGNAL(editTextChanged(QString)), paramsSignalMapper, SLOT(map()));
197 connect(paramCombo,
SIGNAL(currentIndexChanged(
int)), paramsSignalMapper, SLOT(map()));
198 paramsSignalMapper->setMapping(paramCombo,paramCombo);
202 moduleProperties->setItemWidget(modDeployer,1,deployerCombo);
203 moduleProperties->setItemWidget(modNode,1,nodeCombo);
204 modParams->setExpanded(
true);
207 QTreeWidgetItem *nameItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Name" << mod->
getInnerModule()->
getName());
208 QTreeWidgetItem *versionItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Version" << mod->
getInnerModule()->
getVersion());
209 QTreeWidgetItem *descriptionItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Description" << mod->
getInnerModule()->
getDescription());
210 QTreeWidgetItem *parametersItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Parameters");
213 QTreeWidgetItem *it =
new QTreeWidgetItem(parametersItem,QStringList() << a.
getParam() << a.
getDescription());
218 QTreeWidgetItem *authorsItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Authors" );
221 QTreeWidgetItem *it =
new QTreeWidgetItem(authorsItem,QStringList() << a.
getName() << a.
getEmail());
225 QTreeWidgetItem *inputsItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Inputs" );
229 QTreeWidgetItem *type =
new QTreeWidgetItem(inputsItem,QStringList() <<
"Type" << a.
getName());
230 QTreeWidgetItem *port =
new QTreeWidgetItem(type,QStringList() <<
"Port" << a.
getPort());
231 QTreeWidgetItem *desc =
new QTreeWidgetItem(type,QStringList() <<
"Description" << a.
getDescription());
232 QTreeWidgetItem *req =
new QTreeWidgetItem(type,QStringList() <<
"Required" << (a.
isRequired() ?
"yes" :
"no"));
238 QTreeWidgetItem *outputsItem =
new QTreeWidgetItem(moduleDescription,QStringList() <<
"Outputs" );
242 QTreeWidgetItem *type =
new QTreeWidgetItem(outputsItem,QStringList() <<
"Type" << a.
getName());
243 QTreeWidgetItem *port =
new QTreeWidgetItem(type,QStringList() <<
"Port" << a.
getPort());
244 QTreeWidgetItem *desc =
new QTreeWidgetItem(type,QStringList() <<
"Description" << a.
getDescription());
249 moduleDescription->addTopLevelItem(nameItem);
250 moduleDescription->addTopLevelItem(versionItem);
251 moduleDescription->addTopLevelItem(descriptionItem);
252 moduleDescription->addTopLevelItem(parametersItem);
253 moduleDescription->addTopLevelItem(authorsItem);
254 moduleDescription->addTopLevelItem(inputsItem);
255 moduleDescription->addTopLevelItem(outputsItem);
257 connect(moduleProperties,
SIGNAL(itemChanged(QTreeWidgetItem*,
int)),
this,SLOT(onModItemChanged(QTreeWidgetItem*,
int)));
258 connect(moduleProperties,
SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)),
this,SLOT(onModItemDoubleClicked(QTreeWidgetItem*,
int)));