Salome HOME
PAL8395: Fix pb. with bug2extraEdges.py
[modules/geom.git] / src / RepairGUI / RepairGUI_SewingDlg.h
index 7e55b400b95833879c966a9dcae231d0bfc7ca2f..eaaa5de7f6af20256903efa2a4940cee075800ae 100644 (file)
@@ -1,23 +1,23 @@
 //  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 
-// 
-//  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 
+//  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
 //
 //
 //
 //  Module : GEOM
 //  $Header$
 
-#ifndef DIALOGBOX_SEWING_H
-#define DIALOGBOX_SEWING_H
+#ifndef DIALOGBOX_Sewing_H
+#define DIALOGBOX_Sewing_H
 
 #include "GEOMBase_Skeleton.h"
-#include "DlgRef_1Sel1Spin.h"
+#include "DlgRef_1Sel_Ext.h"
+#include "QAD_SpinBoxDbl.h"
+
+#include <TColStd_IndexedMapOfInteger.hxx>
 
-#include "RepairGUI.h"
+#include <qcheckbox.h>
+#include <qbuttongroup.h>
+#include <qlineedit.h>
+#include <qlabel.h>
 
 //=================================================================================
 // class    : RepairGUI_SewingDlg
 // purpose  :
 //=================================================================================
 class RepairGUI_SewingDlg : public GEOMBase_Skeleton
-{ 
+{
     Q_OBJECT
 
 public:
-    RepairGUI_SewingDlg(QWidget* parent = 0, const char* name = 0, RepairGUI* theRepairGUI = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0);
+    RepairGUI_SewingDlg(QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0);
     ~RepairGUI_SewingDlg();
 
-private:
+protected:
+    // redefined from GEOMBase_Helper
+    virtual GEOM::GEOM_IOperations_ptr createOperation();
+    virtual bool isValid( QString& );
+    virtual bool execute( ObjectList& objects );
+
+private :
     void Init();
     void enterEvent(QEvent* e);
+    void closeEvent(QCloseEvent* e);
+    void initSelection();
 
-    RepairGUI* myRepairGUI;
-
-    double step;
+               GEOM::GEOM_Object_var myObject;
 
-    GEOM::GEOM_Gen::ListOfIOR myListShapes;
-    Standard_Real myPrecision;
-    bool myOkListShapes;   /* to check when arguments is defined */
+    DlgRef_1Sel_Ext* GroupPoints;
+    QAD_SpinBoxDbl*  myTolEdt;
+    QPushButton*     myFreeBoundBtn;
 
-    DlgRef_1Sel1Spin* GroupPoints;
+    int myClosed; // number of free closed boundaries detected.  calculated in execute(), used in onDetect().    
+    int myOpen; // number of free open boundaries detected.  calculated in execute(), used in onDetect().    
 
 private slots:
     void ClickOnOk();
-    void ClickOnApply();
+    bool ClickOnApply();
+    void ClickOnCancel();
+
     void ActivateThisDialog();
+    void DeactivateActiveDialog();
+
+    void LineEditReturnPressed();
     void SelectionIntoArgument();
     void SetEditCurrentArgument();
-    void ValueChangedInSpinBox(double newValue);
 
+    void onDetect();
 };
 
-#endif // DIALOGBOX_SEWING_H
+#endif // DIALOGBOX_Sewing_H