Salome HOME
NPAL17269: Performance pb. when creating a group with GUI.
[modules/geom.git] / src / RepairGUI / RepairGUI_SuppressFacesDlg.h
index 4c92a694c7576283248b8644fe061255689b5b3c..cdf86391326ae83b9e1bc59583d82d58287cd9ca 100644 (file)
 //  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 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
 //  File   : RepairGUI_SuppressFacesDlg.h
 //  Author : Lucien PIGNOLONI
 //  Module : GEOM
-//  $Header$
 
 #ifndef DIALOGBOX_SUPPRESSFACES_H
 #define DIALOGBOX_SUPPRESSFACES_H
 
 #include "GEOMBase_Skeleton.h"
-#include "DlgRef_1Sel1Check_QTD.h"
+#include "DlgRef_1Sel_QTD.h"
 
-#include "RepairGUI.h"
+#include <TColStd_IndexedMapOfInteger.hxx>
 
 //=================================================================================
 // class    : RepairGUI_SuppressFacesDlg
@@ -43,42 +42,42 @@ class RepairGUI_SuppressFacesDlg : public GEOMBase_Skeleton
     Q_OBJECT
 
 public:
-    RepairGUI_SuppressFacesDlg(QWidget* parent = 0, const char* name = 0, RepairGUI* theRepairGUI = 0, SALOME_Selection* Sel = 0, Handle(AIS_InteractiveContext) ic = 0, bool modal = FALSE, WFlags fl = 0);
-    
+    RepairGUI_SuppressFacesDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0,
+                              const char* name = 0, bool modal = FALSE, WFlags fl = 0);
     ~RepairGUI_SuppressFacesDlg();
 
+protected:
+    // redefined from GEOMBase_Helper
+    virtual GEOM::GEOM_IOperations_ptr createOperation();
+    virtual bool isValid( QString& );
+    virtual bool execute( ObjectList& objects );    
+
 private :
-    void Init(Handle(AIS_InteractiveContext) ic);
+    void Init();
     void enterEvent(QEvent* e);
     void closeEvent(QCloseEvent* e);
 
-    void ResetStateOfDialog();
-
-    RepairGUI* myRepairGUI;
+    GEOM::ListOfGO_var myObjects;
+    QValueList<GEOM::short_array> myFaces;
+    // GEOM::short_array-s contain indexes of selected faces,
+    // index of a GEOM::short_array in myFaces list equals to index of
+    // GEOM::GEOM_Object in myObjects list to which the faces belong to.
 
-    /* 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  */
+    void Convert( const TColStd_IndexedMapOfInteger&, GEOM::short_array& );
 
-    TopoDS_Shape myShape;
-    char* myShapeIOR;
-    bool myOkShape;
-    bool myOkSelectSubMode; /* true = sub mode selection activated */
+    void initSelection();
 
-    DlgRef_1Sel1Check_QTD* GroupPoints;
+    DlgRef_1Sel_QTD* GroupPoints;
 
 private slots:
     void ClickOnOk();
-    void ClickOnApply();
-    void ClickOnCancel();
+    bool ClickOnApply();
+
     void ActivateThisDialog();
-    void DeactivateActiveDialog();
+
     void LineEditReturnPressed();
     void SelectionIntoArgument();
     void SetEditCurrentArgument();
-    void ActivateUserSelection();
-
 };
 
 #endif // DIALOGBOX_SUPPRESSFACES_H