1 // GEOM GEOMGUI : GUI for Geometry component
3 // Copyright (C) 2003 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
24 // File : RepairGUI_RemoveHolesDlg.h
25 // Author : Lucien PIGNOLONI
28 #ifndef DIALOGBOX_RemoveHoles_H
29 #define DIALOGBOX_RemoveHoles_H
31 #include "GEOMBase_Skeleton.h"
32 #include "DlgRef_1Sel_Ext.h"
34 #include <TColStd_IndexedMapOfInteger.hxx>
36 #include <qcheckbox.h>
37 #include <qbuttongroup.h>
38 #include <qlineedit.h>
41 //=================================================================================
42 // class : RepairGUI_RemoveHolesDlg
44 //=================================================================================
45 class RepairGUI_RemoveHolesDlg : public GEOMBase_Skeleton
50 RepairGUI_RemoveHolesDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0,
51 const char* name = 0, bool modal = FALSE, WFlags fl = 0);
52 ~RepairGUI_RemoveHolesDlg();
55 // redefined from GEOMBase_Helper
56 virtual GEOM::GEOM_IOperations_ptr createOperation();
57 virtual bool isValid( QString& );
58 virtual bool execute( ObjectList& objects );
62 void enterEvent(QEvent* e);
63 void closeEvent(QCloseEvent* e);
66 GEOM::GEOM_Object_var myObject;
67 GEOM::short_array_var myWiresInd;
69 DlgRef_1Sel_Ext* GroupPoints;
71 QLabel* mySelectWiresLbl;
72 QPushButton* mySelectWiresBtn;
73 QLineEdit* mySelectWiresEdt;
74 QPushButton* myFreeBoundBtn;
76 int myClosed; // Number of free closed boundaries detected. Calculated in execute(), used in onDetect().
77 int myOpen; // Number of free open boundaries detected. Calculated in execute(), used in onDetect().
83 void ActivateThisDialog();
85 void LineEditReturnPressed();
86 void SelectionIntoArgument();
87 void SetEditCurrentArgument();
89 void onRemoveAllClicked();
93 #endif // DIALOGBOX_RemoveHoles_H