X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FOperationGUI%2FOperationGUI_ChamferDlg.h;h=0b3c4b9708b927ce41caa1973d0f088ff54243d6;hb=c0397f5b1af8f042d925fd1dd40ee07642b90da5;hp=320bc37c9a19c446097e42d122d0e8703c52026c;hpb=a596550f89dfafcf288f8d62a2ca2a1be40ca512;p=modules%2Fgeom.git diff --git a/src/OperationGUI/OperationGUI_ChamferDlg.h b/src/OperationGUI/OperationGUI_ChamferDlg.h index 320bc37c9..0b3c4b970 100644 --- a/src/OperationGUI/OperationGUI_ChamferDlg.h +++ b/src/OperationGUI/OperationGUI_ChamferDlg.h @@ -1,38 +1,44 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2015 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, or (at your option) any later version. // +// 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. // -// File : OperationGUI_ChamferDlg.h -// Author : Damien COQUERET -// Module : GEOM -// $Header$ +// 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 +// + +// GEOM GEOMGUI : GUI for Geometry component +// File : OperationGUI_ChamferDlg.h +// Author : Damien COQUERET, Open CASCADE S.A.S. +// +#ifndef OPERATIONGUI_CHAMFERDLG_H +#define OPERATIONGUI_CHAMFERDLG_H -#ifndef DIALOGBOX_CHAMFER_H -#define DIALOGBOX_CHAMFER_H +#include -#include "GEOMBase_Skeleton.h" -#include "DlgRef_1Sel2Spin.h" +#include -#include "OperationGUI.h" +#include + +class SalomeApp_DoubleSpinBox; +class QGroupBox; +class QPushButton; +class QLineEdit; +class QGridLayout; +class QRadioButton; //================================================================================= // class : OperationGUI_ChamferDlg @@ -40,51 +46,69 @@ //================================================================================= class OperationGUI_ChamferDlg : public GEOMBase_Skeleton { - Q_OBJECT - -public: - OperationGUI_ChamferDlg(QWidget* parent = 0, const char* name = 0, OperationGUI* theOperationGUI = 0, SALOME_Selection* Sel = 0, Handle(AIS_InteractiveContext) ic = 0, bool modal = FALSE, WFlags fl = 0); - ~OperationGUI_ChamferDlg(); + Q_OBJECT -private : - void Init(Handle(AIS_InteractiveContext) ic); - void enterEvent(QEvent* e); - void closeEvent(QCloseEvent* e); - void MakeFilletSimulationAndDisplay(); + enum { MainObj1, MainObj2, Face1, Face2, MainObj3, Faces, MainObj4, Edges}; + enum { SpinBox1, + SpinBox21, SpinBox22, SpinBox23, SpinBox24, + SpinBox31, SpinBox32, SpinBox33, SpinBox34, + SpinBox41, SpinBox42, SpinBox43, SpinBox44 }; + enum { RadioButton21, RadioButton22, + RadioButton31, RadioButton32, + RadioButton41, RadioButton42 }; - void ResetStateOfDialog(); - void MakePreview(); - - OperationGUI* myOperationGUI; - - int myConstructorId; /* Current constructor id = radio button id */ - - /* Interactive and local context management see also : bool myUseLocalContext() */ - Handle(AIS_InteractiveContext) myIC; /* Interactive context */ - Standard_Integer myLocalContextId; /* identify a local context used by this method */ - bool myUseLocalContext; /* true when this method as opened a local context */ +public: + OperationGUI_ChamferDlg( GeometryGUI*, QWidget* ); + virtual ~OperationGUI_ChamferDlg(); - TopoDS_Shape myShape; - bool myOkShape; - char* myShapeIOR; - int myShapeType; - double myD1; - double myD2; - - DlgRef_1Sel2Spin* Group1; +protected: + // redefined from GEOMBase_Helper + virtual GEOM::GEOM_IOperations_ptr createOperation(); + virtual bool isValid( QString& ); + virtual bool execute( ObjectList& ); + virtual QList getSourceObjects(); private slots: - void ClickOnOk(); - void ClickOnApply(); - void ClickOnCancel(); - void ActivateThisDialog(); - void DeactivateActiveDialog(); - void SelectionIntoArgument(); - void SetEditCurrentArgument(); - void ValueChangedInSpinBox(double newValue); - void ConstructorsClicked(int constructorId); + void ClickOnOk(); + bool ClickOnApply(); + void ActivateThisDialog(); + void LineEditReturnPressed(); + void RadioButtonPressed(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); + void ValueChangedInSpinBox( double ); + void ConstructorsClicked( int ); -}; +private: + void Init(); + void enterEvent( QEvent* ); + void createSelWg( const QString&, QPixmap&, QWidget*, + QGridLayout*, const int ); + void createRadioWg( const QString&, const QString&, QWidget*, + QGridLayout*, const int, const int, const int ); + void activateSelection(); + void enableWidgets(); + +private: + int myConstructorId; + + GEOM::GEOM_Object_var myShape; + QMap< int, int > myFace; // indexes of faces from second tab ( Face1,2 ) + TColStd_IndexedMapOfInteger myFaces; // indexes of faces from first tab ( Faces ) + TColStd_IndexedMapOfInteger myEdges; // indexes of edges from fourth tab (Edges) -#endif // DIALOGBOX_CHAMFER_H + // to initialize the first selection field with a selected object on the dialog creation + bool myInitial; + + QGroupBox* myGrp1; + QGroupBox* myGrp2; + QGroupBox* myGrp3; + QGroupBox* myGrp4; + + QMap< int, QPushButton* > mySelBtn; + QMap< int, QLineEdit* > mySelName; + QMap< int, SalomeApp_DoubleSpinBox* > mySpinBox; + QMap< int, QRadioButton* > myRadioButton; +}; +#endif // OPERATIONGUI_CHAMFERDLG_H