X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FTransformationGUI%2FTransformationGUI_MultiRotationDlg.h;h=c8f05b819a231a6df2fe1d3d088a246a4af4b189;hb=7e21a68ba07185cd1dddcf9e1522a28111c2cee4;hp=10a4a401ee753bce56a24e8f4251ac46bd13f56b;hpb=c577ca78d7a6e286526662cf54df6de1f4f2f449;p=modules%2Fgeom.git diff --git a/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h b/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h index 10a4a401e..c8f05b819 100644 --- a/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h +++ b/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h @@ -1,43 +1,36 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. // +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : TransformationGUI_MultiRotationDlg.h -// Author : Damien COQUERET -// Module : GEOM -// $Header$ - -#ifndef DIALOGBOX_MULTIROTATION_H -#define DIALOGBOX_MULTIROTATION_H -#include "GEOMBase_Skeleton.h" -#include "DlgRef_2Sel4Spin1Check.h" -#include "DlgRef_2Sel1Spin.h" +// GEOM GEOMGUI : GUI for Geometry component +// File : TransformationGUI_MultiRotationDlg.h +// Author : Damien COQUERET, Open CASCADE S.A.S. +// +#ifndef TRANSFORMATIONGUI_MULTIROTATIONDLG_H +#define TRANSFORMATIONGUI_MULTIROTATIONDLG_H -#include "TransformationGUI.h" +#include -#include "GEOM_ShapeTypeFilter.hxx" -#include -#include +class DlgRef_2Sel4Spin1Check; +class DlgRef_2Sel1SpinInt; //================================================================================= // class : TransformationGUI_MultiRotationDlg @@ -45,49 +38,50 @@ //================================================================================= class TransformationGUI_MultiRotationDlg : public GEOMBase_Skeleton { - Q_OBJECT + Q_OBJECT public: - TransformationGUI_MultiRotationDlg(QWidget* parent = 0, const char* name = 0, TransformationGUI* theTransformationGUI = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0); - ~TransformationGUI_MultiRotationDlg(); + TransformationGUI_MultiRotationDlg( GeometryGUI*, QWidget* = 0, + bool = false, Qt::WindowFlags = 0 ); + ~TransformationGUI_MultiRotationDlg(); + +protected: + // redefined from GEOMBase_Helper + virtual GEOM::GEOM_IOperations_ptr createOperation(); + virtual bool isValid( QString& ); + virtual bool execute( ObjectList& ); + virtual void addSubshapesToStudy(); -private : - void Init(); - void enterEvent(QEvent* e); - void MakeMultiRotationSimulationAndDisplay(); +private: + void Init(); + void enterEvent( QEvent* ); + +private: + GEOM::GEOM_Object_var myBase, myVector; + int myNbTimes1; + int myNbTimes2; + Standard_Real myAng; + Standard_Real myStep; - TransformationGUI* myTransformationGUI; - - double step; - int myConstructorId; /* Current constructor id = radio button id */ - Handle(GEOM_ShapeTypeFilter) myEdgeFilter; /* Filters selection */ - - TopoDS_Shape myBase; - GEOM::GEOM_Shape_var myGeomShape; /* is myBase */ - gp_Vec myVec; - int myNbTimes1; - int myNbTimes2; - Standard_Real myAng; - Standard_Real myStep; - gp_Dir myDir; - gp_Pnt myLoc; - bool myOkBase; - bool myOkDir; - - DlgRef_2Sel1Spin* GroupPoints; - DlgRef_2Sel4Spin1Check* GroupDimensions; + // to initialize the first selection field with a selected object on the dialog creation + bool myInitial; + + DlgRef_2Sel1SpinInt* GroupPoints; + DlgRef_2Sel4Spin1Check* GroupDimensions; private slots: - void ClickOnOk(); - void ClickOnApply(); - void ActivateThisDialog(); - void LineEditReturnPressed(); - void SelectionIntoArgument(); - void SetEditCurrentArgument(); - void ReverseAngle(int state); - void ValueChangedInSpinBox(double newValue); - void ConstructorsClicked(int constructorId); - + void ClickOnOk(); + bool ClickOnApply(); + void ActivateThisDialog(); + void LineEditReturnPressed(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); + void ReverseAngle(); + void ValueChangedInSpinBox( double ); + void ValueChangedInSpinBox( int ); + void TextValueChangedInSpinBox( const QString& ); + void ConstructorsClicked( int ); + void SetDoubleSpinBoxStep( double ); }; -#endif // DIALOGBOX_MULTIROTATION_H +#endif // TRANSFORMATIONGUI_MULTIROTATIONDLG_H