23 #include <qtablewidget.h>
24 #include <qtabwidget.h>
25 #include <qradiobutton.h>
26 #include <qbuttongroup.h>
28 #include <qstringlist.h>
30 #include <QHBoxLayout>
32 #include <QGridLayout>
33 #include <QVBoxLayout>
34 #include <QHeaderView>
44 #define TR(id) OLocalizator::getString("TYCalculWidget", (id))
47 : QDialog(_pParent), _pElement(pElement)
50 this->setWindowTitle(
TR(
"id_etat_title"));
57 QBoxLayout* pLayoutEtats =
new QVBoxLayout(
this);
58 setLayout(pLayoutEtats);
60 pLayoutEtats->addWidget(
_elmW);
62 QGroupBox* groupBox5 =
new QGroupBox(
this);
63 groupBox5->setTitle(
TR(
"id_map_box"));
64 QGridLayout* groupBox5Layout =
new QGridLayout();
65 groupBox5->setLayout(groupBox5Layout);
72 _tableSource->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
73 _tableSource->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
74 _tableSource->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
81 _tableMachine->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
82 _tableMachine->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
83 _tableMachine->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
90 _tableBatiment->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
91 _tableBatiment->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
92 _tableBatiment->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
100 _tableSourceLin->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
101 _tableSourceLin->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
107 pLayoutEtats->addWidget(groupBox5);
109 pLayoutEtats->addSpacing(5);
110 QBoxLayout* pBtnLayoutEtats =
new QHBoxLayout();
111 pBtnLayoutEtats->setContentsMargins(10, 10, 10, 10);
112 pLayoutEtats->addLayout(pBtnLayoutEtats);
113 pBtnLayoutEtats->addStretch();
115 QPushButton* pButtonOKEtats =
new QPushButton(
TR(
"id_ok_btn"),
this);
116 pButtonOKEtats->setDefault(
true);
117 pBtnLayoutEtats->addWidget(pButtonOKEtats);
118 pBtnLayoutEtats->insertSpacing(2, 4);
119 QPushButton* pButtonCancelEtats =
new QPushButton(
TR(
"id_cancel_btn"),
this);
120 pButtonCancelEtats->setDefault(
false);
121 pBtnLayoutEtats->addWidget(pButtonCancelEtats);
124 connect(pButtonCancelEtats, &QPushButton::clicked,
this, &TYEtatsWidget::reject);
142 _elmW->setEnabled(
false);
147 TYMapPtrElementBool::iterator iterEmit;
150 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
152 TYElement* pEmetteur = (*iterEmit).first;
153 if (strcmp(pEmetteur->
getClassName(),
"TYBatiment") == 0)
158 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
160 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
161 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
165 QStringList listRegimes;
172 listRegimes.append(nom);
175 QComboBox* pComboRegime =
new QComboBox();
176 pComboRegime->addItems(listRegimes);
177 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
186 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
188 TYElement* pEmetteur = (*iterEmit).first;
189 if (strcmp(pEmetteur->
getClassName(),
"TYMachine") == 0)
194 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
196 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
197 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
201 QStringList listRegimes;
208 listRegimes.append(nom);
211 QComboBox* pComboRegime =
new QComboBox();
212 pComboRegime->addItems(listRegimes);
213 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
222 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
224 TYElement* pEmetteur = (*iterEmit).first;
225 if (strcmp(pEmetteur->
getClassName(),
"TYUserSourcePonctuelle") == 0)
230 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
232 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
233 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
237 QStringList listRegimes;
243 listRegimes.append(nom);
246 QComboBox* pComboRegime =
new QComboBox();
247 pComboRegime->addItems(listRegimes);
248 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
257 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
259 TYElement* pEmetteur = (*iterEmit).first;
261 if (pSource !=
nullptr)
266 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
268 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
269 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
273 QStringList listRegimes;
278 listRegimes.append(nom);
281 QComboBox* pComboRegime =
new QComboBox();
282 pComboRegime->addItems(listRegimes);
283 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
295 TYMapPtrElementBool::iterator iterEmit;
296 TYMapPtrElementInt::iterator iterRegime;
302 iterRegime = mapRegime.begin();
303 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
308 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableBatiment->item(row, 1);
309 bool isChecked = (pCheck->checkState() == Qt::Checked);
310 (*iterEmit).second = isChecked;
313 QComboBox* pComboBox = (QComboBox*)
_tableBatiment->cellWidget(row, 2);
314 int currentRegime = pComboBox->currentIndex();
315 (*iterRegime).second = currentRegime;
333 iterRegime = mapRegime.begin();
334 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
338 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableMachine->item(row, 1);
339 bool isChecked = (pCheck->checkState() == Qt::Checked);
340 (*iterEmit).second = isChecked;
343 QComboBox* pComboBox = (QComboBox*)
_tableMachine->cellWidget(row, 2);
344 int currentRegime = pComboBox->currentIndex();
345 (*iterRegime).second = currentRegime;
362 iterRegime = mapRegime.begin();
363 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
367 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableSource->item(row, 1);
368 bool isChecked = (pCheck->checkState() == Qt::Checked);
369 (*iterEmit).second = isChecked;
372 QComboBox* pComboBox = (QComboBox*)
_tableSource->cellWidget(row, 2);
373 int currentRegime = pComboBox->currentIndex();
374 (*iterRegime).second = currentRegime;
391 iterRegime = mapRegime.begin();
392 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
396 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableSourceLin->item(row, 1);
397 bool isChecked = (pCheck->checkState() == Qt::Checked);
398 (*iterEmit).second = isChecked;
401 QComboBox* pComboBox = (QComboBox*)
_tableSourceLin->cellWidget(row, 2);
402 int currentRegime = pComboBox->currentIndex();
403 (*iterRegime).second = currentRegime;
424 QTableWidget* _pCurrentTable = (QTableWidget*)
_tabWidget->currentWidget();
425 QPoint point = _pCurrentTable->mapFrom(
this, e->pos());
427 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <= _pCurrentTable->width()) &&
428 (point.y() <= _pCurrentTable->height()))
432 QPoint resPoint = _pCurrentTable->viewport()->mapFrom(_pCurrentTable, point);
433 QTableWidgetItem* item = _pCurrentTable->itemAt(resPoint);
436 QMenu* pMenu =
new QMenu(
this);
438 QAction* selectAll = pMenu->addAction(
TR(
"id_popup_select_all"));
439 QAction* unselectAll = pMenu->addAction(
TR(
"id_popup_unselect_all"));
440 QAction* ret = pMenu->exec(_pCurrentTable->mapToGlobal(point));
444 Qt::CheckState checkedState;
445 if (ret == selectAll)
447 checkedState = Qt::Checked;
449 if (ret == unselectAll)
451 checkedState = Qt::Unchecked;
455 for (
int row = 0; row < _pCurrentTable->rowCount(); row++)
457 _pCurrentTable->item(row, 1)->setCheckState(checkedState);
std::map< TYElement *, bool > TYMapPtrElementBool
Etat d'utilisation des elements (utilise par les calculs)
std::map< TYElement *, int > TYMapPtrElementInt
Tableau associatif des elements et d'un entier (utilise pour gerer les regimes)
virtual const char * getClassName() const
static OPrototype * safeDownCast(OPrototype *pObject)
TYRegime & getRegimeNb(const int &nb, bool &status)
size_t getNbRegimes() const
void setIsRayonnant(const bool &rayonnant)
TYRegime & getRegimeNb(const int &nb)
virtual void setCurRegime(int regimeNumber)
size_t getNbRegimes() const
virtual void setIsRayonnant(bool rayonnant=true, bool recursif=true)
virtual void setCurRegime(int regime)
TYMapPtrElementInt & getMapElementRegime()
Get from the regime.
TYMapPtrElementBool & getEmitAcVolNode()
Get array containing the state of each volumeNode in transmission.
static void setIsSavedOk(const bool &toSave)
virtual QString getName() const
TYUserSrcRegime & getRegimeNb(const int &nb)
void setCurrentRegime(const int ®imeNumber)
void setIsRayonnant(const bool &rayonnant)