1 // Copyright (C) 2007-2012 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 // File : SMESHGUI_PropertiesDlg.h
23 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
25 #ifndef SMESHGUI_PROPERTIESDLG_H
26 #define SMESHGUI_PROPERTIESDLG_H
28 #include "SMESH_SMESHGUI.hxx"
29 #include "SMESHGUI_Dialog.h"
31 #include <VTKViewer_MarkerDef.h>
32 #include <SALOMEconfig.h>
33 #include CORBA_CLIENT_HEADER(SMESH_Mesh)
41 class VTKViewer_MarkerWidget;
43 class SMESHGUI_EXPORT SMESHGUI_PropertiesDlg : public SMESHGUI_Dialog
48 SMESHGUI_PropertiesDlg( const VTK::MarkerMap&, QWidget* parent );
49 ~SMESHGUI_PropertiesDlg();
51 void setNodeColor( const QColor& );
52 QColor nodeColor() const;
53 void setNodeMarker( VTK::MarkerType, VTK::MarkerScale );
54 void setNodeCustomMarker( int );
55 VTK::MarkerType nodeMarkerType() const;
56 VTK::MarkerScale nodeMarkerScale() const;
57 int nodeMarkerId() const;
59 void setEdgeColor( const QColor& );
60 QColor edgeColor() const;
61 void setEdgeWidth( int );
62 int edgeWidth() const;
64 void setFaceColor( const QColor&, int );
65 QColor faceColor() const;
66 int faceColorDelta() const;
68 void setVolumeColor( const QColor&, int );
69 QColor volumeColor() const;
70 int volumeColorDelta() const;
72 void setOutlineColor( const QColor& );
73 QColor outlineColor() const;
74 void setOutlineWidth( int );
75 int outlineWidth() const;
77 void setElem0dColor( const QColor& );
78 QColor elem0dColor() const;
79 void setElem0dSize( int );
80 int elem0dSize() const;
82 void setBallColor( const QColor& );
83 QColor ballColor() const;
84 void setBallSize( int );
87 void setOrientationColor( const QColor& );
88 QColor orientationColor() const;
89 void setOrientationSize( int );
90 int orientationSize() const;
91 void setOrientation3d( bool );
92 bool orientation3d() const;
94 void setShrinkCoef( int );
95 int shrinkCoef() const;
97 VTK::MarkerMap customMarkers() const;
99 void showControls( int, bool );
103 QGroupBox* myNodeGrp;
104 QGroupBox* myEdgeGrp;
105 QGroupBox* myFaceGrp;
106 QGroupBox* myVolumeGrp;
107 QGroupBox* myOutlineGrp;
108 QGroupBox* myElem0dGrp;
109 QGroupBox* myBallGrp;
110 QGroupBox* myOrientationGrp;
114 QtxColorButton* myNodeColor;
115 VTKViewer_MarkerWidget* myNodeMarker;
117 QtxColorButton* myEdgeColor;
118 QtxIntSpinBox* myEdgeWidth;
120 QtxBiColorTool* myFaceColor;
122 QtxBiColorTool* myVolumeColor;
124 QtxColorButton* myOutlineColor;
125 QtxIntSpinBox* myOutlineWidth;
127 QtxColorButton* myElem0dColor;
128 QtxIntSpinBox* myElem0dSize;
130 QtxColorButton* myBallColor;
131 QtxIntSpinBox* myBallSize;
132 // - orientation vectors
133 QtxColorButton* myOrientationColor;
134 QtxIntSpinBox* myOrientationSize;
135 QCheckBox* myOrientation3d;
136 // - shrink coefficient
137 QtxIntSpinBox* myShrinkSize;
140 #endif // SMESHGUI_PROPERTIESDLG_H