Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYCalculWidget.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14  */
15 
28 #ifndef __TY_CALCUL_WIDGET__
29 #define __TY_CALCUL_WIDGET__
30 
31 #include "TYWidget.h"
32 
33 #include <vector>
34 // Added by qt3to4:
35 #include <QGridLayout>
36 #include <QLabel>
38 
39 using std::vector;
40 typedef vector<TYElement*> tabPtrElement;
41 
42 class TYProjet;
43 class TYCalcul;
44 class TYEtatsWidget;
45 class QLineEdit;
46 class QGridLayout;
47 class QLabel;
48 class QTreeWidget;
49 class QGroupBox;
50 class QPushButton;
51 class QCheckBox;
52 class QTreeWidgetItem;
53 class QPoint;
54 class QTextEdit;
55 class QDateEdit;
56 class TYElementWidget;
57 class QTableWidget;
58 class QTabWidget;
59 class QRadioButton;
60 class QButtonGroup;
61 class QComboBox;
62 
67 class TYCalculWidget : public TYWidget
68 {
69  Q_OBJECT
70 
72 
73  // Methodes
74 public:
78  TYCalculWidget(TYCalcul* pElement, QWidget* _pParent = NULL);
79 
83  virtual ~TYCalculWidget();
84 
85 public slots:
86  virtual void updateContent();
87  virtual void apply();
88  void changeSolverMethod(const QString& pSolverName);
89 
93  void editResultat();
94 
98  virtual void contextMenuEvent(QContextMenuEvent* e);
99 
100 private:
101  void updateControlPointsTab(TYProjet* pProjet);
102  void updateNoiseMapsTab(TYProjet* pProjet);
103  void updateComboSolver();
104  void updateCalculState();
105  void _enableDisableDefaultSolverWidgets(bool pIsDefaultSolverSelected);
106  void _initSolverParamsTabs();
107  void _initMeteoParamsTabs();
108 
109  // Membres
110 protected:
112  QLineEdit* _lineEditAuteur;
113  QDateEdit* _editDateCreation;
114  QDateEdit* _editDateModif;
115  QTextEdit* _lineEditComment;
116  QLabel* _labelAuteur;
119  QLabel* _labelComment;
120 
121  // Affichage du type de calcul
122  QComboBox* _comboSolver;
123 
124  QGroupBox* _groupBox;
125  QGroupBox* _groupBoxFlag;
126  QGroupBox* _groupBoxMaillage;
127  QGroupBox* _groupBoxResultat;
129  QWidget* _meteoTabWidget;
130 
131  // Presentation des resultats
133  QPushButton* _pushButtonResultat;
134 
135  // Workaround issue #138
136  // QLabel* _labelStoreGlobalMatrix;
137  // QCheckBox* _checkBoxStoreGlobalMatrix;
138 
139  QGridLayout* _calculLayout;
140 
142 
145 
146  QButtonGroup* _buttonGroupState;
147 
148  QRadioButton* _pRadioButtonActif;
149  QRadioButton* _pRadioButtonLocked;
150 
152  QTabWidget* _tabWidget;
153 
155  QTableWidget* _tableauPointControle;
156 
158  QTableWidget* _tableauMaillages;
159 };
160 
161 #endif // __TY_CALCUL_WIDGET__
vector< TYElement * > tabPtrElement
Objet permettant de gerer les differents widgets servant a parametriser le solveur.
outil IHM pour un objet metier de type TYElement (fichier header)
#define TY_DECL_METIER_WIDGET(classname)
Definition: TYWidget.h:31
classe de l'objet IHM pour un calcul
QRadioButton * _pRadioButtonActif
TYCalculWidget(TYCalcul *pElement, QWidget *_pParent=NULL)
QTableWidget * _tableauPointControle
Onglet des points de controle.
QComboBox * _comboSolver
QDateEdit * _editDateModif
QWidget * _meteoTabWidget
QTableWidget * _tableauMaillages
Onglet des points de controle.
TYSolverParamsWidgetManager * solverParamsWidgetManager
QButtonGroup * _buttonGroupState
virtual void contextMenuEvent(QContextMenuEvent *e)
QWidget * _maillagesWidget
void _enableDisableDefaultSolverWidgets(bool pIsDefaultSolverSelected)
QGroupBox * _groupBoxResultat
QLabel * _labelDateCreation
QWidget * _paramsTabWidget
QGridLayout * _calculLayout
virtual void updateContent()
QGroupBox * _groupBoxMaillage
QLabel * _labelComment
void updateNoiseMapsTab(TYProjet *pProjet)
QPushButton * _pushButtonResultat
QLabel * _labelAuteur
QLineEdit * _lineEditAuteur
QDateEdit * _editDateCreation
TYElementWidget * _elmW
void _initMeteoParamsTabs()
QLabel * _labelDateModif
virtual ~TYCalculWidget()
void updateControlPointsTab(TYProjet *pProjet)
void _initSolverParamsTabs()
TYEtatsWidget * _etatsWidget
virtual void apply()
QLineEdit * _lineEditNomResultat
QTabWidget * _tabWidget
Gestion des differentes options sous forme d'onglet.
QGroupBox * _groupBox
void changeSolverMethod(const QString &pSolverName)
QGroupBox * _groupBoxFlag
QRadioButton * _pRadioButtonLocked
QTextEdit * _lineEditComment
Calculation program.
Definition: TYCalcul.h:50
classe de l'objet IHM pour un element
classe de l'outil IHM pour les Etats
Definition: TYEtatsWidget.h:60
classe de definition d'un projet.
Definition: TYProjet.h:45
classe de l'objet IHM pour un objet metier de type TYElement
Definition: TYWidget.h:43