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 // GEOM GEOMGUI : GUI for Geometry component
23 // File : TransformationGUI_MultiRotationDlg.h
24 // Author : Damien COQUERET, Open CASCADE S.A.S.
26 #ifndef TRANSFORMATIONGUI_MULTIROTATIONDLG_H
27 #define TRANSFORMATIONGUI_MULTIROTATIONDLG_H
29 #include "GEOMBase_Skeleton.h"
30 #include "GEOM_GenericObjPtr.h"
32 #include <SalomeApp_IntSpinBox.h>
34 #include <QGridLayout>
37 #include <QPushButton>
41 //=================================================================================
42 // class : TransformationGUI_2Sel4Spin1Check
44 //=================================================================================
45 class TransformationGUI_2Sel4Spin1Check : public QWidget
50 TransformationGUI_2Sel4Spin1Check (QWidget *parent);
51 ~TransformationGUI_2Sel4Spin1Check();
54 QGridLayout *gridLayout;
56 QGridLayout *gridLayout1;
61 QPushButton *PushButton1;
62 QPushButton *PushButton2;
66 // 4Spin (double-int-double-int)
67 QCheckBox *CheckAngleStep;
71 SalomeApp_DoubleSpinBox *SpinBox_DX1;
72 SalomeApp_IntSpinBox *SpinBox_DY1;
73 SalomeApp_DoubleSpinBox *SpinBox_DX2;
74 SalomeApp_IntSpinBox *SpinBox_DY2;
77 QCheckBox *CheckButton1;
80 //=================================================================================
81 // class : TransformationGUI_MultiRotationDlg
83 //=================================================================================
84 class TransformationGUI_MultiRotationDlg : public GEOMBase_Skeleton
89 TransformationGUI_MultiRotationDlg (GeometryGUI*, QWidget* = 0,
90 bool = false, Qt::WindowFlags = 0);
91 ~TransformationGUI_MultiRotationDlg();
94 // redefined from GEOMBase_Helper
95 virtual GEOM::GEOM_IOperations_ptr createOperation();
96 virtual bool isValid( QString& );
97 virtual bool execute( ObjectList& );
98 virtual void addSubshapesToStudy();
99 virtual void restoreSubShapes( SALOMEDS::Study_ptr, SALOMEDS::SObject_ptr );
103 void enterEvent( QEvent* );
106 GEOM::GeomObjPtr myBase, myVector;
110 Standard_Real myStep;
112 // to initialize the first selection field with a selected object on the dialog creation
115 TransformationGUI_2Sel4Spin1Check* GroupArgs;
120 void ActivateThisDialog();
121 void SelectionIntoArgument();
122 void SetEditCurrentArgument();
123 void CheckAngleStep (bool);
125 void ValueChangedInSpinBox( double );
126 void ValueChangedInSpinBox( int );
127 void TextValueChangedInSpinBox( const QString& );
128 void ConstructorsClicked( int );
129 void SetDoubleSpinBoxStep( double );
132 #endif // TRANSFORMATIONGUI_MULTIROTATIONDLG_H