X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FBasicGUI%2FBasicGUI_PlaneDlg.h;h=602dbdaece6e99bfa8ae6d1fb602c6b4528d7a54;hb=b0fbfd05c463a14c0d926a53711aafdf2c0b6fad;hp=d22895569126f794e95621d5062b3161cada75af;hpb=c577ca78d7a6e286526662cf54df6de1f4f2f449;p=modules%2Fgeom.git diff --git a/src/BasicGUI/BasicGUI_PlaneDlg.h b/src/BasicGUI/BasicGUI_PlaneDlg.h index d22895569..602dbdaec 100644 --- a/src/BasicGUI/BasicGUI_PlaneDlg.h +++ b/src/BasicGUI/BasicGUI_PlaneDlg.h @@ -1,43 +1,39 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2012 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 : BasicGUI_PlaneDlg.h -// Author : Lucien PIGNOLONI -// Module : GEOM -// $Header$ -#ifndef DIALOGBOX_PLANE_H -#define DIALOGBOX_PLANE_H +// GEOM GEOMGUI : GUI for Geometry component +// File : BasicGUI_PlaneDlg.h +// Author : Lucien PIGNOLONI, Open CASCADE S.A.S. +// +#ifndef BASICGUI_PLANEDLG_H +#define BASICGUI_PLANEDLG_H #include "GEOMBase_Skeleton.h" -#include "DlgRef_2Sel1Spin.h" -#include "DlgRef_1Sel4Spin.h" -#include "DlgRef_1Sel1Spin.h" +#include "GEOM_GenericObjPtr.h" -#include "BasicGUI.h" - -#include "GEOM_FaceFilter.hxx" -#include "GEOM_ShapeTypeFilter.hxx" +class DlgRef_1Sel1Spin; +class DlgRef_2Sel1Spin; +class DlgRef_3Sel1Spin; +class DlgRef_3Radio1Sel1Spin; //================================================================================= // class : BasicGUI_PlaneDlg @@ -45,51 +41,48 @@ //================================================================================= class BasicGUI_PlaneDlg : public GEOMBase_Skeleton { - Q_OBJECT + Q_OBJECT public: - BasicGUI_PlaneDlg(QWidget* parent = 0, const char* name = 0, BasicGUI* theBasicGUI = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0); - ~BasicGUI_PlaneDlg(); - -private : - void Init(); - void enterEvent(QEvent* e); - void MakePlaneSimulationAndDisplay(); - - BasicGUI* myBasicGUI; - - double step; - int myConstructorId; - Handle(GEOM_ShapeTypeFilter) myVertexFilter; /* Filters selection */ - Handle(GEOM_ShapeTypeFilter) myEdgeFilter; - Handle(GEOM_FaceFilter) myFaceFilter; - - gp_Pnt myPoint1; /* Point on the plane */ - - Standard_Real myDx; - Standard_Real myDy; - Standard_Real myDz; - Standard_Real myTrimSize; - - bool myOkPoint1; /* true when argument is defined */ - bool myOkDirection; - bool myOkCoordinates; - bool myOkPlanarFace; - - DlgRef_2Sel1Spin* GroupPointDirection; - DlgRef_1Sel4Spin* GroupPointPlusCoordinates; - DlgRef_1Sel1Spin* GroupFace; + BasicGUI_PlaneDlg( GeometryGUI*, QWidget* = 0, bool = false, Qt::WindowFlags = 0 ); + ~BasicGUI_PlaneDlg(); + +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* ); + double getSize() const; + QString getSizeAsString() const; + int myOriginType; + +private: + GEOM::GeomObjPtr myPoint, myDir, myPoint1, myPoint2, myPoint3, myFace, myVec1, myVec2, myLCS; + + DlgRef_2Sel1Spin* GroupPntDir; + DlgRef_3Sel1Spin* Group3Pnts; + DlgRef_1Sel1Spin* GroupFace; + DlgRef_2Sel1Spin* Group2Vec; + DlgRef_3Radio1Sel1Spin* GroupLCS; private slots: - void ClickOnOk(); - void ClickOnApply(); - void ActivateThisDialog(); - void SelectionIntoArgument(); - void LineEditReturnPressed(); - void SetEditCurrentArgument(); - void ConstructorsClicked(int constructorId); - void ValueChangedInSpinBox(double newValue); - + void ClickOnOk(); + bool ClickOnApply(); + + void ActivateThisDialog(); + void DeactivateActiveDialog(); + + void SelectionIntoArgument(); + void SetEditCurrentArgument(); + void ConstructorsClicked( int ); + void ValueChangedInSpinBox( double ); + void SetDoubleSpinBoxStep( double ); + void GroupClicked(); }; -#endif // DIALOGBOX_PLANE_H +#endif // BASICGUI_PLANEDLG_H