22 #include <qradiobutton.h>
23 #include <qbuttongroup.h>
24 #include <qtabwidget.h>
25 #include <qtablewidget.h>
27 #include <QHBoxLayout>
29 #include <QGridLayout>
30 #include <QVBoxLayout>
31 #include <QTreeWidgetItem>
32 #include <QHeaderView>
43 #define TR(id) OLocalizator::getString("TYEtageWidget", (id))
51 setWindowTitle(
TR(
"id_caption"));
71 _tableFaces->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
72 _tableFaces->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
130 _tableMachine->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
131 _tableMachine->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
132 _tableMachine->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
138 _tableSource->setHorizontalHeaderItem(0,
new QTableWidgetItem(
TR(
"id_nom")));
139 _tableSource->setHorizontalHeaderItem(1,
new QTableWidgetItem(
TR(
"id_emission")));
140 _tableSource->setHorizontalHeaderItem(2,
new QTableWidgetItem(
TR(
"id_regime")));
164 QGroupBox* pGroupBox2 =
new QGroupBox(
_tabWidget);
165 QGridLayout* pGroupBox2Layout =
new QGridLayout(pGroupBox2);
166 pGroupBox2->setLayout(pGroupBox2Layout);
169 QPushButton* pPushButtonTR =
new QPushButton(pGroupBox2);
170 pPushButtonTR->setText(
TR(
"id_tr_button"));
171 pGroupBox2Layout->addWidget(pPushButtonTR, 0, 0);
173 QPushButton* pPushButtonReverb =
new QPushButton(pGroupBox2);
174 pPushButtonReverb->setText(
TR(
"id_reverb_button"));
175 pGroupBox2Layout->addWidget(pPushButtonReverb, 0, 1);
178 _tabWidget->insertTab(3, pGroupBox2,
TR(
"id_prop_acous"));
203 int currentRegime = getElement()->getCurRegime();
220 int currentRegime = getElement()->getCurRegime();
222 TYMapPtrElementInt::iterator iterRegime;
225 iterRegime = currentMap.begin();
229 if (iterRegime == currentMap.end())
235 while ((iterRegime != currentMap.end()) && (!((*iterRegime).first->isA(
"TYMachine"))))
241 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableMachine->item(row, 1);
242 QComboBox* pComboItem = (QComboBox*)
_tableMachine->cellWidget(row, 2);
250 if (pCheck->checkState() == Qt::Checked)
261 (*iterRegime).second = pComboItem->currentIndex();
264 if (pCheck->checkState() == Qt::Checked)
266 currentEtat[pMachine] =
true;
270 currentEtat[pMachine] =
false;
278 iterRegime = currentMap.begin();
281 if (iterRegime == currentMap.end())
287 while ((iterRegime != currentMap.end()) && (!((*iterRegime).first->isA(
"TYUserSourcePonctuelle"))))
293 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableSource->item(row, 1);
294 QComboBox* pComboItem = (QComboBox*)
_tableSource->cellWidget(row, 2);
302 if (pCheck->checkState() == Qt::Checked)
313 (*iterRegime).second = pComboItem->currentIndex();
316 if (pCheck->checkState() == Qt::Checked)
318 currentEtat[pSource] =
true;
322 currentEtat[pSource] =
false;
330 getElement()->setHauteur(hauteur);
337 getElement()->getSol()->setIsRayonnant(
_checkBoxSol->isChecked());
338 int ret = getElement()->getSol()->edit(
this);
340 if (ret == QDialog::Accepted)
344 _checkBoxSol->setChecked(getElement()->getSol()->getIsRayonnant());
350 int ret = getElement()->getPlafond()->edit(
this);
352 if (ret == QDialog::Accepted)
362 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableFaces->item(item, 1);
363 if (pCheck->checkState() == Qt::Checked)
365 pMur->setIsRayonnant(
true);
369 pMur->setIsRayonnant(
false);
372 QTableWidgetItem* pText = (QTableWidgetItem*)
_tableFaces->item(item, 0);
373 pMur->setName(pText->text());
375 int ret = getElement()->getTabMur()[item]->getElement()->edit(
this);
377 if (ret == QDialog::Accepted)
379 if (pMur->getIsRayonnant())
381 pCheck->setCheckState(Qt::Checked);
385 pCheck->setCheckState(Qt::Unchecked);
387 _tableFaces->item(item, 0)->setText(pMur->getName());
395 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableMachine->item(item, 1);
398 if (pCheck->checkState() == Qt::Checked)
407 int ret = getElement()->getTabMachine()[item]->getElement()->edit(
this);
409 if (ret == QDialog::Accepted)
420 QTableWidgetItem* pCheck = (QTableWidgetItem*)
_tableSource->item(item, 1);
423 if (pCheck->checkState() == Qt::Checked)
432 int ret = getElement()->getTabSources()[item]->getElement()->edit(
this);
434 if (ret == QDialog::Accepted)
444 QPoint point =
_tableFaces->mapFrom(
this, e->pos());
446 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <=
_tableFaces->width()) &&
449 QPoint resPoint = QPoint(point.x(), point.y() -
_tableFaces->horizontalHeader()->height());
450 QTableWidgetItem* item =
_tableFaces->itemAt(resPoint);
453 QMenu* pMenu =
new QMenu(
this);
454 QAction* prop = pMenu->addAction(
TR(
"id_property"));
456 QAction* ret = pMenu->exec(
_tableFaces->mapToGlobal(point));
457 if ((ret) && (ret == prop))
470 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <=
_tableMachine->width()) &&
473 QPoint resPoint = QPoint(point.x(), point.y() -
_tableMachine->horizontalHeader()->height());
477 QMenu* pMenu =
new QMenu(
this);
478 QAction* prop = pMenu->addAction(
TR(
"id_property"));
480 QAction* ret = pMenu->exec(
_tableMachine->mapToGlobal(point));
481 if ((ret) && (ret == prop))
492 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <=
_tableSource->width()) &&
495 QPoint resPoint = QPoint(point.x(), point.y() -
_tableSource->horizontalHeader()->height());
496 QTableWidgetItem* item =
_tableSource->itemAt(resPoint);
499 QMenu* pMenu =
new QMenu(
this);
500 QAction* prop = pMenu->addAction(
TR(
"id_property"));
502 QAction* ret = pMenu->exec(
_tableSource->mapToGlobal(point));
503 if ((ret) && (ret == prop))
527 TYMapPtrElementInt::iterator iterRegime;
533 for (iterRegime = currentMap.begin(); iterRegime != currentMap.end(); iterRegime++)
535 TYElement* pEmetteur = (*iterRegime).first;
536 if (strcmp(pEmetteur->
getClassName(),
"TYMachine") == 0)
539 _tableMachine->setItem(row, 0,
new QTableWidgetItem((*iterRegime).first->getName()));
541 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
542 if (currentEtat[pEmetteur])
544 pCheckItemEmit->setCheckState(Qt::Checked);
548 pCheckItemEmit->setCheckState(Qt::Unchecked);
554 QStringList listRegimes;
561 listRegimes.append(nom);
565 pComboItemRegime->addItems(listRegimes);
567 pComboItemRegime->setCurrentIndex((*iterRegime).second);
575 for (iterRegime = currentMap.begin(); iterRegime != currentMap.end(); iterRegime++)
577 TYElement* pEmetteur = (*iterRegime).first;
578 if (strcmp(pEmetteur->
getClassName(),
"TYUserSourcePonctuelle") == 0)
581 _tableSource->setItem(row, 0,
new QTableWidgetItem((*iterRegime).first->getName()));
583 QTableWidgetItem* pCheckItemSrc =
new QTableWidgetItem(
"");
584 if (currentEtat[pEmetteur])
586 pCheckItemSrc->setCheckState(Qt::Checked);
590 pCheckItemSrc->setCheckState(Qt::Unchecked);
596 QStringList listRegimes;
602 listRegimes.append(nom);
605 QComboBox* pComboItemRegime =
new QComboBox(
_tableSource);
606 pComboItemRegime->addItems(listRegimes);
608 pComboItemRegime->setCurrentIndex((*iterRegime).second);
637 _checkBoxSol->setChecked(getElement()->getSol()->getIsRayonnant());
640 for (
unsigned int i = 0, row = 0; i < getElement()->getTabMur().size(); i++, row++)
644 _tableFaces->setItem(row, 0,
new QTableWidgetItem(pMur->getName()));
645 QTableWidgetItem* pCheckItemEmit =
new QTableWidgetItem(
"");
646 if (pMur->getIsRayonnant())
648 pCheckItemEmit->setCheckState(Qt::Checked);
652 pCheckItemEmit->setCheckState(Qt::Unchecked);
660 getElement()->getSol()->setIsRayonnant(
_checkBoxSol->isChecked());
666 QTableWidgetItem* pCheck =
_tableFaces->item(i, 1);
667 if (pCheck->checkState() == Qt::Checked)
669 pMur->setIsRayonnant(
true);
673 pMur->setIsRayonnant(
false);
675 QTableWidgetItem* pText = (QTableWidgetItem*)
_tableFaces->item(i, 0);
676 pMur->setName(pText->text());
682 static_cast<TYSpectre>(getElement()->getReverb().toDB()).
edit(
this);
688 getElement()->getTR().edit(
this);
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)
outil IHM pour une entrée utilisateur (fichier header)
virtual const char * getClassName() const
static OPrototype * safeDownCast(OPrototype *pObject)
TYRegime & getRegimeNb(const int &nb, bool &status)
size_t getNbRegimes() const
virtual void setIsRayonnant(bool rayonnant=true, bool recursif=true)
virtual void setCurRegime(int regime)
virtual QString getName() const
static void setXMLPrecision(const int precision=2)
Get/Set de la precision de stockage des resultats (XML)
TYUserSrcRegime & getRegimeNb(const int &nb)
void setCurrentRegime(const int ®imeNumber)
void setIsRayonnant(const bool &rayonnant)