1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // VISU VISUGUI : GUI of VISU component
23 // File : VisuGUI_Table3dDlg.h
24 // Author : Laurent CORNABE & Hubert ROLLAND
26 #ifndef VISUGUI_TABLE3D_H
27 #define VISUGUI_TABLE3D_H
29 #include "VisuGUI_Prs3dDlg.h"
43 class QtxDoubleSpinBox;
44 class VisuGUI_TextPrefDlg;
45 class VisuGUI_BarPrefDlg;
46 class SVTK_ViewWindow;
47 class SalomeApp_Module;
54 class VisuGUI_Table3DPane : public QWidget
59 VisuGUI_Table3DPane( QWidget* );
60 ~VisuGUI_Table3DPane();
62 void initFromPrsObject( VISU::PointMap3d_i* );
63 int storeToPrsObject( VISU::PointMap3d_i* );
65 VISU::PointMap3d_i* GetPrs();
68 void onPrsType( int );
73 SVTK_ViewWindow* myViewWindow;
74 VISU::PointMap3d_i* myPrs;
76 QtxDoubleSpinBox* ScaleSpn;
77 QGroupBox* GBPrsTypeBox;
78 QButtonGroup* GBPrsType;
79 QSpinBox* NbContoursSpn;
82 class VisuGUI_TableScalarBarPane : public QWidget
87 VisuGUI_TableScalarBarPane( QWidget* );
88 ~VisuGUI_TableScalarBarPane();
90 void setRange( double, double, bool );
91 void setDefaultRange( double, double );
93 void setPosAndSize( double, double, double, double, bool );
94 void setScalarBarData( int, int );
104 bool isLogarithmic();
105 void setLogarithmic( bool on );
106 // bool isToSave() {return CBSave ? CBSave->isChecked() : false;}
108 void storeToResources();
110 void initFromPrsObject( VISU::PointMap3d_i* );
111 int storeToPrsObject( VISU::PointMap3d_i* );
116 void changeDefaults( int );
117 void changeRange( int );
118 void XYChanged( double );
119 void changeScalarMode( int );
124 QGroupBox* RangeGroup;
125 QRadioButton* RBFrange;
126 QRadioButton* RBIrange;
130 QRadioButton* RBhori;
131 QRadioButton* RBvert;
133 QtxDoubleSpinBox* XSpin;
134 QtxDoubleSpinBox* YSpin;
136 QtxDoubleSpinBox* WidthSpin;
137 QtxDoubleSpinBox* HeightSpin;
144 QComboBox* myModeCombo;
145 QPushButton* myTextBtn;
146 QPushButton* myBarBtn;
147 VisuGUI_TextPrefDlg* myTextDlg;
148 VisuGUI_BarPrefDlg* myBarDlg;
150 double myHorX, myHorY, myHorW, myHorH;
151 double myVerX, myVerY, myVerW, myVerH;
152 int myHorTS, myHorLS, myHorBW, myHorBH;
153 int myVerTS, myVerLS, myVerBW, myVerBH;
154 bool myIsStoreTextProp;
157 VISU::PointMap3d_i* myBarPrs;
162 ///////////////////////////////////////////////////////
164 class VisuGUI_Table3DDlg : public QDialog
169 VisuGUI_Table3DDlg( SalomeApp_Module* );
170 ~VisuGUI_Table3DDlg();
172 virtual void initFromPrsObject( VISU::PointMap3d_i* );
173 virtual int storeToPrsObject( VISU::PointMap3d_i* );
181 QTabWidget* myTabBox;
182 VisuGUI_Table3DPane* myIsoPane;
183 VisuGUI_TableScalarBarPane* myScalarBarPane;
185 SALOME::GenericObjPtr<VISU::PointMap3d_i> myPrsCopy;
188 #endif // VISUGUI_TABLE3D_H