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>
42 #define TR(id) OLocalizator::getString("TYCalculWidget", (id))
45 : QDialog(_pParent), _pElement(pElement)
48 this->setWindowTitle(
TR(
"id_etat_title"));
55 QBoxLayout* pLayoutEtats =
new QVBoxLayout(
this);
56 setLayout(pLayoutEtats);
58 pLayoutEtats->addWidget(
_elmW);
60 QGroupBox* groupBox5 =
new QGroupBox(
this);
61 groupBox5->setTitle(
TR(
"id_map_box"));
62 QGridLayout* groupBox5Layout =
new QGridLayout();
63 groupBox5->setLayout(groupBox5Layout);
70 _tableSource->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
71 _tableSource->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
72 _tableSource->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
79 _tableMachine->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
80 _tableMachine->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
81 _tableMachine->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
88 _tableBatiment->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
89 _tableBatiment->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
90 _tableBatiment->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
98 _tableSourceLin->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
99 _tableSourceLin->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
105 pLayoutEtats->addWidget(groupBox5);
107 pLayoutEtats->addSpacing(5);
108 QBoxLayout* pBtnLayoutEtats =
new QHBoxLayout();
109 pBtnLayoutEtats->setContentsMargins(10, 10, 10, 10);
110 pLayoutEtats->addLayout(pBtnLayoutEtats);
111 pBtnLayoutEtats->addStretch();
113 QPushButton* pButtonOKEtats =
new QPushButton(
TR(
"id_ok_btn"),
this);
114 pButtonOKEtats->setDefault(
true);
115 pBtnLayoutEtats->addWidget(pButtonOKEtats);
116 pBtnLayoutEtats->insertSpacing(2, 4);
117 QPushButton* pButtonCancelEtats =
new QPushButton(
TR(
"id_cancel_btn"),
this);
118 pButtonCancelEtats->setDefault(
false);
119 pBtnLayoutEtats->addWidget(pButtonCancelEtats);
122 connect(pButtonCancelEtats, &QPushButton::clicked,
this, &TYEtatsWidget::reject);
140 _elmW->setEnabled(
false);
145 TYMapPtrElementBool::iterator iterEmit;
148 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
150 TYElement* pEmetteur = (*iterEmit).first;
151 if (strcmp(pEmetteur->
getClassName(),
"TYBatiment") == 0)
156 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
158 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
159 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
163 QStringList listRegimes;
170 listRegimes.append(nom);
173 QComboBox* pComboRegime =
new QComboBox();
174 pComboRegime->addItems(listRegimes);
175 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
184 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
186 TYElement* pEmetteur = (*iterEmit).first;
187 if (strcmp(pEmetteur->
getClassName(),
"TYMachine") == 0)
192 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
194 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
195 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
199 QStringList listRegimes;
206 listRegimes.append(nom);
209 QComboBox* pComboRegime =
new QComboBox();
210 pComboRegime->addItems(listRegimes);
211 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
220 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
222 TYElement* pEmetteur = (*iterEmit).first;
223 if (strcmp(pEmetteur->
getClassName(),
"TYUserSourcePonctuelle") == 0)
228 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
230 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
231 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
235 QStringList listRegimes;
241 listRegimes.append(nom);
244 QComboBox* pComboRegime =
new QComboBox();
245 pComboRegime->addItems(listRegimes);
246 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
255 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
257 TYElement* pEmetteur = (*iterEmit).first;
259 if (pSource !=
nullptr)
264 QTableWidgetItem* pItemEmit =
new QTableWidgetItem((*iterEmit).first->getName());
266 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
267 pCheckItemEmit->setCheckState((*iterEmit).second ? Qt::Checked : Qt::Unchecked);
271 QStringList listRegimes;
276 listRegimes.append(nom);
279 QComboBox* pComboRegime =
new QComboBox();
280 pComboRegime->addItems(listRegimes);
281 pComboRegime->setCurrentIndex(mapRegime[pEmetteur]);
293 TYMapPtrElementBool::iterator iterEmit;
294 TYMapPtrElementInt::iterator iterRegime;
300 iterRegime = mapRegime.begin();
301 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
306 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableBatiment->item(row, 1);
307 bool isChecked = (pCheck->checkState() == Qt::Checked);
308 (*iterEmit).second = isChecked;
311 QComboBox* pComboBox = (QComboBox*)
_tableBatiment->cellWidget(row, 2);
312 int currentRegime = pComboBox->currentIndex();
313 (*iterRegime).second = currentRegime;
331 iterRegime = mapRegime.begin();
332 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
336 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableMachine->item(row, 1);
337 bool isChecked = (pCheck->checkState() == Qt::Checked);
338 (*iterEmit).second = isChecked;
341 QComboBox* pComboBox = (QComboBox*)
_tableMachine->cellWidget(row, 2);
342 int currentRegime = pComboBox->currentIndex();
343 (*iterRegime).second = currentRegime;
360 iterRegime = mapRegime.begin();
361 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
365 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableSource->item(row, 1);
366 bool isChecked = (pCheck->checkState() == Qt::Checked);
367 (*iterEmit).second = isChecked;
370 QComboBox* pComboBox = (QComboBox*)
_tableSource->cellWidget(row, 2);
371 int currentRegime = pComboBox->currentIndex();
372 (*iterRegime).second = currentRegime;
389 iterRegime = mapRegime.begin();
390 for (iterEmit = mapEtat.begin(); iterEmit != mapEtat.end(); iterEmit++)
394 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableSourceLin->item(row, 1);
395 bool isChecked = (pCheck->checkState() == Qt::Checked);
396 (*iterEmit).second = isChecked;
399 QComboBox* pComboBox = (QComboBox*)
_tableSourceLin->cellWidget(row, 2);
400 int currentRegime = pComboBox->currentIndex();
401 (*iterRegime).second = currentRegime;
422 QTableWidget* _pCurrentTable = (QTableWidget*)
_tabWidget->currentWidget();
423 QPoint point = _pCurrentTable->mapFrom(
this, e->pos());
425 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <= _pCurrentTable->width()) &&
426 (point.y() <= _pCurrentTable->height()))
428 QPoint resPoint = QPoint(point.x(), point.y() - _pCurrentTable->horizontalHeader()->height());
429 QTableWidgetItem* item = _pCurrentTable->itemAt(resPoint);
432 QMenu* pMenu =
new QMenu(
this);
434 QAction* selectAll = pMenu->addAction(
TR(
"id_popup_select_all"));
435 QAction* unselectAll = pMenu->addAction(
TR(
"id_popup_unselect_all"));
436 QAction* ret = pMenu->exec(_pCurrentTable->mapToGlobal(point));
440 Qt::CheckState checkedState;
441 if (ret == selectAll)
443 checkedState = Qt::Checked;
445 if (ret == unselectAll)
447 checkedState = Qt::Unchecked;
451 for (
int row = 0; row < _pCurrentTable->rowCount(); row++)
453 _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)