Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYModelerToolbar.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 <qtoolbutton.h>
22 #include <qbuttongroup.h>
23 // Added by qt3to4:
24 #include <QPixmap>
25 
31 #include "TYModelerToolbar.h"
32 
33 #define TR(id) OLocalizator::getString("TYModelerToolbar", (id))
34 #define IMG(id) OLocalizator::getPicture("TYModelerToolbar", (id))
35 
36 TYModelerToolbar::TYModelerToolbar(QButtonGroup* pBtnGroup /*= 0*/, QMainWindow* parent /*= 0*/,
37  QString title /*= ""*/)
38  : QToolBar(title, parent)
39 {
40  _toolButtonCamera = new QToolButton(this);
41  _toolButtonCamera->setIcon(QPixmap(IMG("id_icon_camera")));
42  _toolButtonCamera->setText(TR("id_menuitem_camera"));
43  _toolButtonCamera->setToolTip(TR("id_menuitem_camera"));
44  _toolButtonCamera->setStatusTip(TR("id_menuitem_camera"));
45  _toolButtonCamera->setCheckable(true);
46  addWidget(_toolButtonCamera);
47 
48  _toolButtonCameraZone = new QToolButton(this);
49  _toolButtonCameraZone->setIcon(QPixmap(IMG("id_icon_camerazone")));
50  _toolButtonCameraZone->setText(TR("id_menuitem_camerazone"));
51  _toolButtonCameraZone->setToolTip(TR("id_menuitem_camerazone"));
52  _toolButtonCameraZone->setStatusTip(TR("id_menuitem_camerazone"));
53  _toolButtonCameraZone->setCheckable(true);
54  addWidget(_toolButtonCameraZone);
55 
56  _toolButtonDistance = new QToolButton(this);
57  _toolButtonDistance->setIcon(QPixmap(IMG("id_icon_distance")));
58  _toolButtonDistance->setText(TR("id_menuitem_distance"));
59  _toolButtonDistance->setToolTip(TR("id_menuitem_distance"));
60  _toolButtonDistance->setStatusTip(TR("id_menuitem_distance"));
61  _toolButtonDistance->setCheckable(true);
62  addWidget(_toolButtonDistance);
63 
64  _toolButtonMoving = new QToolButton(this);
65  _toolButtonMoving->setIcon(QPixmap(IMG("id_icon_moving")));
66  _toolButtonMoving->setText(TR("id_menuitem_moving"));
67  _toolButtonMoving->setToolTip(TR("id_menuitem_moving"));
68  _toolButtonMoving->setStatusTip(TR("id_menuitem_moving"));
69  _toolButtonMoving->setCheckable(true);
70  addWidget(_toolButtonMoving);
71 
72  _toolButtonRotation = new QToolButton(this);
73  _toolButtonRotation->setIcon(QPixmap(IMG("id_icon_rotation")));
74  _toolButtonRotation->setText(TR("id_menuitem_rotation"));
75  _toolButtonRotation->setToolTip(TR("id_menuitem_rotation"));
76  _toolButtonRotation->setStatusTip(TR("id_menuitem_rotation"));
77  _toolButtonRotation->setCheckable(true);
78  addWidget(_toolButtonRotation);
79 
80  _toolButtonEdition = new QToolButton(this);
81  _toolButtonEdition->setIcon(QPixmap(IMG("id_icon_edition")));
82  _toolButtonEdition->setText(TR("id_menuitem_edition"));
83  _toolButtonEdition->setToolTip(TR("id_menuitem_edition"));
84  _toolButtonEdition->setStatusTip(TR("id_menuitem_edition"));
85  _toolButtonEdition->setCheckable(true);
86  addWidget(_toolButtonEdition);
87 
88  if (pBtnGroup)
89  {
90  addToButtonGroup(pBtnGroup);
91  }
92 }
93 
95 
97 {
98  _toolButtonCamera->setEnabled(active);
99  _toolButtonCameraZone->setEnabled(active);
100  _toolButtonDistance->setEnabled(active);
101  _toolButtonMoving->setEnabled(active);
102  _toolButtonRotation->setEnabled(active);
103  _toolButtonEdition->setEnabled(active);
104 }
105 
107 {
108  _toolButtonMoving->setEnabled(active);
109  _toolButtonRotation->setEnabled(active);
110  _toolButtonEdition->setEnabled(active);
111 }
112 
113 void TYModelerToolbar::addToButtonGroup(QButtonGroup* pBtnGroup)
114 {
115  Q_CHECK_PTR(pBtnGroup);
116 
117  pBtnGroup->addButton(_toolButtonCamera, TYModelerFrame::CameraMode);
118  _toolButtonCamera->setChecked(false);
120  _toolButtonCameraZone->setChecked(false);
121  pBtnGroup->addButton(_toolButtonDistance, TYModelerFrame::DistanceMode);
122  _toolButtonDistance->setChecked(false);
123  pBtnGroup->addButton(_toolButtonMoving, TYModelerFrame::MovingMode);
124  _toolButtonMoving->setChecked(false);
125  pBtnGroup->addButton(_toolButtonRotation, TYModelerFrame::RotationMode);
126  _toolButtonRotation->setChecked(false);
127  pBtnGroup->addButton(_toolButtonEdition, TYModelerFrame::EditionMode);
128  _toolButtonEdition->setChecked(false);
129 }
130 
131 void TYModelerToolbar::removeFromButtonGroup(QButtonGroup* pBtnGroup)
132 {
133  Q_CHECK_PTR(pBtnGroup);
134 
135  pBtnGroup->removeButton(_toolButtonCamera);
136  pBtnGroup->removeButton(_toolButtonCameraZone);
137  pBtnGroup->removeButton(_toolButtonDistance);
138  pBtnGroup->removeButton(_toolButtonMoving);
139  pBtnGroup->removeButton(_toolButtonRotation);
140  pBtnGroup->removeButton(_toolButtonEdition);
141 }
142 
144 {
145  activeCameraButtons(view);
147 }
148 
150 {
151  if (view == TYModelerFrame::PerspView)
152  {
153  _toolButtonCameraZone->setEnabled(false);
154  // CLM-NT35 : Empecher de deplacer/tourner en vue perspective/mobile
156  }
157  else if (view == TYModelerFrame::FreeView)
158  {
159  _toolButtonCameraZone->setEnabled(false);
160  // CLM-NT35 : Empecher de deplacer/tourner en vue perspective/mobile
162  }
163  else
164  {
165  _toolButtonCameraZone->setEnabled(true);
166  // CLM-NT35 : Empecher de deplacer/tourner en vue perspective/mobile
168  }
169 }
TYMainWindow * getTYMainWnd()
Retourne le pointeur sur la fenetre principale.
pour l'application Tympan (fichier header)
Fenetre principale de l'application Tympan (fichier header)
Classe generique pour une fenetre de modeleur (fichier header)
#define IMG(id)
#define TR(id)
Barre d'outils generale pour les modelers (fichier header)
TYModelerToolbar * getModelerToolbar()
Definition: TYMainWindow.h:93
void setDefaultCameraMode()
void viewTypeChanged(int view)
void activeCameraButtons(int view)
void addToButtonGroup(QButtonGroup *pBtnGroup)
virtual ~TYModelerToolbar()
QToolButton * _toolButtonCameraZone
Bouton navigation par zones.
QToolButton * _toolButtonDistance
Bouton mesure de distance.
QToolButton * _toolButtonEdition
Bouton edition d'objets.
void removeFromButtonGroup(QButtonGroup *pBtnGroup)
QToolButton * _toolButtonMoving
Bouton deplacement d'objets.
void activeButtons(bool active)
QToolButton * _toolButtonRotation
Bouton rotation d'objets.
void activeModif(bool active)
QToolButton * _toolButtonCamera
Bouton navigation (camera).
TYModelerToolbar(QButtonGroup *pBtnGroup=0, QMainWindow *parent=0, QString title="")