X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FRepairGUI%2FRepairGUI_GlueDlg.h;h=e3a4d47ba58633ef9d85c64289eb9f020d01080f;hb=3412372987bd5341493b61d7991b4350caedc155;hp=41aba949a206e8c3768e4da26ff06b246d7c95b3;hpb=d3dd282390888d7dc091ba2c2ffe7923bd7458e6;p=modules%2Fgeom.git diff --git a/src/RepairGUI/RepairGUI_GlueDlg.h b/src/RepairGUI/RepairGUI_GlueDlg.h index 41aba949a..e3a4d47ba 100644 --- a/src/RepairGUI/RepairGUI_GlueDlg.h +++ b/src/RepairGUI/RepairGUI_GlueDlg.h @@ -1,38 +1,42 @@ -// GEOM GEOMGUI : GUI for Geometry component -// -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // -// 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. +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// 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. +// 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. // -// 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 +// 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 // + +// GEOM GEOMGUI : GUI for Geometry component // File : RepairGUI_GlueDlg.h -// Author : Lucien PIGNOLONI -// Module : GEOM -// $Header$ +// Author : Lucien PIGNOLONI, Open CASCADE S.A.S. + +#ifndef REPAIRGUI_GLUEDLG_H +#define REPAIRGUI_GLUEDLG_H -#ifndef DIALOGBOX_Glue_H -#define DIALOGBOX_Glue_H +#include -#include "GEOMBase_Skeleton.h" +#include -class QAD_SpinBoxDbl; -class DlgRef_1Sel_Ext; +#include + +class DlgRef_1SelExt; +class SalomeApp_DoubleSpinBox; +class QPushButton; +class QCheckBox; //================================================================================= // class : RepairGUI_GlueDlg @@ -40,40 +44,69 @@ class DlgRef_1Sel_Ext; //================================================================================= class RepairGUI_GlueDlg : public GEOMBase_Skeleton { - Q_OBJECT + Q_OBJECT public: - RepairGUI_GlueDlg(QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0); - ~RepairGUI_GlueDlg(); + RepairGUI_GlueDlg (GeometryGUI*, QWidget* = 0, bool = false, TopAbs_ShapeEnum theGlueMode = TopAbs_FACE); + ~RepairGUI_GlueDlg(); protected: - // redefined from GEOMBase_Helper - virtual GEOM::GEOM_IOperations_ptr createOperation(); - virtual bool isValid( QString& ); - virtual bool execute( ObjectList& objects ); + // redefined from GEOMBase_Helper + virtual GEOM::GEOM_IOperations_ptr createOperation(); + virtual bool isValid (QString&); + virtual bool execute (ObjectList&); + virtual void restoreSubShapes (SALOMEDS::Study_ptr, SALOMEDS::SObject_ptr); + virtual QList getSourceObjects(); + +private: + void Init(); + void enterEvent (QEvent*); + void initSelection(); -private : - void Init(); - void enterEvent(QEvent* e); - void closeEvent(QCloseEvent* e); - void initSelection(); + void clearTemporary(); - GEOM::GEOM_Object_var myObject; + // Reimplementation of onAccept for local case of this class. + bool onAcceptLocal(); + void clearShapeBufferLocal (GEOM::GEOM_Object_ptr); - DlgRef_1Sel_Ext* GroupPoints; - QAD_SpinBoxDbl* myTolEdt; + void activateSelection(); + void updateButtonState(); + void selectTmpInViewer(); + +private: + QList myObjects; + QList myTmpObjs; + + DlgRef_1SelExt* GroupPoints; + DlgRef_1SelExt* GroupPoints2; + SalomeApp_DoubleSpinBox* myTolEdt; + SalomeApp_DoubleSpinBox* myTolEdt2; + QPushButton* myDetectBtn; + QCheckBox* mySubShapesChk; + QCheckBox* myGlueAllEdgesChk; + + int myCurrConstrId; + + TopAbs_ShapeEnum myGlueMode; + +protected slots: + virtual void ClickOnCancel(); private slots: - void ClickOnOk(); - bool ClickOnApply(); - void ClickOnCancel(); + void ClickOnOk(); + bool ClickOnApply(); + + void ActivateThisDialog(); + + void LineEditReturnPressed(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); - void ActivateThisDialog(); - void DeactivateActiveDialog(); + void ConstructorsClicked (int); - void LineEditReturnPressed(); - void SelectionIntoArgument(); - void SetEditCurrentArgument(); + void onDetect(); + void onTolerChanged (double); + void onSubShapesChk(); }; -#endif // DIALOGBOX_Glue_H +#endif // REPAIRGUI_GLUEDLG_H