1 // File : GeometryGUI_MultiRotationDlg.h
3 // Author : Damien COQUERET
5 // Module : GeometryGUI
6 // Copyright : OPEN CASCADE
9 #ifndef DIALOGBOX_MULTIROTATION_H
10 #define DIALOGBOX_MULTIROTATION_H
13 #include "SALOME_Selection.h"
14 #include "GEOM_ShapeTypeFilter.hxx"
15 #include "GEOM_EdgeFilter.hxx"
16 #include "GeometryGUI_SpinBox.h"
24 #include <qvalidator.h>
39 //=================================================================================
40 // class : GeometryGUI_MultiRotationDlg
42 //=================================================================================
43 class GeometryGUI_MultiRotationDlg : public QDialog
48 GeometryGUI_MultiRotationDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
49 ~GeometryGUI_MultiRotationDlg();
53 GEOM::GEOM_Gen_var myGeom ; /* Current Geom object */
54 GeometryGUI* myGeomGUI ; /* Current GeomGUI object */
55 TopoDS_Shape mySimulationTopoDs ; /* Shape used for simulation display */
56 SALOME_Selection* mySelection ; /* User shape selection */
58 GEOM::GEOM_Shape_var myGeomShape ; /* is myBase */
64 Standard_Real myStep ;
72 QLineEdit* myEditCurrentArgument; /* Current LineEdit */
73 int myConstructorId ; /* Current constructor id = radio button id */
74 Handle(GEOM_EdgeFilter) myEdgeFilter; /* Filter selection */
76 void closeEvent( QCloseEvent* e ) ;
77 void enterEvent( QEvent* e);
78 void Init( SALOME_Selection* Sel ) ;
79 void MakeMultiRotationSimulationAndDisplay() ;
81 QButtonGroup* GroupConstructors;
82 QRadioButton* Constructor1;
83 QRadioButton* Constructor2;
85 QGroupBox* GroupButtons;
86 QPushButton* buttonOk;
87 QPushButton* buttonCancel;
88 QPushButton* buttonApply;
91 QPushButton* SelectButtonC1A1;
92 QPushButton* SelectButtonC1A2;
93 QLabel* TextLabelC1A1;
94 QLabel* TextLabelC1A2;
95 QLabel* TextLabelC1A3;
96 QLineEdit* LineEditC1A1;
97 QLineEdit* LineEditC1A2;
98 QSpinBox* SpinBox_C1A3; /* int : Nb times */
101 QPushButton* SelectButtonC2A1;
102 QPushButton* SelectButtonC2A2;
103 QLabel* TextLabelC2A1;
104 QLabel* TextLabelC2A2;
105 QLabel* TextLabelC2A3;
106 QLabel* TextLabelC2A4;
107 QLabel* TextLabelC2A5;
108 QLabel* TextLabelC2A6;
110 QLineEdit* LineEditC2A1;
111 QLineEdit* LineEditC2A2;
112 GeometryGUI_SpinBox* SpinBox_C2A3 ; /* double : angle */
113 QSpinBox* SpinBox_C2A4; /* int : Nb times 1 */
114 GeometryGUI_SpinBox* SpinBox_C2A5 ; /* double : step value */
115 QSpinBox* SpinBox_C2A6; /* int : Nb times 2 */
117 QCheckBox* CheckBoxReverse;
121 void ConstructorsClicked(int constructorId);
123 void ClickOnCancel();
125 void SetEditCurrentArgument() ;
126 void SelectionIntoArgument() ;
127 void LineEditReturnPressed() ;
128 void DeactivateActiveDialog() ;
129 void ActivateThisDialog() ;
130 void ReverseAngle(int) ;
131 void ValueChangedInSpinBox( double newValue ) ; /* for GeometryGUI_SpinBox */
132 void ValueChangedInt( int newIntValue ) ; /* for QT spin box ! not const ! */
135 QGridLayout* GeometryGUI_MultiRotationDlgLayout;
136 QGridLayout* GroupConstructorsLayout;
137 QGridLayout* GroupButtonsLayout;
138 QGridLayout* GroupC1Layout;
139 QGridLayout* GroupC2Layout;
142 #endif // DIALOGBOX_MULTIROTATION_H