Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYPreferenceDialog.cpp
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 
21 #include <math.h>
22 #include <qslider.h>
23 #include <qlineedit.h>
24 #include <qlabel.h>
25 #include <qlayout.h>
26 #include <qbuttongroup.h>
27 #include <qradiobutton.h>
28 #include <qgridlayout.h>
29 #include <qcombobox.h>
30 #include <qcheckbox.h>
31 #include <qgroupbox.h>
32 #include <qpushbutton.h>
33 #include <qvalidator.h>
34 #include <qfiledialog.h>
35 #include <QHideEvent>
36 #include <QMdiSubWindow>
37 #include <QMdiArea>
38 
50 #include "TYPreferenceDialog.h"
51 
52 #define TR(id) OLocalizator::getString("TYPreferenceDialog", (id))
53 
54 TYPreferenceDialog::TYPreferenceDialog(QWidget* parent, const char* name, Qt::WindowFlags f)
55  : TYFormDialog(parent, f)
56 {
57  setWindowTitle(TR("id_caption"));
58 
59  tabWidget = new QTabWidget;
60  tabWidget->addTab(new GeometrieTab(), TR("id_tab_geometry")); // 0
61  tabWidget->addTab(new pref3DTab(), TR("id_tab_3d")); // 1
62  tabWidget->addTab(new ColorsTab(), TR("id_tab_colors")); // 2
63  tabWidget->addTab(new AcoustiqueTab(), TR("id_tab_acoustic")); // 3
64  tabWidget->addTab(new GeneralTab(), TR("id_tab_general")); // 4
65 
66  _buttonOK = new QPushButton(TR("id_ok_btn"), this);
67  _buttonOK->setDefault(true);
68  connect(_buttonOK, &QPushButton::clicked, this, &TYPreferenceDialog::accept);
69  connect(_buttonOK, &QPushButton::clicked, this, &TYPreferenceDialog::clickOkApply);
70 
71  _buttonCancel = new QPushButton(TR("id_cancel_btn"), this);
72  _buttonCancel->setShortcut(Qt::Key_Escape);
73  connect(_buttonCancel, &QPushButton::clicked, this, &TYPreferenceDialog::reject);
74 
75  _buttonApply = new QPushButton(TR("id_apply_btn"), this);
76  connect(_buttonApply, &QPushButton::clicked, this, &TYPreferenceDialog::clickOkApply);
77 
78  QGridLayout* buttonLayout = new QGridLayout();
79  buttonLayout->addWidget(_buttonOK, 0, 1);
80  buttonLayout->addWidget(_buttonCancel, 0, 2);
81  buttonLayout->addWidget(_buttonApply, 0, 3);
82 
83  QVBoxLayout* mainLayout = new QVBoxLayout;
84  mainLayout->addWidget(tabWidget);
85  mainLayout->addLayout(buttonLayout);
86  // mainLayout->addStretch(1);
87  setLayout(mainLayout);
88 }
89 
91 {
92  TYPreferenceManager::loadGeometryFromPreferences(metaObject()->className(), this);
93 
95 
96  return QDialog::exec();
97 }
98 
99 GeneralTab::GeneralTab(QWidget* parent) : QWidget(parent)
100 {
101  // historique
102  QLabel* pHistoSizeLabel = new QLabel(TR("id_label_histo_size"));
103  _pHistoSizeEdit = new TYLineEdit();
104 
105  QGridLayout* groupBoxLayout = new QGridLayout();
106  groupBoxLayout->addWidget(pHistoSizeLabel, 0, 0);
107  groupBoxLayout->addWidget(_pHistoSizeEdit, 0, 1);
108 
109  QGroupBox* groupBox = new QGroupBox();
110  groupBox->setTitle(TR("id_histo"));
111  groupBox->setLayout(groupBoxLayout);
112 
113  // bibliotheque
114  QLabel* pLibraryPathLabel = new QLabel(TR("id_label_biblio_path"));
115  _pLibraryPathEdit = new QLineEdit();
116  QPushButton* buttonBiblioDirChoice = new QPushButton(TR("id_choose_btn"), this);
117  connect(buttonBiblioDirChoice, &QPushButton::clicked, this, &GeneralTab::changeBibDir);
118 
119  QGridLayout* groupBoxLibraryLayout = new QGridLayout();
120  groupBoxLibraryLayout->addWidget(pLibraryPathLabel, 0, 0);
121  groupBoxLibraryLayout->addWidget(_pLibraryPathEdit, 0, 1);
122  groupBoxLibraryLayout->addWidget(buttonBiblioDirChoice, 0, 2);
123 
124  QGroupBox* groupBoxLibrary = new QGroupBox();
125  groupBoxLibrary->setTitle(TR("id_biblio"));
126  groupBoxLibrary->setLayout(groupBoxLibraryLayout);
127 
128  // repertoire de travail
129  QLabel* pWorkDirPathLabel = new QLabel(TR("id_label_workdir_path"));
130  _pWorkDirPathEdit = new QLineEdit();
131  QPushButton* buttonWorkDirChoice = new QPushButton(TR("id_choose_btn"), this);
132  connect(buttonWorkDirChoice, &QPushButton::clicked, this, &GeneralTab::changeWorkDir);
133 
134  QGridLayout* groupBoxWorkDirLayout = new QGridLayout();
135  groupBoxWorkDirLayout->addWidget(pWorkDirPathLabel, 0, 0);
136  groupBoxWorkDirLayout->addWidget(_pWorkDirPathEdit, 0, 1);
137  groupBoxWorkDirLayout->addWidget(buttonWorkDirChoice, 0, 2);
138 
139  QGroupBox* groupBoxWorkDir = new QGroupBox();
140  groupBoxWorkDir->setTitle(TR("id_workdir"));
141  groupBoxWorkDir->setLayout(groupBoxWorkDirLayout);
142 
143  QVBoxLayout* pTabLayout = new QVBoxLayout();
144  pTabLayout->addWidget(groupBoxWorkDir);
145  pTabLayout->addWidget(groupBoxLibrary);
146  pTabLayout->addWidget(groupBox);
147  pTabLayout->addStretch(1);
148 
149  setLayout(pTabLayout);
150 }
151 
153 {
154  QString strDir = _pLibraryPathEdit->text();
155  QFileDialog* pDialog = new QFileDialog(this, "Choose a directory", strDir);
156  pDialog->setFileMode(QFileDialog::Directory);
157  pDialog->setOption(QFileDialog::ShowDirsOnly, true);
158 
159  pDialog->exec();
160 
161  if (pDialog->result() == QDialog::Accepted)
162  {
163  QDir dir = pDialog->directory();
164  _pLibraryPathEdit->setText(dir.absolutePath());
165  }
166 
167  pDialog = NULL;
168 }
169 
171 {
172  QString strDir = _pWorkDirPathEdit->text();
173  QFileDialog* pDialog = new QFileDialog(this, "Choose a directory", strDir);
174  pDialog->setFileMode(QFileDialog::Directory);
175  pDialog->setOption(QFileDialog::ShowDirsOnly, true);
176 
177  pDialog->exec();
178 
179  if (pDialog->result() == QDialog::Accepted)
180  {
181  QDir dir = pDialog->directory();
182  _pWorkDirPathEdit->setText(dir.absolutePath());
183  }
184 
185  pDialog = NULL;
186 }
187 
188 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
189 
190 GeometrieTab::GeometrieTab(QWidget* parent) : QWidget(parent)
191 {
192  // propriete de grilles
193  QLabel* pSiteLabel = new QLabel(TR("id_site"));
194  QLabel* pBatLabel = new QLabel(TR("id_batiment"));
195  QLabel* pMacLabel = new QLabel(TR("id_machine"));
196  QLabel* pFaceLabel = new QLabel(TR("id_face"));
197  QLabel* pMailLabel = new QLabel(TR("id_maillage"));
198 
199  QLabel* pGridDimXLabel = new QLabel(TR("id_label_dimx_grid"));
205 
206  QLabel* pGridDimYLabel = new QLabel(TR("id_label_dimy_grid"));
212 
213  QLabel* pGridStepLabel = new QLabel(TR("id_label_step_grid"));
219 
220  QLabel* pGridMagnStepLabel = new QLabel(TR("id_label_step_grid_magn"));
226 
227  QGridLayout* groupBoxLayout = new QGridLayout();
228  groupBoxLayout->addWidget(pSiteLabel, 0, 1);
229  groupBoxLayout->addWidget(pBatLabel, 0, 2);
230  groupBoxLayout->addWidget(pMacLabel, 0, 3);
231  groupBoxLayout->addWidget(pFaceLabel, 0, 4);
232  groupBoxLayout->addWidget(pMailLabel, 0, 5);
233 
234  groupBoxLayout->addWidget(pGridDimXLabel, 1, 0);
235  groupBoxLayout->addWidget(_pGridDimXSiteEdit, 1, 1);
236  groupBoxLayout->addWidget(_pGridDimXBatEdit, 1, 2);
237  groupBoxLayout->addWidget(_pGridDimXMacEdit, 1, 3);
238  groupBoxLayout->addWidget(_pGridDimXFaceEdit, 1, 4);
239  groupBoxLayout->addWidget(_pGridDimXMailEdit, 1, 5);
240 
241  groupBoxLayout->addWidget(pGridDimYLabel, 2, 0);
242  groupBoxLayout->addWidget(_pGridDimYSiteEdit, 2, 1);
243  groupBoxLayout->addWidget(_pGridDimYBatEdit, 2, 2);
244  groupBoxLayout->addWidget(_pGridDimYMacEdit, 2, 3);
245  groupBoxLayout->addWidget(_pGridDimYFaceEdit, 2, 4);
246  groupBoxLayout->addWidget(_pGridDimYMailEdit, 2, 5);
247 
248  groupBoxLayout->addWidget(pGridStepLabel, 3, 0);
249  groupBoxLayout->addWidget(_pGridStepSiteEdit, 3, 1);
250  groupBoxLayout->addWidget(_pGridStepBatEdit, 3, 2);
251  groupBoxLayout->addWidget(_pGridStepMacEdit, 3, 3);
252  groupBoxLayout->addWidget(_pGridStepFaceEdit, 3, 4);
253  groupBoxLayout->addWidget(_pGridStepMailEdit, 3, 5);
254 
255  groupBoxLayout->addWidget(pGridMagnStepLabel, 4, 0);
256  groupBoxLayout->addWidget(_pGridMagnStepSiteEdit, 4, 1);
257  groupBoxLayout->addWidget(_pGridMagnStepBatEdit, 4, 2);
258  groupBoxLayout->addWidget(_pGridMagnStepMacEdit, 4, 3);
259  groupBoxLayout->addWidget(_pGridMagnStepFaceEdit, 4, 4);
260  groupBoxLayout->addWidget(_pGridMagnStepMailEdit, 4, 5);
261 
262  QGroupBox* groupBox = new QGroupBox();
263  groupBox->setTitle(TR("id_grid"));
264  groupBox->setLayout(groupBoxLayout);
265 
266  // Angles
267  _p15RadioButton = new QRadioButton("15");
268  _p30RadioButton = new QRadioButton("30");
269  _p45RadioButton = new QRadioButton("45");
270  _p90RadioButton = new QRadioButton("90");
271 
272  _pAnglesButtonGroup = new QButtonGroup();
273  _pAnglesButtonGroup->setExclusive(true);
274  _pAnglesButtonGroup->addButton(_p15RadioButton, 0);
275  _pAnglesButtonGroup->addButton(_p30RadioButton, 1);
276  _pAnglesButtonGroup->addButton(_p45RadioButton, 2);
277  _pAnglesButtonGroup->addButton(_p90RadioButton, 3);
278 
279  QGridLayout* groupBoxAnglesLayout = new QGridLayout();
280  groupBoxAnglesLayout->addWidget(_p15RadioButton, 0, 0);
281  groupBoxAnglesLayout->addWidget(_p30RadioButton, 0, 1);
282  groupBoxAnglesLayout->addWidget(_p45RadioButton, 0, 2);
283  groupBoxAnglesLayout->addWidget(_p90RadioButton, 0, 3);
284 
285  QGroupBox* groupBoxAngles = new QGroupBox();
286  groupBoxAngles->setTitle("Angle");
287  groupBoxAngles->setLayout(groupBoxAnglesLayout);
288 
289  // Geometrie
290  QLabel* pSourceSize = new QLabel(TR("id_label_source_size"));
292  QLabel* pPointControlSize = new QLabel(TR("id_label_pointcontrol_size"));
294  QLabel* pResoCylLabel = new QLabel(TR("id_label_nb_face_cylinder"));
295  _pResoCylEdit = new TYLineEdit();
296  QLabel* pSeuilDistNulLabel = new QLabel(TR("id_label_seuil_dist_nulle"));
298 
299  QGridLayout* groupBox1Layout = new QGridLayout();
300  groupBox1Layout->addWidget(pSourceSize, 0, 0);
301  groupBox1Layout->addWidget(_pSourceSizeEdit, 0, 1);
302  groupBox1Layout->addWidget(pPointControlSize, 1, 0);
303  groupBox1Layout->addWidget(_pPointControlSizeEdit, 1, 1);
304  groupBox1Layout->addWidget(pResoCylLabel, 2, 0);
305  groupBox1Layout->addWidget(_pResoCylEdit, 2, 1);
306  groupBox1Layout->addWidget(pSeuilDistNulLabel, 3, 0);
307  groupBox1Layout->addWidget(_pSeuilDistNulEdit, 3, 1);
308 
309  QGroupBox* groupBox1 = new QGroupBox();
310  groupBox1->setTitle(TR("id_geometry"));
311  groupBox1->setLayout(groupBox1Layout);
312 
313  // Topographie
314  QLabel* pDelaunayToleranceLabel = new QLabel(TR("id_label_delaunay_tolerance"));
316  QLabel* pDistMinPtCrbNivLabel = new QLabel(TR("id_label_dist_min_pts_crbniv"));
318  QLabel* pDefaultDimXLabel = new QLabel(TR("id_label_def_dimx"));
320  QLabel* pDefaultDimYLabel = new QLabel(TR("id_label_def_dimy"));
322 
323  QGridLayout* groupBox2Layout = new QGridLayout();
324  groupBox2Layout->addWidget(pDelaunayToleranceLabel, 0, 0);
325  groupBox2Layout->addWidget(_pDelaunayToleranceEdit, 0, 1);
326  groupBox2Layout->addWidget(pDistMinPtCrbNivLabel, 1, 0);
327  groupBox2Layout->addWidget(_pDistMinPtCrbNivEdit, 1, 1);
328  groupBox2Layout->addWidget(pDefaultDimXLabel, 2, 0);
329  groupBox2Layout->addWidget(_pDefaultDimXEdit, 2, 1);
330  groupBox2Layout->addWidget(pDefaultDimYLabel, 3, 0);
331  groupBox2Layout->addWidget(_pDefaultDimYEdit, 3, 1);
332 
333  QGroupBox* groupBox2 = new QGroupBox();
334  groupBox2->setTitle(TR("id_topography"));
335  groupBox2->setLayout(groupBox2Layout);
336 
337  // Constructions
338  QLabel* pDefaultHMurLabel = new QLabel(TR("id_label_def_h_mur"));
340  QLabel* pDefaultWEcranLabel = new QLabel(TR("id_label_def_w_ecran"));
342 
343  QGridLayout* groupBox3Layout = new QGridLayout();
344  groupBox3Layout->addWidget(pDefaultHMurLabel, 0, 0);
345  groupBox3Layout->addWidget(_pDefaultHMurEdit, 0, 1);
346  groupBox3Layout->addWidget(pDefaultWEcranLabel, 1, 0);
347  groupBox3Layout->addWidget(_pDefaultWEcranEdit, 1, 1);
348 
349  QGroupBox* groupBox3 = new QGroupBox();
350  groupBox3->setTitle(TR("id_Ecran"));
351  groupBox3->setLayout(groupBox3Layout);
352 
353  QVBoxLayout* pTabLayout = new QVBoxLayout;
354  pTabLayout->addWidget(groupBox);
355  pTabLayout->addWidget(groupBoxAngles);
356  pTabLayout->addWidget(groupBox1);
357  pTabLayout->addWidget(groupBox2);
358  pTabLayout->addWidget(groupBox3);
359  pTabLayout->addStretch(1);
360 
361  // Useless fields must be disabled
362  _pGridDimXMailEdit->setEnabled(false);
363  _pGridDimYMailEdit->setEnabled(false);
364  _pGridStepMailEdit->setEnabled(false);
365  _pGridMagnStepMailEdit->setEnabled(false);
366 
367  _pSeuilDistNulEdit->setEnabled(false);
368 
369  setLayout(pTabLayout);
370 }
371 
372 pref3DTab::pref3DTab(QWidget* parent) : QWidget(parent)
373 {
374  // luminosite
375  QLabel* pClairLabel = new QLabel(TR("id_clair"));
376  _pLightSlider = new QSlider(Qt::Horizontal);
377  _pLightSlider->setRange(10, 100);
378  QLabel* pSombreLabel = new QLabel(TR("id_sombre"));
379 
380  QGridLayout* groupBox1Layout = new QGridLayout();
381  groupBox1Layout->addWidget(pSombreLabel, 0, 0);
382  groupBox1Layout->addWidget(_pLightSlider, 0, 1);
383  groupBox1Layout->addWidget(pClairLabel, 0, 2);
384 
385  QGroupBox* groupBox1 = new QGroupBox();
386  groupBox1->setTitle(TR("id_luminosite"));
387  groupBox1->setLayout(groupBox1Layout);
388 
389  // Selection des objets
390  QLabel* pPrecisLabel = new QLabel(TR("id_precision"));
392  QGridLayout* groupPrecisLayout = new QGridLayout();
393  groupPrecisLayout->addWidget(pPrecisLabel, 0, 0);
394  groupPrecisLayout->addWidget(_pPrecisPickEdit, 0, 1);
395 
396  _pViewOnlyHighlightCheckBox = new QCheckBox();
397  _pViewOnlyHighlightCheckBox->setText(TR("id_label_view_only_highlight"));
398 
399  _pCenterOnLocateCheckBox = new QCheckBox();
400  _pCenterOnLocateCheckBox->setText(TR("id_label_center_on_locate"));
401 
402  QGridLayout* groupBox2Layout = new QGridLayout();
403  groupBox2Layout->addLayout(groupPrecisLayout, 0, 0);
404  groupBox2Layout->addWidget(_pViewOnlyHighlightCheckBox, 1, 0);
405  groupBox2Layout->addWidget(_pCenterOnLocateCheckBox, 2, 0);
406 
407  QGroupBox* groupBox2 = new QGroupBox();
408  groupBox2->setTitle(TR("id_picking"));
409  groupBox2->setLayout(groupBox2Layout);
410 
411  // Deplacement de la camera
412  _pWireframeOnMovingCameraCheckBox = new QCheckBox();
413  _pWireframeOnMovingCameraCheckBox->setText(TR("id_label_wireframe_on_moving_camera"));
414 
415  QGridLayout* groupBox2bLayout = new QGridLayout();
416  groupBox2bLayout->addWidget(_pWireframeOnMovingCameraCheckBox, 1, 0);
417 
418  QGroupBox* groupBox2b = new QGroupBox();
419  groupBox2b->setTitle(TR("id_wireframe"));
420  groupBox2b->setLayout(groupBox2bLayout);
421 
422  // Zoom
423  QLabel* pZoomStepLabel = new QLabel(TR("id_step"));
424  _pZoomStepEdit = new TYLineEdit();
425 
426  QGridLayout* groupBox3Layout = new QGridLayout();
427  groupBox3Layout->addWidget(pZoomStepLabel, 0, 0);
428  groupBox3Layout->addWidget(_pZoomStepEdit, 0, 1);
429 
430  QGroupBox* groupBox3 = new QGroupBox();
431  groupBox3->setTitle(TR("id_zoom"));
432  groupBox3->setLayout(groupBox3Layout);
433 
434  // Fonctions attachees a la souris
435  QLabel* p2DLabel = new QLabel(TR("id_2D"));
436  QLabel* p3DLabel = new QLabel(TR("id_3D"));
437  QLabel* pLeftLabel2D = new QLabel(TR("id_left_button"));
438  _pLeftButton2DComboBox = new QComboBox();
439  _pLeftButton2DComboBox->insertItem(0, TR("id_zoom"));
440  _pLeftButton2DComboBox->insertItem(1, TR("id_translate"));
441  QLabel* pMiddleLabel2D = new QLabel(TR("id_middle_button"));
442  _pMiddleButton2DComboBox = new QComboBox();
443  _pMiddleButton2DComboBox->insertItem(0, TR("id_zoom"));
444  _pMiddleButton2DComboBox->insertItem(1, TR("id_translate"));
445  QLabel* pRightLabel2D = new QLabel(TR("id_right_button"));
446  _pRightButton2DComboBox = new QComboBox();
447  _pRightButton2DComboBox->insertItem(0, TR("id_zoom"));
448  _pRightButton2DComboBox->insertItem(1, TR("id_translate"));
449  _pLeftButton3DComboBox = new QComboBox();
450  _pLeftButton3DComboBox->insertItem(0, TR("id_zoom"));
451  _pLeftButton3DComboBox->insertItem(1, TR("id_translate"));
452  _pLeftButton3DComboBox->insertItem(2, TR("id_roll"));
453  _pLeftButton3DComboBox->insertItem(3, TR("id_rotate"));
454  QLabel* pMiddleLabel3D = new QLabel(TR("id_middle_button"));
455  _pMiddleButton3DComboBox = new QComboBox();
456  _pMiddleButton3DComboBox->insertItem(0, TR("id_zoom"));
457  _pMiddleButton3DComboBox->insertItem(1, TR("id_translate"));
458  _pMiddleButton3DComboBox->insertItem(2, TR("id_roll"));
459  _pMiddleButton3DComboBox->insertItem(3, TR("id_rotate"));
460  _pRightButton3DComboBox = new QComboBox();
461  _pRightButton3DComboBox->insertItem(0, TR("id_zoom"));
462  _pRightButton3DComboBox->insertItem(1, TR("id_translate"));
463  _pRightButton3DComboBox->insertItem(2, TR("id_roll"));
464  _pRightButton3DComboBox->insertItem(3, TR("id_rotate"));
465 
466  QGridLayout* groupBoxLayout = new QGridLayout();
467  groupBoxLayout->addWidget(p2DLabel, 0, 1);
468  groupBoxLayout->addWidget(p3DLabel, 0, 2);
469  groupBoxLayout->addWidget(pLeftLabel2D, 1, 0);
470  groupBoxLayout->addWidget(_pLeftButton2DComboBox, 1, 1);
471  groupBoxLayout->addWidget(pMiddleLabel2D, 2, 0);
472  groupBoxLayout->addWidget(_pMiddleButton2DComboBox, 2, 1);
473  groupBoxLayout->addWidget(pRightLabel2D, 3, 0);
474  groupBoxLayout->addWidget(_pRightButton2DComboBox, 3, 1);
475  groupBoxLayout->addWidget(_pLeftButton3DComboBox, 1, 2);
476  groupBoxLayout->addWidget(pMiddleLabel3D, 2, 2);
477  groupBoxLayout->addWidget(_pMiddleButton3DComboBox, 2, 2);
478  groupBoxLayout->addWidget(_pRightButton3DComboBox, 3, 2);
479 
480  QGroupBox* groupBox = new QGroupBox();
481  groupBox->setTitle(TR("id_mouse_button_functions"));
482  groupBox->setLayout(groupBoxLayout);
483 
484  // Fonctions souris "shift"
485  QLabel* p2DLabelSht = new QLabel(TR("id_2D"));
486  QLabel* p3DLabelSht = new QLabel(TR("id_3D"));
487  QLabel* pLeftLabel2DSht = new QLabel(TR("id_left_button"));
488  _pLeftButton2DShtComboBox = new QComboBox();
489  _pLeftButton2DShtComboBox->insertItem(0, TR("id_zoom"));
490  _pLeftButton2DShtComboBox->insertItem(1, TR("id_translate"));
491  QLabel* pRightLabel2DSht = new QLabel(TR("id_right_button"));
492  _pRightButton2DShtComboBox = new QComboBox();
493  _pRightButton2DShtComboBox->insertItem(0, TR("id_zoom"));
494  _pRightButton2DShtComboBox->insertItem(1, TR("id_translate"));
495  _pLeftButton3DShtComboBox = new QComboBox();
496  _pLeftButton3DShtComboBox->insertItem(0, TR("id_zoom"));
497  _pLeftButton3DShtComboBox->insertItem(1, TR("id_translate"));
498  _pLeftButton3DShtComboBox->insertItem(2, TR("id_roll"));
499  _pLeftButton3DShtComboBox->insertItem(3, TR("id_rotate"));
500  _pRightButton3DShtComboBox = new QComboBox();
501  _pRightButton3DShtComboBox->insertItem(0, TR("id_zoom"));
502  _pRightButton3DShtComboBox->insertItem(1, TR("id_translate"));
503  _pRightButton3DShtComboBox->insertItem(2, TR("id_roll"));
504  _pRightButton3DShtComboBox->insertItem(3, TR("id_rotate"));
505 
506  QGridLayout* groupBox4Layout = new QGridLayout();
507  groupBox4Layout->addWidget(p2DLabelSht, 0, 1);
508  groupBox4Layout->addWidget(p3DLabelSht, 0, 2);
509  groupBox4Layout->addWidget(pLeftLabel2DSht, 1, 0);
510  groupBox4Layout->addWidget(_pLeftButton2DShtComboBox, 1, 1);
511  groupBox4Layout->addWidget(pRightLabel2DSht, 2, 0);
512  groupBox4Layout->addWidget(_pRightButton2DShtComboBox, 2, 1);
513  groupBox4Layout->addWidget(_pLeftButton3DShtComboBox, 1, 2);
514  groupBox4Layout->addWidget(_pRightButton3DShtComboBox, 2, 2);
515 
516  QGroupBox* groupBox4 = new QGroupBox();
517  groupBox4->setTitle(TR("id_mouse_button_functions_sht"));
518  groupBox4->setLayout(groupBox4Layout);
519 
520  // Camera pas a pas
521  QLabel* pStepLabelSht = new QLabel(TR("id_camera_step"));
522  QLabel* pTranslateLabelSht = new QLabel(TR("id_translate"));
523  QLabel* pRotateLabelSht = new QLabel(TR("id_rotate"));
524  QLabel* pZoomLabelSht = new QLabel(TR("id_zoom"));
528 
529  QGridLayout* groupBox5Layout = new QGridLayout();
530  groupBox5Layout->addWidget(pStepLabelSht, 1, 0);
531  groupBox5Layout->addWidget(pTranslateLabelSht, 0, 1);
532  groupBox5Layout->addWidget(pRotateLabelSht, 0, 2);
533  groupBox5Layout->addWidget(pZoomLabelSht, 0, 3);
534  groupBox5Layout->addWidget(_pCameraStepTranslateEdit, 1, 1);
535  groupBox5Layout->addWidget(_pCameraStepRotateEdit, 1, 2);
536  groupBox5Layout->addWidget(_pCameraStepZoomEdit, 1, 3);
537 
538  QGroupBox* groupBox5 = new QGroupBox();
539  groupBox5->setTitle(TR("id_camera_step_title"));
540  groupBox5->setLayout(groupBox5Layout);
541 
542  QVBoxLayout* pTabLayout = new QVBoxLayout();
543  pTabLayout->addWidget(groupBox1);
544  pTabLayout->addWidget(groupBox2);
545  pTabLayout->addWidget(groupBox2b);
546  pTabLayout->addWidget(groupBox3);
547  pTabLayout->addWidget(groupBox);
548  pTabLayout->addWidget(groupBox4);
549  pTabLayout->addWidget(groupBox5);
550  pTabLayout->addStretch(1);
551 
552  setLayout(pTabLayout);
553 }
554 
555 ColorsTab::ColorsTab(QWidget* parent) : QWidget(parent)
556 {
557  // RENDERER
558  QLabel* pBackgroundLabel = new QLabel(TR("id_background_color"));
560  _pBackgroundColorToolButton->setFixedSize(60, 30);
561  QLabel* pGridLabel = new QLabel(TR("id_grid_color"));
563  _pGridColorToolButton->setFixedSize(60, 30);
564  QLabel* pPoliceColorLabel = new QLabel(TR("id_police_color"));
566  _pPoliceColorToolButton->setFixedSize(60, 30);
567 
568  QGridLayout* groupBoxLayout = new QGridLayout();
569  groupBoxLayout->addWidget(pBackgroundLabel, 0, 0);
570  groupBoxLayout->addWidget(_pBackgroundColorToolButton, 0, 1);
571  groupBoxLayout->addWidget(pGridLabel, 1, 0);
572  groupBoxLayout->addWidget(_pGridColorToolButton, 1, 1);
573  groupBoxLayout->addWidget(pPoliceColorLabel, 2, 0);
574  groupBoxLayout->addWidget(_pPoliceColorToolButton, 2, 1);
575 
576  QGroupBox* groupBox = new QGroupBox();
577  groupBox->setTitle(TR("id_renderer"));
578  groupBox->setLayout(groupBoxLayout);
579 
580  // TOPOGRAPHIE
581  QLabel* pTerrainColorLabel = new QLabel(TR("id_terrain_color"));
583  _pTerrainColorToolButton->setFixedSize(60, 30);
584  QLabel* pPlanEauColorLabel = new QLabel(TR("id_planeau_color"));
586  _pPlanEauColorToolButton->setFixedSize(60, 30);
587  QLabel* pCrsEauColorLabel = new QLabel(TR("id_crseau_color"));
589  _pCrsEauColorToolButton->setFixedSize(60, 30);
590  QLabel* pCrbNivColorLabel = new QLabel(TR("id_crbniv_color"));
592  _pCrbNivColorToolButton->setFixedSize(60, 30);
593  QLabel* pVegColorLabel = new QLabel(TR("id_veg_color"));
595  _pVegColorToolButton->setFixedSize(60, 30);
596 
597  QGridLayout* groupBox1Layout = new QGridLayout();
598  groupBox1Layout->addWidget(pTerrainColorLabel, 0, 0);
599  groupBox1Layout->addWidget(_pTerrainColorToolButton, 0, 1);
600  groupBox1Layout->addWidget(pPlanEauColorLabel, 1, 0);
601  groupBox1Layout->addWidget(_pPlanEauColorToolButton, 1, 1);
602  groupBox1Layout->addWidget(pCrsEauColorLabel, 2, 0);
603  groupBox1Layout->addWidget(_pCrsEauColorToolButton, 2, 1);
604  groupBox1Layout->addWidget(pCrbNivColorLabel, 3, 0);
605  groupBox1Layout->addWidget(_pCrbNivColorToolButton, 3, 1);
606  groupBox1Layout->addWidget(pVegColorLabel, 4, 0);
607  groupBox1Layout->addWidget(_pVegColorToolButton, 4, 1);
608 
609  QGroupBox* groupBox1 = new QGroupBox();
610  groupBox1->setTitle(TR("id_topography"));
611  groupBox1->setLayout(groupBox1Layout);
612 
613  // MACHINES
614  QLabel* pCylindreColorLabel = new QLabel(TR("id_cylindre_color"));
616  _pCylindreColorToolButton->setFixedSize(60, 30);
617  QLabel* pBoxColorLabel = new QLabel(TR("id_box_color"));
619  _pBoxColorToolButton->setFixedSize(60, 30);
620  QLabel* pSubRectColorLabel = new QLabel(TR("id_bouche_color"));
622  _pSubRectColorToolButton->setFixedSize(60, 30);
623 
624  QGridLayout* groupBox2Layout = new QGridLayout();
625  groupBox2Layout->addWidget(pCylindreColorLabel, 0, 0);
626  groupBox2Layout->addWidget(_pCylindreColorToolButton, 0, 1);
627  groupBox2Layout->addWidget(pBoxColorLabel, 1, 0);
628  groupBox2Layout->addWidget(_pBoxColorToolButton, 1, 1);
629  groupBox2Layout->addWidget(pSubRectColorLabel, 2, 0);
630  groupBox2Layout->addWidget(_pSubRectColorToolButton, 2, 1);
631 
632  QGroupBox* groupBox2 = new QGroupBox();
633  groupBox2->setTitle(TR("id_machine"));
634  groupBox2->setLayout(groupBox2Layout);
635 
636  // BATIMENTS
637  QLabel* pMurColorLabel = new QLabel(TR("id_mur_color"));
639  _pMurColorToolButton->setFixedSize(60, 30);
640  QLabel* pDalleColorLabel = new QLabel(TR("id_dalle_color"));
642  _pDalleColorToolButton->setFixedSize(60, 30);
643  QLabel* pEcranColorLabel = new QLabel(TR("id_ecran_color"));
645  _pEcranColorToolButton->setFixedSize(60, 30);
646 
647  QGridLayout* groupBox3Layout = new QGridLayout();
648  groupBox3Layout->addWidget(pMurColorLabel, 0, 0);
649  groupBox3Layout->addWidget(_pMurColorToolButton, 0, 1);
650  groupBox3Layout->addWidget(pDalleColorLabel, 1, 0);
651  groupBox3Layout->addWidget(_pDalleColorToolButton, 1, 1);
652  groupBox3Layout->addWidget(pEcranColorLabel, 2, 0);
653  groupBox3Layout->addWidget(_pEcranColorToolButton, 2, 1);
654 
655  QGroupBox* groupBox3 = new QGroupBox();
656  groupBox3->setTitle(TR("id_batiment"));
657  groupBox3->setLayout(groupBox3Layout);
658 
659  // INFRASTRUCTURE
660  QLabel* pRouteColorLabel = new QLabel(TR("id_route_color"));
662  _pRouteColorToolButton->setFixedSize(60, 30);
663  QLabel* pResTranspColorLabel = new QLabel(TR("id_restransp_color"));
665  _pResTranspColorToolButton->setFixedSize(60, 30);
666 
667  QGridLayout* groupBox5Layout = new QGridLayout();
668  groupBox5Layout->addWidget(pRouteColorLabel, 0, 0);
669  groupBox5Layout->addWidget(_pRouteColorToolButton, 0, 1);
670  groupBox5Layout->addWidget(pResTranspColorLabel, 1, 0);
671  groupBox5Layout->addWidget(_pResTranspColorToolButton, 1, 1);
672 
673  QGroupBox* groupBox5 = new QGroupBox();
674  groupBox5->setTitle(TR("id_infrastructure"));
675  groupBox5->setLayout(groupBox5Layout);
676 
677  // CALCUL
678  QLabel* pPointControlColorLabel = new QLabel(TR("id_pointcontrol_color"));
680  _pPointControlColorToolButton->setFixedSize(60, 30);
681 
682  QGridLayout* groupBox7Layout = new QGridLayout();
683  groupBox7Layout->addWidget(pPointControlColorLabel, 0, 0);
684  groupBox7Layout->addWidget(_pPointControlColorToolButton, 0, 1);
685 
686  QGroupBox* groupBox7 = new QGroupBox();
687  groupBox7->setTitle(TR("id_group_calcul_name"));
688  groupBox7->setLayout(groupBox7Layout);
689 
690  // SOURCE
691  QLabel* pSourcePonctColorLabel = new QLabel(TR("id_sourceponct_color"));
693  _pSourcePonctColorToolButton->setFixedSize(60, 30);
694 
695  QGridLayout* groupBox8Layout = new QGridLayout();
696  groupBox8Layout->addWidget(pSourcePonctColorLabel, 0, 0);
697  groupBox8Layout->addWidget(_pSourcePonctColorToolButton, 0, 1);
698 
699  QGroupBox* groupBox8 = new QGroupBox();
700  groupBox8->setTitle(TR("id_group_source_name"));
701  groupBox8->setLayout(groupBox8Layout);
702 
703  // ALTIMETRIE
705  _pAltiColorMinToolButton->setFixedSize(60, 30);
706  QFrame* pLine = new QFrame();
707  pLine->setProperty("frameShape", (int)QFrame::HLine);
708  pLine->setFrameShadow(QFrame::Sunken);
709  pLine->setFrameShape(QFrame::HLine);
711  _pAltiColorMaxToolButton->setFixedSize(60, 30);
712 
713  QGridLayout* groupBox6Layout = new QGridLayout();
714  groupBox6Layout->addWidget(_pAltiColorMinToolButton, 0, 0);
715  groupBox6Layout->addWidget(pLine, 0, 1, 1, 2);
716  groupBox6Layout->addWidget(_pAltiColorMaxToolButton, 0, 3);
717 
718  QGroupBox* groupBox6 = new QGroupBox();
719  groupBox6->setTitle(TR("id_alti_color_map"));
720  groupBox6->setLayout(groupBox6Layout);
721 
722  // RECEPTEURS SURFACIQUES
723  QLabel* pMailOpacityLabel = new QLabel(TR("id_maillage_opacity"));
724  _pMailOpacitySlider = new QSlider(Qt::Horizontal);
725  _pMailOpacitySlider->setMinimum(0);
726  _pMailOpacitySlider->setMaximum(100);
727  _pMailOpacitySlider->setPageStep(1);
728  _pMailOpacitySlider->setValue(50);
729  _pMailAntiAliasingCheckBox = new QCheckBox(TR("id_antialiasing"));
730  _pMailAntiAliasingCheckBox->setChecked(true);
731 
732  QGridLayout* groupBox4Layout = new QGridLayout();
733  groupBox4Layout->addWidget(pMailOpacityLabel, 0, 0);
734  groupBox4Layout->addWidget(_pMailOpacitySlider, 1, 0);
735  groupBox4Layout->addWidget(_pMailAntiAliasingCheckBox, 2, 0);
736 
737  QGroupBox* groupBox4 = new QGroupBox();
738  groupBox4->setTitle(TR("id_maillage"));
739  groupBox4->setLayout(groupBox4Layout);
740 
741  // OPACITE
742  QLabel* pWinOpacityLabel = new QLabel(TR("id_win_opacity"));
743  _pWinOpacitySlider = new QSlider(Qt::Horizontal);
744  _pWinOpacitySlider->setMinimum(0);
745  _pWinOpacitySlider->setMaximum(100);
746  _pWinOpacitySlider->setPageStep(1);
747  _pWinOpacitySlider->setValue(50);
748  QLabel* pAltOpacityLabel = new QLabel(TR("id_atm_opacity"));
749  _pAltOpacitySlider = new QSlider(Qt::Horizontal);
750  _pAltOpacitySlider->setMinimum(0);
751  _pAltOpacitySlider->setMaximum(100);
752  _pAltOpacitySlider->setPageStep(1);
753  _pAltOpacitySlider->setValue(50);
754 
755  QGridLayout* groupBox9Layout = new QGridLayout();
756  groupBox9Layout->addWidget(pWinOpacityLabel, 0, 0);
757  groupBox9Layout->addWidget(_pWinOpacitySlider, 1, 0);
758  groupBox9Layout->addWidget(pAltOpacityLabel, 2, 0);
759  groupBox9Layout->addWidget(_pAltOpacitySlider, 3, 0);
760 
761  QGroupBox* groupBox9 = new QGroupBox();
762  groupBox9->setTitle(TR("id_opacity"));
763  groupBox9->setLayout(groupBox9Layout);
764 
765  QGridLayout* pTabLayout = new QGridLayout();
766  pTabLayout->addWidget(groupBox, 0, 0);
767  pTabLayout->addWidget(groupBox1, 1, 0, 2, 1);
768  pTabLayout->addWidget(groupBox2, 0, 1);
769  pTabLayout->addWidget(groupBox3, 1, 1);
770  pTabLayout->addWidget(groupBox5, 2, 1);
771  pTabLayout->addWidget(groupBox7, 3, 0);
772  pTabLayout->addWidget(groupBox8, 3, 1);
773  pTabLayout->addWidget(groupBox6, 4, 0, 1, 2);
774  pTabLayout->addWidget(groupBox4, 5, 0, 1, 1);
775  pTabLayout->addWidget(groupBox9, 5, 1, 1, 1);
776 
777  setLayout(pTabLayout);
778 }
779 
780 AcoustiqueTab::AcoustiqueTab(QWidget* parent) : QWidget(parent)
781 {
786 
787  _pMaillage = new TYMaillage();
788 
789  // Sol
790  QLabel* pLabelResistivite = new QLabel(TR("id_resistivite_label"));
792  QLabel* pUnitResis = new QLabel(TR("id_unite_resistivite"));
793  QLabel* pLabelEpaisseur = new QLabel(TR("id_epaisseur_label"));
795  QLabel* pUnitEpais = new QLabel(TR("id_unite_epaisseur"));
796  QLabel* pLabelEcartType = new QLabel(TR("id_ecarttype_label"));
798  QLabel* pUnitET = new QLabel(TR("id_unite_ecarttype"));
799  QLabel* pLabelLongueur = new QLabel(TR("id_longueur_label"));
801  QLabel* pUnitLong = new QLabel(TR("id_unite_longueur"));
802  QGridLayout* groupBoxResistEpaiLayout = new QGridLayout();
803  groupBoxResistEpaiLayout->addWidget(pLabelResistivite, 0, 0);
804  groupBoxResistEpaiLayout->addWidget(_pLineEditResistivite, 0, 1);
805  groupBoxResistEpaiLayout->addWidget(pUnitResis, 0, 2);
806  groupBoxResistEpaiLayout->addWidget(pLabelEpaisseur, 1, 0);
807  groupBoxResistEpaiLayout->addWidget(_pLineEditEpaisseur, 1, 1);
808  groupBoxResistEpaiLayout->addWidget(pUnitEpais, 1, 2);
809  groupBoxResistEpaiLayout->addWidget(pLabelEcartType, 2, 0);
810  groupBoxResistEpaiLayout->addWidget(_pLineEditEcartType, 2, 1);
811  groupBoxResistEpaiLayout->addWidget(pUnitET, 2, 2);
812  groupBoxResistEpaiLayout->addWidget(pLabelLongueur, 3, 0);
813  groupBoxResistEpaiLayout->addWidget(_pLineEditLongueur, 3, 1);
814  groupBoxResistEpaiLayout->addWidget(pUnitLong, 3, 2);
815 
816  QPushButton* pPushButtonResistivite = new QPushButton(TR("id_edit_resistivite"));
817  connect(pPushButtonResistivite, &QPushButton::clicked, this, &AcoustiqueTab::editResistivite);
818 
819  QGridLayout* groupBox1Layout = new QGridLayout();
820  groupBox1Layout->addLayout(groupBoxResistEpaiLayout, 0, 0);
821  groupBox1Layout->addWidget(pPushButtonResistivite, 1, 0);
822 
823  QGroupBox* groupBox1 = new QGroupBox();
824  groupBox1->setTitle(TR("id_default_sol"));
825  groupBox1->setLayout(groupBox1Layout);
826 
827  // Materiau de construction
828  QLabel* pLabelMasseVol = new QLabel(TR("id_masse_vol_label"));
830  QLabel* pUnitMasseVol = new QLabel(TR("id_unite_masse_vol"));
831  QGridLayout* groupBoxMasseLayout = new QGridLayout();
832  groupBoxMasseLayout->addWidget(pLabelMasseVol, 0, 0);
833  groupBoxMasseLayout->addWidget(_pLineEditMasseVol, 0, 1);
834  groupBoxMasseLayout->addWidget(pUnitMasseVol, 0, 2);
835 
836  QPushButton* pPushButtonSpectreAbso = new QPushButton(TR("id_edit_spectre_abso"));
837  QPushButton* pPushButtonSpectreAtt = new QPushButton(TR("id_edit_spectre_att"));
838  connect(pPushButtonSpectreAbso, &QPushButton::clicked, this, &AcoustiqueTab::editSpectreAbso);
839  connect(pPushButtonSpectreAtt, &QPushButton::clicked, this, &AcoustiqueTab::editSpectreAtt);
840  QGridLayout* groupBoxSpectreLayout = new QGridLayout();
841  groupBoxSpectreLayout->addWidget(pPushButtonSpectreAbso, 0, 0);
842  groupBoxSpectreLayout->addWidget(pPushButtonSpectreAtt, 0, 1);
843 
844  QGridLayout* groupBox3Layout = new QGridLayout();
845  groupBox3Layout->addLayout(groupBoxMasseLayout, 0, 0);
846  groupBox3Layout->addLayout(groupBoxSpectreLayout, 1, 0);
847 
848  QGroupBox* groupBox3 = new QGroupBox();
849  groupBox3->setTitle(TR("id_default_materiau"));
850  groupBox3->setLayout(groupBox3Layout);
851 
852  // Maillage
853  QPushButton* pPushButtonMaillage = new QPushButton(TR("id_edit_maillage"));
854  QObject::connect(pPushButtonMaillage, &QPushButton::clicked, this, &AcoustiqueTab::editMaillage);
855 
856  QGridLayout* groupBox4Layout = new QGridLayout();
857  groupBox4Layout->addWidget(pPushButtonMaillage, 0, 0);
858 
859  QGroupBox* groupBox4 = new QGroupBox();
860  groupBox4->setTitle(TR("id_default_maillage"));
861  groupBox4->setLayout(groupBox4Layout);
862 
863  QVBoxLayout* pTabLayout = new QVBoxLayout();
864  pTabLayout->addWidget(groupBox1);
865  pTabLayout->addWidget(groupBox3);
866  pTabLayout->addWidget(groupBox4);
867  pTabLayout->addStretch(1);
868 
869  setLayout(pTabLayout);
870 }
871 
873 {
874  delete _pSpectreAttMatConst;
875  delete _pSpectreAbsoMatConst;
876  delete _pMaillage;
877 }
878 
880 {
881  TYSolResistanceDialog* pDialog =
882  new TYSolResistanceDialog(this, _pLineEditResistivite->text().toDouble());
883 
884  int ret = pDialog->exec();
885 
886  if (ret == QDialog::Accepted)
887  {
888  _pLineEditResistivite->setText(QString().setNum(pDialog->getResistivite()));
889  }
890 }
891 
893 {
894  _pSpectreAttMatConst->edit(this);
895 }
896 
898 {
899  _pSpectreAbsoMatConst->edit(this);
900 }
901 
903 {
904  _pMaillage->edit(this);
905 }
906 
908 {
909  // Directory specifique aux preferences traitees ici
910  QString oldDir = TYPreferenceManager::getCurrentDirectory();
911  TYPreferenceManager::setCurrentDirectory(TYDIRPREFERENCEMANAGER);
912 
913  // General
914  if (TYPreferenceManager::exists("HistoSize"))
915  {
916  ((GeneralTab*)tabWidget->widget(4))
917  ->_pHistoSizeEdit->setText(QString().setNum(TYPreferenceManager::getInt("HistoSize")));
918  }
919  else
920  {
921  ((GeneralTab*)tabWidget->widget(4))->_pHistoSizeEdit->setText(QString().setNum(10));
922  }
923 
924  if (TYPreferenceManager::exists("BiblioPath"))
925  {
926  ((GeneralTab*)tabWidget->widget(4))
927  ->_pLibraryPathEdit->setText(TYPreferenceManager::getString("BiblioPath"));
928  }
929  else
930  {
931  // Recuperation du dossier par defaut contenant la bibliotheque
932  QString dirPath = QDir::toNativeSeparators(getTYApp()->tympanUserDir() + "/library/");
933  ((GeneralTab*)tabWidget->widget(4))->_pLibraryPathEdit->setText(dirPath);
934  }
935 
936  if (TYPreferenceManager::exists("WorkDirPath"))
937  {
938  ((GeneralTab*)tabWidget->widget(4))
939  ->_pWorkDirPathEdit->setText(TYPreferenceManager::getString("WorkDirPath"));
940  }
941  else
942  {
943  // Recuperation du dossier par defaut contenant la bibliotheque
944  QString dirPath = QDir::toNativeSeparators(getTYApp()->getSettingsDir() + "/echange/");
945  ((GeneralTab*)tabWidget->widget(4))->_pWorkDirPathEdit->setText(dirPath);
946  }
947 
948  // Geometrie
949  if (TYPreferenceManager::exists("GridDimXSite"))
950  {
951  ((GeometrieTab*)tabWidget->widget(0))
952  ->_pGridDimXSiteEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimXSite")));
953  }
954  if (TYPreferenceManager::exists("GridDimYSite"))
955  {
956  ((GeometrieTab*)tabWidget->widget(0))
957  ->_pGridDimYSiteEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimYSite")));
958  }
959  if (TYPreferenceManager::exists("GridStepSite"))
960  {
961  ((GeometrieTab*)tabWidget->widget(0))
962  ->_pGridStepSiteEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridStepSite")));
963  }
964  if (TYPreferenceManager::exists("GridMagnStepSite"))
965  {
966  ((GeometrieTab*)tabWidget->widget(0))
967  ->_pGridMagnStepSiteEdit->setText(
968  QString().setNum(TYPreferenceManager::getFloat("GridMagnStepSite")));
969  }
970 
971  if (TYPreferenceManager::exists("GridDimXBatiment"))
972  {
973  ((GeometrieTab*)tabWidget->widget(0))
974  ->_pGridDimXBatEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimXBatiment")));
975  }
976  if (TYPreferenceManager::exists("GridDimYBatiment"))
977  {
978  ((GeometrieTab*)tabWidget->widget(0))
979  ->_pGridDimYBatEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimYBatiment")));
980  }
981  if (TYPreferenceManager::exists("GridStepBatiment"))
982  {
983  ((GeometrieTab*)tabWidget->widget(0))
984  ->_pGridStepBatEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridStepBatiment")));
985  }
986  if (TYPreferenceManager::exists("GridMagnStepBatiment"))
987  {
988  ((GeometrieTab*)tabWidget->widget(0))
989  ->_pGridMagnStepBatEdit->setText(
990  QString().setNum(TYPreferenceManager::getFloat("GridMagnStepBatiment")));
991  }
992 
993  if (TYPreferenceManager::exists("GridDimXMachine"))
994  {
995  ((GeometrieTab*)tabWidget->widget(0))
996  ->_pGridDimXMacEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimXMachine")));
997  }
998  if (TYPreferenceManager::exists("GridDimYMachine"))
999  {
1000  ((GeometrieTab*)tabWidget->widget(0))
1001  ->_pGridDimYMacEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimYMachine")));
1002  }
1003  if (TYPreferenceManager::exists("GridStepMachine"))
1004  {
1005  ((GeometrieTab*)tabWidget->widget(0))
1006  ->_pGridStepMacEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridStepMachine")));
1007  }
1008  if (TYPreferenceManager::exists("GridMagnStepMachine"))
1009  {
1010  ((GeometrieTab*)tabWidget->widget(0))
1011  ->_pGridMagnStepMacEdit->setText(
1012  QString().setNum(TYPreferenceManager::getFloat("GridMagnStepMachine")));
1013  }
1014 
1015  if (TYPreferenceManager::exists("GridDimXFace"))
1016  {
1017  ((GeometrieTab*)tabWidget->widget(0))
1018  ->_pGridDimXFaceEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimXFace")));
1019  }
1020  if (TYPreferenceManager::exists("GridDimYFace"))
1021  {
1022  ((GeometrieTab*)tabWidget->widget(0))
1023  ->_pGridDimYFaceEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridDimYFace")));
1024  }
1025  if (TYPreferenceManager::exists("GridStepFace"))
1026  {
1027  ((GeometrieTab*)tabWidget->widget(0))
1028  ->_pGridStepFaceEdit->setText(QString().setNum(TYPreferenceManager::getFloat("GridStepFace")));
1029  }
1030  if (TYPreferenceManager::exists("GridMagnStepFace"))
1031  {
1032  ((GeometrieTab*)tabWidget->widget(0))
1033  ->_pGridMagnStepFaceEdit->setText(
1034  QString().setNum(TYPreferenceManager::getFloat("GridMagnStepFace")));
1035  }
1036 
1037  if (TYPreferenceManager::exists("GridDimXMaillage"))
1038  {
1039  ((GeometrieTab*)tabWidget->widget(0))
1040  ->_pGridDimXMailEdit->setText(
1041  QString().setNum(TYPreferenceManager::getFloat("GridDimXMaillage")));
1042  }
1043  if (TYPreferenceManager::exists("GridDimYMaillage"))
1044  {
1045  ((GeometrieTab*)tabWidget->widget(0))
1046  ->_pGridDimYMailEdit->setText(
1047  QString().setNum(TYPreferenceManager::getFloat("GridDimYMaillage")));
1048  }
1049  if (TYPreferenceManager::exists("GridStepMaillage"))
1050  {
1051  ((GeometrieTab*)tabWidget->widget(0))
1052  ->_pGridStepMailEdit->setText(
1053  QString().setNum(TYPreferenceManager::getFloat("GridStepMaillage")));
1054  }
1055  if (TYPreferenceManager::exists("GridMagnStepMaillage"))
1056  {
1057  ((GeometrieTab*)tabWidget->widget(0))
1058  ->_pGridMagnStepMailEdit->setText(
1059  QString().setNum(TYPreferenceManager::getFloat("GridMagnStepMaillage")));
1060  }
1061 
1062  if (TYPreferenceManager::exists("Angle"))
1063  {
1064  switch (ROUND(TYPreferenceManager::getFloat("Angle")))
1065  {
1066  default:
1067  case 15:
1068  {
1069  ((GeometrieTab*)tabWidget->widget(0))->_p15RadioButton->setChecked(true);
1070  }
1071  break;
1072  case 30:
1073  {
1074  ((GeometrieTab*)tabWidget->widget(0))->_p30RadioButton->setChecked(true);
1075  }
1076  break;
1077  case 45:
1078  {
1079  ((GeometrieTab*)tabWidget->widget(0))->_p45RadioButton->setChecked(true);
1080  }
1081  break;
1082  case 90:
1083  {
1084  ((GeometrieTab*)tabWidget->widget(0))->_p90RadioButton->setChecked(true);
1085  }
1086  break;
1087  }
1088  }
1089 
1090  // Taille des sources
1091  if (TYPreferenceManager::exists("UserSrcPonctGraphicSize"))
1092  {
1093  ((GeometrieTab*)tabWidget->widget(0))
1094  ->_pSourceSizeEdit->setText(
1095  QString().setNum(TYPreferenceManager::getFloat("UserSrcPonctGraphicSize")));
1096  }
1097  // Taille des points de controles
1098  if (TYPreferenceManager::exists("PointControlGraphicSize"))
1099  {
1100  ((GeometrieTab*)tabWidget->widget(0))
1101  ->_pPointControlSizeEdit->setText(
1102  QString().setNum(TYPreferenceManager::getFloat("PointControlGraphicSize")));
1103  }
1104 
1105  if (TYPreferenceManager::exists("ResolutionCircle"))
1106  {
1107  ((GeometrieTab*)tabWidget->widget(0))
1108  ->_pResoCylEdit->setText(QString().setNum(TYPreferenceManager::getFloat("ResolutionCircle")));
1109  }
1110  if (TYPreferenceManager::exists("DistMinPtCrbNiv"))
1111  {
1112  ((GeometrieTab*)tabWidget->widget(0))
1113  ->_pDistMinPtCrbNivEdit->setText(
1114  QString().setNum(TYPreferenceManager::getFloat("DistMinPtCrbNiv")));
1115  }
1116  if (TYPreferenceManager::exists("DelaunayTolerance"))
1117  {
1118  ((GeometrieTab*)tabWidget->widget(0))
1119  ->_pDelaunayToleranceEdit->setText(
1120  QString().setNum(TYPreferenceManager::getFloat("DelaunayTolerance")));
1121  }
1122  if (TYPreferenceManager::exists("DefaultDimX"))
1123  {
1124  ((GeometrieTab*)tabWidget->widget(0))
1125  ->_pDefaultDimXEdit->setText(QString().setNum(TYPreferenceManager::getFloat("DefaultDimX")));
1126  }
1127  if (TYPreferenceManager::exists("DefaultDimY"))
1128  {
1129  ((GeometrieTab*)tabWidget->widget(0))
1130  ->_pDefaultDimYEdit->setText(QString().setNum(TYPreferenceManager::getFloat("DefaultDimY")));
1131  }
1132  if (TYPreferenceManager::exists("DefaultHMur"))
1133  {
1134  ((GeometrieTab*)tabWidget->widget(0))
1135  ->_pDefaultHMurEdit->setText(QString().setNum(TYPreferenceManager::getFloat("DefaultHMur")));
1136  }
1137  if (TYPreferenceManager::exists("DefaultWidthEcran"))
1138  {
1139  ((GeometrieTab*)tabWidget->widget(0))
1140  ->_pDefaultWEcranEdit->setText(
1141  QString().setNum(TYPreferenceManager::getFloat("DefaultWidthEcran")));
1142  }
1143 
1144  // 3D
1145  if (TYPreferenceManager::exists("MouseLeftButtonFunct2D"))
1146  {
1147  ((pref3DTab*)tabWidget->widget(1))
1148  ->_pLeftButton2DComboBox->setCurrentIndex(TYPreferenceManager::getInt("MouseLeftButtonFunct2D"));
1149  }
1150  if (TYPreferenceManager::exists("MouseRightButtonFunct2D"))
1151  {
1152  ((pref3DTab*)tabWidget->widget(1))
1153  ->_pRightButton2DComboBox->setCurrentIndex(
1154  TYPreferenceManager::getInt("MouseRightButtonFunct2D"));
1155  }
1156  if (TYPreferenceManager::exists("MouseMiddleButtonFunct2D"))
1157  {
1158  ((pref3DTab*)tabWidget->widget(1))
1159  ->_pMiddleButton2DComboBox->setCurrentIndex(
1160  TYPreferenceManager::getInt("MouseMiddleButtonFunct2D"));
1161  }
1162  if (TYPreferenceManager::exists("MouseLeftButtonFunct3D"))
1163  {
1164  ((pref3DTab*)tabWidget->widget(1))
1165  ->_pLeftButton3DComboBox->setCurrentIndex(TYPreferenceManager::getInt("MouseLeftButtonFunct3D"));
1166  }
1167  if (TYPreferenceManager::exists("MouseRightButtonFunct3D"))
1168  {
1169  ((pref3DTab*)tabWidget->widget(1))
1170  ->_pRightButton3DComboBox->setCurrentIndex(
1171  TYPreferenceManager::getInt("MouseRightButtonFunct3D"));
1172  }
1173  if (TYPreferenceManager::exists("MouseMiddleButtonFunct3D"))
1174  {
1175  ((pref3DTab*)tabWidget->widget(1))
1176  ->_pMiddleButton3DComboBox->setCurrentIndex(
1177  TYPreferenceManager::getInt("MouseMiddleButtonFunct3D"));
1178  }
1179  if (TYPreferenceManager::exists("MouseShiftLeftButtonFunct2D"))
1180  {
1181  ((pref3DTab*)tabWidget->widget(1))
1182  ->_pLeftButton2DShtComboBox->setCurrentIndex(
1183  TYPreferenceManager::getInt("MouseShiftLeftButtonFunct2D"));
1184  }
1185  if (TYPreferenceManager::exists("MouseShiftRightButtonFunct2D"))
1186  {
1187  ((pref3DTab*)tabWidget->widget(1))
1188  ->_pRightButton2DShtComboBox->setCurrentIndex(
1189  TYPreferenceManager::getInt("MouseShiftRightButtonFunct2D"));
1190  }
1191  if (TYPreferenceManager::exists("MouseShiftLeftButtonFunct3D"))
1192  {
1193  ((pref3DTab*)tabWidget->widget(1))
1194  ->_pLeftButton3DShtComboBox->setCurrentIndex(
1195  TYPreferenceManager::getInt("MouseShiftLeftButtonFunct3D"));
1196  }
1197  if (TYPreferenceManager::exists("MouseShiftRightButtonFunct3D"))
1198  {
1199  ((pref3DTab*)tabWidget->widget(1))
1200  ->_pRightButton3DShtComboBox->setCurrentIndex(
1201  TYPreferenceManager::getInt("MouseShiftRightButtonFunct3D"));
1202  }
1203  if (TYPreferenceManager::exists("ZoomStep"))
1204  {
1205  ((pref3DTab*)tabWidget->widget(1))
1206  ->_pZoomStepEdit->setText(QString().setNum(TYPreferenceManager::getFloat("ZoomStep")));
1207  }
1208  if (TYPreferenceManager::exists("PrecisPick"))
1209  {
1210  ((pref3DTab*)tabWidget->widget(1))
1211  ->_pPrecisPickEdit->setText(QString().setNum(TYPreferenceManager::getFloat("PrecisPick")));
1212  }
1213  if (TYPreferenceManager::exists("Luminosite"))
1214  {
1215  ((pref3DTab*)tabWidget->widget(1))
1216  ->_pLightSlider->setValue(ROUND(TYPreferenceManager::getFloat("Luminosite") * 100.0f));
1217  }
1218  if (TYPreferenceManager::exists("ViewOnlyHighlight"))
1219  {
1220  ((pref3DTab*)tabWidget->widget(1))
1221  ->_pViewOnlyHighlightCheckBox->setChecked(TYPreferenceManager::getBool("ViewOnlyHighlight"));
1222  }
1223  if (TYPreferenceManager::exists("CenterOnLocate"))
1224  {
1225  ((pref3DTab*)tabWidget->widget(1))
1226  ->_pCenterOnLocateCheckBox->setChecked(TYPreferenceManager::getBool("CenterOnLocate"));
1227  }
1228  if (TYPreferenceManager::exists("WireframeOnMovingCamera"))
1229  {
1230  ((pref3DTab*)tabWidget->widget(1))
1231  ->_pWireframeOnMovingCameraCheckBox->setChecked(
1232  TYPreferenceManager::getBool("WireframeOnMovingCamera"));
1233  }
1234  if (TYPreferenceManager::exists("CameraTranslateStep"))
1235  {
1236  ((pref3DTab*)tabWidget->widget(1))
1237  ->_pCameraStepTranslateEdit->setText(
1238  QString().setNum(TYPreferenceManager::getFloat("CameraTranslateStep")));
1239  }
1240  if (TYPreferenceManager::exists("CameraRotateStep"))
1241  {
1242  ((pref3DTab*)tabWidget->widget(1))
1243  ->_pCameraStepRotateEdit->setText(
1244  QString().setNum(TYPreferenceManager::getFloat("CameraRotateStep")));
1245  }
1246  if (TYPreferenceManager::exists("CameraZoomStep"))
1247  {
1248  ((pref3DTab*)tabWidget->widget(1))
1249  ->_pCameraStepZoomEdit->setText(
1250  QString().setNum(TYPreferenceManager::getFloat("CameraZoomStep")));
1251  }
1252 
1253  // Colors
1254  float r = NAN, g = NAN, b = NAN;
1255  if (TYPreferenceManager::exists("BackgroundColorR"))
1256  {
1257  TYPreferenceManager::getColor("BackgroundColor", r, g, b);
1258  ((ColorsTab*)tabWidget->widget(2))
1259  ->_pBackgroundColorToolButton->setColor(
1260  QColor(int(r), int(g), int(b))); // TYPreferenceManager::getInt("BackgroundColor_r"),
1261  // TYPreferenceManager::getInt("BackgroundColor_g"),
1262  // TYPreferenceManager::getInt("BackgroundColor_b")));
1263  }
1264  if (TYPreferenceManager::exists("AltiGraphicColorMinR"))
1265  {
1266  TYPreferenceManager::getColor("AltiGraphicColorMin", r, g, b);
1267  QColor color;
1268  color.setHsv(int(r), int(g), int(b));
1269  ((ColorsTab*)tabWidget->widget(2))->_pAltiColorMinToolButton->setColor(color);
1270  }
1271  if (TYPreferenceManager::exists("AltiGraphicColorMaxR"))
1272  {
1273  TYPreferenceManager::getColor("AltiGraphicColorMax", r, g, b);
1274  QColor color;
1275  color.setHsv(int(r), int(g), int(b));
1276  ((ColorsTab*)tabWidget->widget(2))->_pAltiColorMaxToolButton->setColor(color);
1277  }
1278  if (TYPreferenceManager::exists("TYReseauTransportGraphicColorR"))
1279  {
1280  TYPreferenceManager::getColor("TYReseauTransportGraphicColor", r, g, b);
1281  ((ColorsTab*)tabWidget->widget(2))
1282  ->_pResTranspColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1283  }
1284 #if WITH_NMPB
1285  if (TYPreferenceManager::exists("TYRouteGraphicColorR"))
1286  {
1287  TYPreferenceManager::getColor("TYRouteGraphicColor", r, g, b);
1288  ((ColorsTab*)tabWidget->widget(2))->_pRouteColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1289  }
1290 #endif
1291  if (TYPreferenceManager::exists("TYMurGraphicColorR"))
1292  {
1293  TYPreferenceManager::getColor("TYMurGraphicColor", r, g, b);
1294  ((ColorsTab*)tabWidget->widget(2))->_pMurColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1295  }
1296  if (TYPreferenceManager::exists("TYEcranGraphicColorR"))
1297  {
1298  TYPreferenceManager::getColor("TYEcranGraphicColor", r, g, b);
1299  ((ColorsTab*)tabWidget->widget(2))->_pEcranColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1300  }
1301  if (TYPreferenceManager::exists("TYDalleGraphicColorR"))
1302  {
1303  TYPreferenceManager::getColor("TYDalleGraphicColor", r, g, b);
1304  ((ColorsTab*)tabWidget->widget(2))->_pDalleColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1305  }
1306  if (TYPreferenceManager::exists("SubRectColorR"))
1307  {
1308  TYPreferenceManager::getColor("SubRectColor", r, g, b);
1309  ((ColorsTab*)tabWidget->widget(2))
1310  ->_pSubRectColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1311  }
1312  if (TYPreferenceManager::exists("TYAcousticCylinderGraphicColorR"))
1313  {
1314  TYPreferenceManager::getColor("TYAcousticCylinderGraphicColor", r, g, b);
1315  ((ColorsTab*)tabWidget->widget(2))
1316  ->_pCylindreColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1317  }
1318  if (TYPreferenceManager::exists("TYAcousticBoxGraphicColorR"))
1319  {
1320  TYPreferenceManager::getColor("TYAcousticBoxGraphicColor", r, g, b);
1321  ((ColorsTab*)tabWidget->widget(2))->_pBoxColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1322  }
1323  if (TYPreferenceManager::exists("TYVegetationGraphicColorR"))
1324  {
1325  TYPreferenceManager::getColor("TYVegetationGraphicColor", r, g, b);
1326  ((ColorsTab*)tabWidget->widget(2))->_pVegColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1327  }
1328  if (TYPreferenceManager::exists("TYCourbeNiveauGraphicColorR"))
1329  {
1330  TYPreferenceManager::getColor("TYCourbeNiveauGraphicColor", r, g, b);
1331  ((ColorsTab*)tabWidget->widget(2))->_pCrbNivColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1332  }
1333  if (TYPreferenceManager::exists("TYCoursEauGraphicColorR"))
1334  {
1335  TYPreferenceManager::getColor("TYCoursEauGraphicColor", r, g, b);
1336  ((ColorsTab*)tabWidget->widget(2))->_pCrsEauColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1337  }
1338  if (TYPreferenceManager::exists("TYPlanEauGraphicColorR"))
1339  {
1340  TYPreferenceManager::getColor("TYPlanEauGraphicColor", r, g, b);
1341  ((ColorsTab*)tabWidget->widget(2))
1342  ->_pPlanEauColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1343  }
1344  if (TYPreferenceManager::exists("TYTerrainGraphicColorR"))
1345  {
1346  TYPreferenceManager::getColor("TYTerrainGraphicColor", r, g, b);
1347  ((ColorsTab*)tabWidget->widget(2))
1348  ->_pTerrainColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1349  }
1350  if (TYPreferenceManager::exists("FontColorR"))
1351  {
1352  TYPreferenceManager::getColor("FontColor", r, g, b);
1353  ((ColorsTab*)tabWidget->widget(2))->_pPoliceColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1354  }
1355  if (TYPreferenceManager::exists("GridColorR"))
1356  {
1357  TYPreferenceManager::getColor("GridColor", r, g, b);
1358  ((ColorsTab*)tabWidget->widget(2))->_pGridColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1359  }
1360  // Couleur des points de controle
1361  if (TYPreferenceManager::exists("PointControlGraphicColorR"))
1362  {
1363  TYPreferenceManager::getColor("PointControlGraphicColor", r, g, b);
1364  ((ColorsTab*)tabWidget->widget(2))
1365  ->_pPointControlColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1366  }
1367  // Couleur des Sources
1368  if (TYPreferenceManager::exists("SrcPonctGraphicColorR"))
1369  {
1370  TYPreferenceManager::getColor("SrcPonctGraphicColor", r, g, b);
1371  ((ColorsTab*)tabWidget->widget(2))
1372  ->_pSourcePonctColorToolButton->setColor(QColor(int(r), int(g), int(b)));
1373  }
1374 
1375  if (TYPreferenceManager::exists("WinOpacity"))
1376  {
1377  ((ColorsTab*)tabWidget->widget(2))
1378  ->_pWinOpacitySlider->setValue(ROUND(TYPreferenceManager::getFloat("WinOpacity") * 100.0f));
1379  }
1380  if (TYPreferenceManager::exists("AltOpacity"))
1381  {
1382  ((ColorsTab*)tabWidget->widget(2))
1383  ->_pAltOpacitySlider->setValue(ROUND(TYPreferenceManager::getFloat("AltOpacity") * 100.0f));
1384  }
1385  if (TYPreferenceManager::exists("MaillageOpacity"))
1386  {
1387  ((ColorsTab*)tabWidget->widget(2))
1388  ->_pMailOpacitySlider->setValue(ROUND(TYPreferenceManager::getFloat("MaillageOpacity") * 100.0f));
1389  }
1390  if (TYPreferenceManager::exists("Antialiasing"))
1391  {
1392  ((ColorsTab*)tabWidget->widget(2))
1393  ->_pMailAntiAliasingCheckBox->setChecked(TYPreferenceManager::getBool("Antialiasing"));
1394  }
1395 
1396  // Acoustique
1397  if (TYPreferenceManager::exists("ResisSolDefault"))
1398  {
1399  ((AcoustiqueTab*)tabWidget->widget(3))
1400  ->_pLineEditResistivite->setText(
1401  QString().setNum(TYPreferenceManager::getDouble("ResisSolDefault")));
1402  }
1403  if (TYPreferenceManager::exists("EpaisSolDefault"))
1404  {
1405  ((AcoustiqueTab*)tabWidget->widget(3))
1406  ->_pLineEditEpaisseur->setText(
1407  QString().setNum(TYPreferenceManager::getDouble("EpaisSolDefault")));
1408  }
1409  if (TYPreferenceManager::exists("EcartTypeDefault"))
1410  {
1411  ((AcoustiqueTab*)tabWidget->widget(3))
1412  ->_pLineEditEcartType->setText(
1413  QString().setNum(TYPreferenceManager::getDouble("EcartTypeDefault")));
1414  }
1415  if (TYPreferenceManager::exists("LongueurDefault"))
1416  {
1417  ((AcoustiqueTab*)tabWidget->widget(3))
1418  ->_pLineEditLongueur->setText(
1419  QString().setNum(TYPreferenceManager::getDouble("LongueurDefault")));
1420  }
1421  if (TYPreferenceManager::exists("MasseVolMatDefault"))
1422  {
1423  ((AcoustiqueTab*)tabWidget->widget(3))
1424  ->_pLineEditMasseVol->setText(
1425  QString().setNum(TYPreferenceManager::getDouble("MasseVolMatDefault")));
1426  }
1427  if (TYPreferenceManager::exists("SpectreTransmDefault0"))
1428  {
1429  TYSpectre* pTmpSpectre = TYPreferenceManager::getSpectre("SpectreTransmDefault");
1430 
1431  if (pTmpSpectre)
1432  {
1433  if (((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAttMatConst)
1434  {
1435  delete ((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAttMatConst;
1436  }
1437  ((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAttMatConst = pTmpSpectre;
1438  }
1439  }
1440  if (TYPreferenceManager::exists("SpectreAbsoDefault0"))
1441  {
1442  TYSpectre* pTmpSpectre = TYPreferenceManager::getSpectre("SpectreAbsoDefault");
1443 
1444  if (pTmpSpectre)
1445  {
1446  if (((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAbsoMatConst)
1447  {
1448  delete ((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAbsoMatConst;
1449  }
1450  ((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAbsoMatConst = pTmpSpectre;
1451  }
1452  }
1453 
1454  // Maillage par defaut
1455  QString pref = "MaillageDefault";
1456  if (TYPreferenceManager::exists(pref + "Hauteur"))
1457  {
1458  ((AcoustiqueTab*)tabWidget->widget(3))
1459  ->_pMaillage->setHauteur(TYPreferenceManager::getFloat(pref + "Hauteur"));
1460  ((AcoustiqueTab*)tabWidget->widget(3))
1461  ->_pMaillage->setDataType(TYPreferenceManager::getInt(pref + "DataType"));
1462  ((AcoustiqueTab*)tabWidget->widget(3))
1463  ->_pMaillage->setDataFreq(TYPreferenceManager::getFloat(pref + "DataFreq"));
1464 
1465  pref = "PaletteDefault";
1466  if (TYPreferenceManager::exists(pref + "Min"))
1467  {
1468  OLookupTable legacyTable;
1469  OColor color;
1470 
1471  const size_t nb_colors = TYPreferenceManager::getFloat(pref + "NbColors");
1472  const float valueMin = TYPreferenceManager::getFloat(pref + "Min");
1473  const float valueMax = TYPreferenceManager::getFloat(pref + "Max");
1474 
1475  TYPalette* pPalette = ((AcoustiqueTab*)tabWidget->widget(3))->_pMaillage->getPalette();
1476  legacyTable.resize(nb_colors);
1477  for (size_t i = 0; i < nb_colors; ++i)
1478  {
1479  TYPreferenceManager::getColor(pref + "Color" + QString(uintToStr(i).c_str()), color.r,
1480  color.g, color.b);
1481  legacyTable[i] = OColor(color.r, color.g, color.b);
1482  }
1483  pPalette->resetcolorMapFromColors(valueMin, valueMax, legacyTable);
1484  }
1485  }
1486 
1487  // On restaure le directory courant precedent
1488  TYPreferenceManager::setCurrentDirectory(oldDir);
1489 }
1490 
1492 {
1493  savePreferences();
1494 }
1495 
1497 {
1498  // Directory specifique aux preferences traitees ici
1499  QString oldDir = TYPreferenceManager::getCurrentDirectory();
1500  TYPreferenceManager::setCurrentDirectory(TYDIRPREFERENCEMANAGER);
1501  QDoubleValidator qValidator(NULL);
1502  int res = 0;
1503 
1504  // General
1505  QString aQString;
1506  qValidator.setBottom(1);
1507  qValidator.setTop(256);
1508  qValidator.setLocale(QLocale(QLocale::English));
1509  if (qValidator.validate(aQString = ((GeneralTab*)tabWidget->widget(4))->_pHistoSizeEdit->text(), res) ==
1510  QValidator::Acceptable)
1511  {
1512  TYPreferenceManager::setInt("HistoSize",
1513  ((GeneralTab*)tabWidget->widget(4))->_pHistoSizeEdit->text().toInt());
1514  }
1515 
1517  ((GeneralTab*)tabWidget->widget(4))->_pHistoSizeEdit->text().toInt());
1518 
1519  // repertoire de la bibliotheque
1520  QDir libraryPath(((GeneralTab*)tabWidget->widget(4))->_pLibraryPathEdit->text());
1521  if (libraryPath.exists())
1522  {
1523  TYPreferenceManager::setString("BiblioPath",
1524  ((GeneralTab*)tabWidget->widget(4))->_pLibraryPathEdit->text());
1525  }
1526 
1527  // repertoire de travail
1528  QDir workDirPath(((GeneralTab*)tabWidget->widget(4))->_pWorkDirPathEdit->text());
1529  if (workDirPath.exists())
1530  {
1531  TYPreferenceManager::setString("WorkDirPath",
1532  ((GeneralTab*)tabWidget->widget(4))->_pWorkDirPathEdit->text());
1533  }
1534 
1535  // Geometrie
1536  qValidator.setTop(256000);
1537  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXSiteEdit->text(),
1538  res) == QValidator::Acceptable)
1539  {
1540  TYPreferenceManager::setFloat(
1541  "GridDimXSite", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXSiteEdit->text().toFloat());
1542  }
1543  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYSiteEdit->text(),
1544  res) == QValidator::Acceptable)
1545  {
1546  TYPreferenceManager::setFloat(
1547  "GridDimYSite", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYSiteEdit->text().toFloat());
1548  }
1549  qValidator.setBottom(0.1);
1550  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridStepSiteEdit->text(),
1551  res) == QValidator::Acceptable)
1552  {
1553  TYPreferenceManager::setFloat(
1554  "GridStepSite", ((GeometrieTab*)tabWidget->widget(0))->_pGridStepSiteEdit->text().toFloat());
1555  }
1556  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepSiteEdit->text(),
1557  res) == QValidator::Acceptable)
1558  {
1559  TYPreferenceManager::setFloat(
1560  "GridMagnStepSite",
1561  ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepSiteEdit->text().toFloat());
1562  }
1563 
1564  qValidator.setBottom(1);
1565  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXBatEdit->text(),
1566  res) == QValidator::Acceptable)
1567  {
1568  TYPreferenceManager::setFloat(
1569  "GridDimXBatiment", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXBatEdit->text().toFloat());
1570  }
1571  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYBatEdit->text(),
1572  res) == QValidator::Acceptable)
1573  {
1574  TYPreferenceManager::setFloat(
1575  "GridDimYBatiment", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYBatEdit->text().toFloat());
1576  }
1577  qValidator.setBottom(0.1);
1578  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepBatEdit->text(),
1579  res) == QValidator::Acceptable)
1580  {
1581  TYPreferenceManager::setFloat(
1582  "GridMagnStepBatiment",
1583  ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepBatEdit->text().toFloat());
1584  }
1585  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridStepBatEdit->text(),
1586  res) == QValidator::Acceptable)
1587  {
1588  TYPreferenceManager::setFloat(
1589  "GridStepBatiment", ((GeometrieTab*)tabWidget->widget(0))->_pGridStepBatEdit->text().toFloat());
1590  }
1591 
1592  qValidator.setBottom(1);
1593  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXMacEdit->text(),
1594  res) == QValidator::Acceptable)
1595  {
1596  TYPreferenceManager::setFloat(
1597  "GridDimXMachine", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXMacEdit->text().toFloat());
1598  }
1599  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYMacEdit->text(),
1600  res) == QValidator::Acceptable)
1601  {
1602  TYPreferenceManager::setFloat(
1603  "GridDimYMachine", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYMacEdit->text().toFloat());
1604  }
1605  qValidator.setBottom(0.1);
1606  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridStepMacEdit->text(),
1607  res) == QValidator::Acceptable)
1608  {
1609  TYPreferenceManager::setFloat(
1610  "GridStepMachine", ((GeometrieTab*)tabWidget->widget(0))->_pGridStepMacEdit->text().toFloat());
1611  }
1612  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepMacEdit->text(),
1613  res) == QValidator::Acceptable)
1614  {
1615  TYPreferenceManager::setFloat(
1616  "GridMagnStepMachine",
1617  ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepMacEdit->text().toFloat());
1618  }
1619 
1620  qValidator.setBottom(1);
1621  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXMailEdit->text(),
1622  res) == QValidator::Acceptable)
1623  {
1624  TYPreferenceManager::setFloat(
1625  "GridDimXMaillage", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXMailEdit->text().toFloat());
1626  }
1627  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYMailEdit->text(),
1628  res) == QValidator::Acceptable)
1629  {
1630  TYPreferenceManager::setFloat(
1631  "GridDimYMaillage", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYMailEdit->text().toFloat());
1632  }
1633  qValidator.setBottom(0.1);
1634  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepMailEdit->text(),
1635  res) == QValidator::Acceptable)
1636  {
1637  TYPreferenceManager::setFloat(
1638  "GridMagnStepMaillage",
1639  ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepMailEdit->text().toFloat());
1640  }
1641  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridStepMailEdit->text(),
1642  res) == QValidator::Acceptable)
1643  {
1644  TYPreferenceManager::setFloat(
1645  "GridStepMaillage", ((GeometrieTab*)tabWidget->widget(0))->_pGridStepMailEdit->text().toFloat());
1646  }
1647 
1648  qValidator.setBottom(1);
1649  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXFaceEdit->text(),
1650  res) == QValidator::Acceptable)
1651  {
1652  TYPreferenceManager::setFloat(
1653  "GridDimXFace", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimXFaceEdit->text().toFloat());
1654  }
1655  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYFaceEdit->text(),
1656  res) == QValidator::Acceptable)
1657  {
1658  TYPreferenceManager::setFloat(
1659  "GridDimYFace", ((GeometrieTab*)tabWidget->widget(0))->_pGridDimYFaceEdit->text().toFloat());
1660  }
1661  qValidator.setBottom(0.1);
1662  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridStepFaceEdit->text(),
1663  res) == QValidator::Acceptable)
1664  {
1665  TYPreferenceManager::setFloat(
1666  "GridStepFace", ((GeometrieTab*)tabWidget->widget(0))->_pGridStepFaceEdit->text().toFloat());
1667  }
1668  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepFaceEdit->text(),
1669  res) == QValidator::Acceptable)
1670  {
1671  TYPreferenceManager::setFloat(
1672  "GridMagnStepFace",
1673  ((GeometrieTab*)tabWidget->widget(0))->_pGridMagnStepFaceEdit->text().toFloat());
1674  }
1675 
1676  if (((GeometrieTab*)tabWidget->widget(0))->_p15RadioButton->isChecked())
1677  {
1678  TYPreferenceManager::setFloat(
1679  "Angle", ((GeometrieTab*)tabWidget->widget(0))->_p15RadioButton->text().toFloat());
1680  }
1681  else if (((GeometrieTab*)tabWidget->widget(0))->_p30RadioButton->isChecked())
1682  {
1683  TYPreferenceManager::setFloat(
1684  "Angle", ((GeometrieTab*)tabWidget->widget(0))->_p30RadioButton->text().toFloat());
1685  }
1686  else if (((GeometrieTab*)tabWidget->widget(0))->_p45RadioButton->isChecked())
1687  {
1688  TYPreferenceManager::setFloat(
1689  "Angle", ((GeometrieTab*)tabWidget->widget(0))->_p45RadioButton->text().toFloat());
1690  }
1691  else if (((GeometrieTab*)tabWidget->widget(0))->_p90RadioButton->isChecked())
1692  {
1693  TYPreferenceManager::setFloat(
1694  "Angle", ((GeometrieTab*)tabWidget->widget(0))->_p90RadioButton->text().toFloat());
1695  }
1696 
1697  // Taille des sources ponctuelles utilisateur
1698  qValidator.setBottom(0.5);
1699  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pSourceSizeEdit->text(),
1700  res) == QValidator::Acceptable)
1701  {
1702  TYPreferenceManager::setFloat(
1703  "UserSrcPonctGraphicSize",
1704  ((GeometrieTab*)tabWidget->widget(0))->_pSourceSizeEdit->text().toFloat());
1705  }
1706  // Taille des points de controle
1707  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pPointControlSizeEdit->text(),
1708  res) == QValidator::Acceptable)
1709  {
1710  TYPreferenceManager::setFloat(
1711  "PointControlGraphicSize",
1712  ((GeometrieTab*)tabWidget->widget(0))->_pPointControlSizeEdit->text().toFloat());
1713  }
1714 
1715  qValidator.setBottom(3);
1716  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pResoCylEdit->text(), res) ==
1717  QValidator::Acceptable)
1718  {
1719  TYPreferenceManager::setFloat("ResolutionCircle",
1720  ((GeometrieTab*)tabWidget->widget(0))->_pResoCylEdit->text().toFloat());
1721  }
1722  qValidator.setBottom(0.001);
1723  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pDistMinPtCrbNivEdit->text(),
1724  res) == QValidator::Acceptable)
1725  {
1726  TYPreferenceManager::setFloat(
1727  "DistMinPtCrbNiv",
1728  ((GeometrieTab*)tabWidget->widget(0))->_pDistMinPtCrbNivEdit->text().toFloat());
1729  }
1730  qValidator.setBottom(0);
1731  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pDelaunayToleranceEdit->text(),
1732  res) == QValidator::Acceptable)
1733  {
1734  TYPreferenceManager::setFloat(
1735  "DelaunayTolerance",
1736  ((GeometrieTab*)tabWidget->widget(0))->_pDelaunayToleranceEdit->text().toFloat());
1737  }
1738  qValidator.setBottom(1);
1739  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pDefaultDimXEdit->text(),
1740  res) == QValidator::Acceptable)
1741  {
1742  TYPreferenceManager::setFloat(
1743  "DefaultDimX", ((GeometrieTab*)tabWidget->widget(0))->_pDefaultDimXEdit->text().toFloat());
1744  }
1745  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pDefaultDimYEdit->text(),
1746  res) == QValidator::Acceptable)
1747  {
1748  TYPreferenceManager::setFloat(
1749  "DefaultDimY", ((GeometrieTab*)tabWidget->widget(0))->_pDefaultDimYEdit->text().toFloat());
1750  }
1751  qValidator.setBottom(0.1);
1752  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pDefaultHMurEdit->text(),
1753  res) == QValidator::Acceptable)
1754  {
1755  TYPreferenceManager::setFloat(
1756  "DefaultHMur", ((GeometrieTab*)tabWidget->widget(0))->_pDefaultHMurEdit->text().toFloat());
1757  }
1758  if (qValidator.validate(aQString = ((GeometrieTab*)tabWidget->widget(0))->_pDefaultWEcranEdit->text(),
1759  res) == QValidator::Acceptable)
1760  {
1761  TYPreferenceManager::setFloat(
1762  "DefaultWidthEcran",
1763  ((GeometrieTab*)tabWidget->widget(0))->_pDefaultWEcranEdit->text().toFloat());
1764  }
1765 
1766  // 3D
1767  TYPreferenceManager::setFloat("Luminosite",
1768  float(((pref3DTab*)tabWidget->widget(1))->_pLightSlider->value()) / 100);
1769  qValidator.setBottom(0.001);
1770  if (qValidator.validate(aQString = ((pref3DTab*)tabWidget->widget(1))->_pZoomStepEdit->text(), res) ==
1771  QValidator::Acceptable)
1772  {
1773  TYPreferenceManager::setFloat("ZoomStep",
1774  ((pref3DTab*)tabWidget->widget(1))->_pZoomStepEdit->text().toFloat());
1775  }
1776  if (qValidator.validate(aQString = ((pref3DTab*)tabWidget->widget(1))->_pPrecisPickEdit->text(), res) ==
1777  QValidator::Acceptable)
1778  {
1779  TYPreferenceManager::setFloat("PrecisPick",
1780  ((pref3DTab*)tabWidget->widget(1))->_pPrecisPickEdit->text().toFloat());
1781  }
1782  TYPreferenceManager::setInt("MouseLeftButtonFunct2D",
1783  ((pref3DTab*)tabWidget->widget(1))->_pLeftButton2DComboBox->currentIndex());
1784  TYPreferenceManager::setInt("MouseRightButtonFunct2D",
1785  ((pref3DTab*)tabWidget->widget(1))->_pRightButton2DComboBox->currentIndex());
1786  TYPreferenceManager::setInt("MouseMiddleButtonFunct2D",
1787  ((pref3DTab*)tabWidget->widget(1))->_pMiddleButton2DComboBox->currentIndex());
1788  TYPreferenceManager::setInt("MouseLeftButtonFunct3D",
1789  ((pref3DTab*)tabWidget->widget(1))->_pLeftButton3DComboBox->currentIndex());
1790  TYPreferenceManager::setInt("MouseRightButtonFunct3D",
1791  ((pref3DTab*)tabWidget->widget(1))->_pRightButton3DComboBox->currentIndex());
1792  TYPreferenceManager::setInt("MouseMiddleButtonFunct3D",
1793  ((pref3DTab*)tabWidget->widget(1))->_pMiddleButton3DComboBox->currentIndex());
1794  TYPreferenceManager::setInt(
1795  "MouseShiftLeftButtonFunct2D",
1796  ((pref3DTab*)tabWidget->widget(1))->_pLeftButton2DShtComboBox->currentIndex());
1797  TYPreferenceManager::setInt(
1798  "MouseShiftRightButtonFunct2D",
1799  ((pref3DTab*)tabWidget->widget(1))->_pRightButton2DShtComboBox->currentIndex());
1800  TYPreferenceManager::setInt(
1801  "MouseShiftLeftButtonFunct3D",
1802  ((pref3DTab*)tabWidget->widget(1))->_pLeftButton3DShtComboBox->currentIndex());
1803  TYPreferenceManager::setInt(
1804  "MouseShiftRightButtonFunct3D",
1805  ((pref3DTab*)tabWidget->widget(1))->_pRightButton3DShtComboBox->currentIndex());
1806  TYPreferenceManager::setBool(
1807  "ViewOnlyHighlight", ((pref3DTab*)tabWidget->widget(1))->_pViewOnlyHighlightCheckBox->isChecked());
1808  TYPreferenceManager::setBool("CenterOnLocate",
1809  ((pref3DTab*)tabWidget->widget(1))->_pCenterOnLocateCheckBox->isChecked());
1810  TYPreferenceManager::setBool(
1811  "WireframeOnMovingCamera",
1812  ((pref3DTab*)tabWidget->widget(1))->_pWireframeOnMovingCameraCheckBox->isChecked());
1813  TYPreferenceManager::setFloat(
1814  "CameraTranslateStep",
1815  ((pref3DTab*)tabWidget->widget(1))->_pCameraStepTranslateEdit->text().toFloat());
1816  TYPreferenceManager::setFloat(
1817  "CameraRotateStep", ((pref3DTab*)tabWidget->widget(1))->_pCameraStepRotateEdit->text().toFloat());
1818  TYPreferenceManager::setFloat("CameraZoomStep",
1819  ((pref3DTab*)tabWidget->widget(1))->_pCameraStepZoomEdit->text().toFloat());
1820 
1821  // Colors
1822  TYPreferenceManager::setColor(
1823  "BackgroundColor", ((ColorsTab*)tabWidget->widget(2))->_pBackgroundColorToolButton->getColor().red(),
1824  ((ColorsTab*)tabWidget->widget(2))->_pBackgroundColorToolButton->getColor().green(),
1825  ((ColorsTab*)tabWidget->widget(2))->_pBackgroundColorToolButton->getColor().blue());
1826  TYPreferenceManager::setColor(
1827  "GridColor", ((ColorsTab*)tabWidget->widget(2))->_pGridColorToolButton->getColor().red(),
1828  ((ColorsTab*)tabWidget->widget(2))->_pGridColorToolButton->getColor().green(),
1829  ((ColorsTab*)tabWidget->widget(2))->_pGridColorToolButton->getColor().blue());
1830  TYPreferenceManager::setColor(
1831  "FontColor", ((ColorsTab*)tabWidget->widget(2))->_pPoliceColorToolButton->getColor().red(),
1832  ((ColorsTab*)tabWidget->widget(2))->_pPoliceColorToolButton->getColor().green(),
1833  ((ColorsTab*)tabWidget->widget(2))->_pPoliceColorToolButton->getColor().blue());
1834  TYPreferenceManager::setColor(
1835  "TYTerrainGraphicColor",
1836  ((ColorsTab*)tabWidget->widget(2))->_pTerrainColorToolButton->getColor().red(),
1837  ((ColorsTab*)tabWidget->widget(2))->_pTerrainColorToolButton->getColor().green(),
1838  ((ColorsTab*)tabWidget->widget(2))->_pTerrainColorToolButton->getColor().blue());
1839  TYPreferenceManager::setColor(
1840  "TYPlanEauGraphicColor",
1841  ((ColorsTab*)tabWidget->widget(2))->_pPlanEauColorToolButton->getColor().red(),
1842  ((ColorsTab*)tabWidget->widget(2))->_pPlanEauColorToolButton->getColor().green(),
1843  ((ColorsTab*)tabWidget->widget(2))->_pPlanEauColorToolButton->getColor().blue());
1844  TYPreferenceManager::setColor(
1845  "TYCoursEauGraphicColor",
1846  ((ColorsTab*)tabWidget->widget(2))->_pCrsEauColorToolButton->getColor().red(),
1847  ((ColorsTab*)tabWidget->widget(2))->_pCrsEauColorToolButton->getColor().green(),
1848  ((ColorsTab*)tabWidget->widget(2))->_pCrsEauColorToolButton->getColor().blue());
1849  TYPreferenceManager::setColor(
1850  "TYCourbeNiveauGraphicColor",
1851  ((ColorsTab*)tabWidget->widget(2))->_pCrbNivColorToolButton->getColor().red(),
1852  ((ColorsTab*)tabWidget->widget(2))->_pCrbNivColorToolButton->getColor().green(),
1853  ((ColorsTab*)tabWidget->widget(2))->_pCrbNivColorToolButton->getColor().blue());
1854  TYPreferenceManager::setColor(
1855  "TYVegetationGraphicColor",
1856  ((ColorsTab*)tabWidget->widget(2))->_pVegColorToolButton->getColor().red(),
1857  ((ColorsTab*)tabWidget->widget(2))->_pVegColorToolButton->getColor().green(),
1858  ((ColorsTab*)tabWidget->widget(2))->_pVegColorToolButton->getColor().blue());
1859  TYPreferenceManager::setColor(
1860  "TYAcousticBoxGraphicColor",
1861  ((ColorsTab*)tabWidget->widget(2))->_pBoxColorToolButton->getColor().red(),
1862  ((ColorsTab*)tabWidget->widget(2))->_pBoxColorToolButton->getColor().green(),
1863  ((ColorsTab*)tabWidget->widget(2))->_pBoxColorToolButton->getColor().blue());
1864  TYPreferenceManager::setColor(
1865  "TYAcousticCylinderGraphicColor",
1866  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().red(),
1867  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().green(),
1868  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().blue());
1869  TYPreferenceManager::setColor(
1870  "TYAcousticSemiCylinderGraphicColor",
1871  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().red(),
1872  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().green(),
1873  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().blue());
1874  TYPreferenceManager::setColor(
1875  "TYAcousticCircleGraphicColor",
1876  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().red(),
1877  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().green(),
1878  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().blue());
1879  TYPreferenceManager::setColor(
1880  "TYAcousticSemiCircleGraphicColor",
1881  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().red(),
1882  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().green(),
1883  ((ColorsTab*)tabWidget->widget(2))->_pCylindreColorToolButton->getColor().blue());
1884  TYPreferenceManager::setColor(
1885  "SubRectColor", ((ColorsTab*)tabWidget->widget(2))->_pSubRectColorToolButton->getColor().red(),
1886  ((ColorsTab*)tabWidget->widget(2))->_pSubRectColorToolButton->getColor().green(),
1887  ((ColorsTab*)tabWidget->widget(2))->_pSubRectColorToolButton->getColor().blue());
1888  TYPreferenceManager::setColor(
1889  "TYMurGraphicColor", ((ColorsTab*)tabWidget->widget(2))->_pMurColorToolButton->getColor().red(),
1890  ((ColorsTab*)tabWidget->widget(2))->_pMurColorToolButton->getColor().green(),
1891  ((ColorsTab*)tabWidget->widget(2))->_pMurColorToolButton->getColor().blue());
1892  TYPreferenceManager::setColor(
1893  "TYDalleGraphicColor", ((ColorsTab*)tabWidget->widget(2))->_pDalleColorToolButton->getColor().red(),
1894  ((ColorsTab*)tabWidget->widget(2))->_pDalleColorToolButton->getColor().green(),
1895  ((ColorsTab*)tabWidget->widget(2))->_pDalleColorToolButton->getColor().blue());
1896  TYPreferenceManager::setColor(
1897  "TYEcranGraphicColor", ((ColorsTab*)tabWidget->widget(2))->_pEcranColorToolButton->getColor().red(),
1898  ((ColorsTab*)tabWidget->widget(2))->_pEcranColorToolButton->getColor().green(),
1899  ((ColorsTab*)tabWidget->widget(2))->_pEcranColorToolButton->getColor().blue());
1900 #if WITH_NMPB
1901  TYPreferenceManager::setColor(
1902  "TYRouteGraphicColor", ((ColorsTab*)tabWidget->widget(2))->_pRouteColorToolButton->getColor().red(),
1903  ((ColorsTab*)tabWidget->widget(2))->_pRouteColorToolButton->getColor().green(),
1904  ((ColorsTab*)tabWidget->widget(2))->_pRouteColorToolButton->getColor().blue());
1905 #endif
1906  TYPreferenceManager::setColor(
1907  "TYReseauTransportGraphicColor",
1908  ((ColorsTab*)tabWidget->widget(2))->_pResTranspColorToolButton->getColor().red(),
1909  ((ColorsTab*)tabWidget->widget(2))->_pResTranspColorToolButton->getColor().green(),
1910  ((ColorsTab*)tabWidget->widget(2))->_pResTranspColorToolButton->getColor().blue());
1911  // Couleur des points de controle
1912  TYPreferenceManager::setColor(
1913  "PointControlGraphicColor",
1914  ((ColorsTab*)tabWidget->widget(2))->_pPointControlColorToolButton->getColor().red(),
1915  ((ColorsTab*)tabWidget->widget(2))->_pPointControlColorToolButton->getColor().green(),
1916  ((ColorsTab*)tabWidget->widget(2))->_pPointControlColorToolButton->getColor().blue());
1917  // Couleur des sources ponctuelles
1918  TYPreferenceManager::setColor(
1919  "SrcPonctGraphicColor",
1920  ((ColorsTab*)tabWidget->widget(2))->_pSourcePonctColorToolButton->getColor().red(),
1921  ((ColorsTab*)tabWidget->widget(2))->_pSourcePonctColorToolButton->getColor().green(),
1922  ((ColorsTab*)tabWidget->widget(2))->_pSourcePonctColorToolButton->getColor().blue());
1923 
1924  int hsvColor[3];
1925  ((ColorsTab*)tabWidget->widget(2))
1926  ->_pAltiColorMinToolButton->getColor()
1927  .getHsv(&hsvColor[0], &hsvColor[1], &hsvColor[2]);
1928  TYPreferenceManager::setColor("AltiGraphicColorMin", hsvColor[0], hsvColor[1], hsvColor[2]);
1929  ((ColorsTab*)tabWidget->widget(2))
1930  ->_pAltiColorMaxToolButton->getColor()
1931  .getHsv(&hsvColor[0], &hsvColor[1], &hsvColor[2]);
1932  TYPreferenceManager::setColor("AltiGraphicColorMax", hsvColor[0], hsvColor[1], hsvColor[2]);
1933 
1934  TYPreferenceManager::setFloat(
1935  "WinOpacity", float(((ColorsTab*)tabWidget->widget(2))->_pWinOpacitySlider->value()) / 100.0f);
1936  TYPreferenceManager::setFloat(
1937  "AltOpacity", float(((ColorsTab*)tabWidget->widget(2))->_pAltOpacitySlider->value()) / 100.0f);
1938  TYPreferenceManager::setFloat(
1939  "MaillageOpacity", float(((ColorsTab*)tabWidget->widget(2))->_pMailOpacitySlider->value()) / 100.0f);
1940  TYPreferenceManager::setBool("Antialiasing",
1941  ((ColorsTab*)tabWidget->widget(2))->_pMailAntiAliasingCheckBox->isChecked());
1942 
1943  // Acoustique
1944  qValidator.setBottom(0.001);
1945  TYPreferenceManager::setDouble(
1946  "ResisSolDefault", ((AcoustiqueTab*)tabWidget->widget(3))->_pLineEditResistivite->text().toDouble());
1947  if (qValidator.validate(aQString = ((AcoustiqueTab*)tabWidget->widget(3))->_pLineEditEpaisseur->text(),
1948  res) == QValidator::Acceptable)
1949  {
1950  TYPreferenceManager::setDouble(
1951  "EpaisSolDefault",
1952  ((AcoustiqueTab*)tabWidget->widget(3))->_pLineEditEpaisseur->text().toDouble());
1953  }
1954  TYPreferenceManager::setDouble(
1955  "EcartTypeDefault", ((AcoustiqueTab*)tabWidget->widget(3))->_pLineEditEcartType->text().toDouble());
1956  TYPreferenceManager::setDouble(
1957  "LongueurDefault", ((AcoustiqueTab*)tabWidget->widget(3))->_pLineEditLongueur->text().toDouble());
1958  TYPreferenceManager::setDouble(
1959  "MasseVolMatDefault", ((AcoustiqueTab*)tabWidget->widget(3))->_pLineEditMasseVol->text().toDouble());
1960  TYPreferenceManager::setSpectre("SpectreTransmDefault",
1961  ((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAttMatConst);
1962  TYPreferenceManager::setSpectre("SpectreAbsoDefault",
1963  ((AcoustiqueTab*)tabWidget->widget(3))->_pSpectreAbsoMatConst);
1964 
1965  QString pref = "MaillageDefault";
1966  TYPreferenceManager::setFloat(pref + "Hauteur",
1967  ((AcoustiqueTab*)tabWidget->widget(3))->_pMaillage->getHauteur());
1968  TYPreferenceManager::setInt(pref + "DataType",
1969  ((AcoustiqueTab*)tabWidget->widget(3))->_pMaillage->getDataType());
1970  TYPreferenceManager::setFloat(pref + "DataFreq",
1971  ((AcoustiqueTab*)tabWidget->widget(3))->_pMaillage->getDataFreq());
1972 
1973  pref = "PaletteDefault";
1974  TYPalette* pPalette = ((AcoustiqueTab*)tabWidget->widget(3))->_pMaillage->getPalette();
1975  TYPreferenceManager::setFloat(pref + "Min", pPalette->getValueMin());
1976  TYPreferenceManager::setFloat(pref + "Max", pPalette->getValueMax());
1977  TYPreferenceManager::setUInt(pref + "NbColors", pPalette->getNbColors());
1978 
1980  uint colorIndice = 0;
1981  for (it = pPalette->getColorMap().begin(); it != pPalette->getColorMap().end(); it++)
1982  {
1983  assert(it != pPalette->getColorMap().end() &&
1984  "getNbColors() should be the number of colors in the color map.");
1985  const OColor& color = it->second;
1986  TYPreferenceManager::setColor(pref + "Color" + QString(uintToStr(colorIndice).c_str()), color.r,
1987  color.g, color.b);
1988  colorIndice++;
1989  }
1990 
1991  // On restaure le directory courant precedent
1992  TYPreferenceManager::setCurrentDirectory(oldDir);
1993 
1994  QList<QMdiSubWindow*> windows = getTYMainWnd()->getWorkspace()->subWindowList();
1995 
1996  for (int i = 0; i < int(windows.count()); ++i)
1997  {
1998  QWidget* internal_window = windows.at(i)->widget();
1999 
2000  TYModelerFrame* pM = dynamic_cast<TYModelerFrame*>(internal_window);
2001  if (pM != nullptr)
2002  {
2004  ((GeneralTab*)tabWidget->widget(4))->_pHistoSizeEdit->text().toInt());
2005  pM->updatePreferences();
2007  pM->updateView(true, true); // az--
2008  }
2009  }
2010 }
2011 
2012 void TYPreferenceDialog::hideEvent(QHideEvent* pEvent)
2013 {
2014  TYPreferenceManager::saveGeometryToPreferences(metaObject()->className(), this);
2015 }
int ROUND(double a)
Compute the rounded value of a number.
Definition: 3d.h:192
TYApplication * getTYApp()
Retourne le pointeur sur l'application.
TYMainWindow * getTYMainWnd()
Retourne le pointeur sur la fenetre principale.
pour l'application Tympan (fichier header)
#define TYDIRPREFERENCEMANAGER
Definition: TYElement.h:52
Parent class of Tympan Qt dialogs of type form (geader file)
outil IHM pour une entrée utilisateur (fichier header)
Fenetre principale de l'application Tympan (fichier header)
Classe generique pour une fenetre de modeleur (fichier header)
#define TR(id)
Tables pour le dialogue de la gestion des preferences (fichier header)
const char * name
Outil IHM pour la saisie de la resisitivite du sol (fichier header)
outil IHM pour la gestion de la couleur des ToolButton (fichier header)
Table Acoustique dans le dialog de la gestion des preferences.
TYLineEdit * _pLineEditEcartType
TYMaillage * _pMaillage
Maillage par defaut.
TYLineEdit * _pLineEditResistivite
TYSpectre * _pSpectreAbsoMatConst
Spectre d'absorption par defaut des materiaux de construction.
TYLineEdit * _pLineEditLongueur
AcoustiqueTab(QWidget *parent=0)
TYLineEdit * _pLineEditEpaisseur
TYLineEdit * _pLineEditMasseVol
TYSpectre * _pSpectreAttMatConst
Spectre d'attenuation par default des materiaux de construction.
Table Colors dans le dialog de la gestion des preferences.
TYToolButton * _pBoxColorToolButton
TYToolButton * _pCrbNivColorToolButton
TYToolButton * _pGridColorToolButton
TYToolButton * _pEcranColorToolButton
QCheckBox * _pMailAntiAliasingCheckBox
TYToolButton * _pCrsEauColorToolButton
TYToolButton * _pTerrainColorToolButton
QSlider * _pAltOpacitySlider
TYToolButton * _pSubRectColorToolButton
TYToolButton * _pMurColorToolButton
TYToolButton * _pBackgroundColorToolButton
ColorsTab(QWidget *parent=0)
QSlider * _pWinOpacitySlider
TYToolButton * _pVegColorToolButton
TYToolButton * _pPlanEauColorToolButton
TYToolButton * _pRouteColorToolButton
TYToolButton * _pSourcePonctColorToolButton
QSlider * _pMailOpacitySlider
TYToolButton * _pResTranspColorToolButton
TYToolButton * _pAltiColorMinToolButton
TYToolButton * _pAltiColorMaxToolButton
TYToolButton * _pDalleColorToolButton
TYToolButton * _pPointControlColorToolButton
TYToolButton * _pPoliceColorToolButton
TYToolButton * _pCylindreColorToolButton
Table generale dans le dialog de la gestion des preferences.
TYLineEdit * _pHistoSizeEdit
QLineEdit * _pLibraryPathEdit
QLineEdit * _pWorkDirPathEdit
GeneralTab(QWidget *parent=0)
Table Geometrie dans le dialogue de la gestion des preferences.
TYLineEdit * _pGridStepSiteEdit
QRadioButton * _p45RadioButton
TYLineEdit * _pPointControlSizeEdit
TYLineEdit * _pGridDimXSiteEdit
TYLineEdit * _pGridDimYFaceEdit
QRadioButton * _p30RadioButton
TYLineEdit * _pGridDimXFaceEdit
TYLineEdit * _pGridDimXBatEdit
TYLineEdit * _pGridMagnStepFaceEdit
TYLineEdit * _pResoCylEdit
TYLineEdit * _pDefaultHMurEdit
TYLineEdit * _pGridDimXMacEdit
TYLineEdit * _pSeuilDistNulEdit
TYLineEdit * _pGridMagnStepBatEdit
TYLineEdit * _pDefaultDimYEdit
TYLineEdit * _pGridMagnStepSiteEdit
TYLineEdit * _pGridDimYMacEdit
TYLineEdit * _pDefaultDimXEdit
QButtonGroup * _pAnglesButtonGroup
TYLineEdit * _pSourceSizeEdit
TYLineEdit * _pDelaunayToleranceEdit
QRadioButton * _p90RadioButton
TYLineEdit * _pGridDimXMailEdit
TYLineEdit * _pGridMagnStepMailEdit
TYLineEdit * _pGridStepMacEdit
GeometrieTab(QWidget *parent=0)
TYLineEdit * _pGridDimYSiteEdit
TYLineEdit * _pGridStepMailEdit
TYLineEdit * _pGridStepBatEdit
TYLineEdit * _pDefaultWEcranEdit
TYLineEdit * _pGridDimYBatEdit
TYLineEdit * _pGridStepFaceEdit
TYLineEdit * _pDistMinPtCrbNivEdit
TYLineEdit * _pGridDimYMailEdit
TYLineEdit * _pGridMagnStepMacEdit
QRadioButton * _p15RadioButton
Definition: color.h:31
float b
Definition: color.h:33
float r
Definition: color.h:33
float g
Definition: color.h:33
void setDefaultValue(const double &valeur=TY_SPECTRE_DEFAULT_VALUE)
Definition: spectre.cpp:197
void setHistorySize(int size)
Definit la taille de l'historique.
TYActionManager * getActionManager()
Get du gestionnaire d'actions (historique pour les undos).
Definition: TYApplication.h:90
Classe de definition d'un maillage.
Definition: TYMaillage.h:51
QMdiArea * getWorkspace()
Definition: TYMainWindow.h:66
Classe generique pour une fenetre de modeleur.
TYRenderWindowInteractor * getView()
TYActionManager * getActionManager()
virtual void updatePreferences()
virtual void updateView(bool clipping=true, bool axesAndGrid=true)
void updateDisplayList(void)
Classe de definition d'une palette.
Definition: TYPalette.h:41
const color_map_type & getColorMap() const
Get de la lookup table.
Definition: TYPalette.h:226
size_t getNbColors() const
Getter for the number of colors.
Definition: TYPalette.h:122
values_type getValueMax() const
Get de la valeur max.
Definition: TYPalette.h:112
color_map_type::const_iterator color_map_const_iter
Definition: TYPalette.h:53
void resetcolorMapFromColors(values_type valueMin, values_type valueMax, const std::vector< OColor > &lookupTable)
Reset the colormap as a linear scale with the given colors between minValue and maxValue.
Definition: TYPalette.cpp:126
values_type getValueMin() const
Get de la valeur min.
Definition: TYPalette.h:102
QPushButton * _buttonApply
TYPreferenceDialog(QWidget *parent=0, const char *name=0, Qt::WindowFlags f=QFlag(0))
QPushButton * _buttonCancel
virtual void hideEvent(QHideEvent *pEvent)
TYOpenGLRenderer * getRenderer()
Objet IHM pour la saisie de la resisitivite du sol.
Permet de gerer la couleur des ToolButtons.
Definition: TYToolButton.h:37
Table 3D dans le dialogue de la gestion des preferences.
TYLineEdit * _pPrecisPickEdit
QComboBox * _pLeftButton3DComboBox
QComboBox * _pRightButton2DShtComboBox
TYLineEdit * _pCameraStepRotateEdit
QCheckBox * _pCenterOnLocateCheckBox
TYLineEdit * _pCameraStepZoomEdit
QSlider * _pLightSlider
QComboBox * _pLeftButton2DComboBox
TYLineEdit * _pCameraStepTranslateEdit
QComboBox * _pMiddleButton2DComboBox
QCheckBox * _pViewOnlyHighlightCheckBox
QComboBox * _pRightButton3DComboBox
QComboBox * _pRightButton3DShtComboBox
QComboBox * _pRightButton2DComboBox
QComboBox * _pMiddleButton3DComboBox
TYLineEdit * _pZoomStepEdit
QComboBox * _pLeftButton3DShtComboBox
QComboBox * _pLeftButton2DShtComboBox
QCheckBox * _pWireframeOnMovingCameraCheckBox
pref3DTab(QWidget *parent=0)
std::vector< OColor > OLookupTable
Collection de OColor.
Definition: color.h:105
std::string uintToStr(unsigned int val)
Definition: macros.h:86