Salome HOME
IPAL21120 SIGSEGV on Meshing attached Compound with Automatic Hexadralization
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_FilterDlg.h
index 04dfc4a5e75d9d8f0e7981e3aa3931663545aa2d..87cd77a8c846d829b5ab3d98b88f310195bdc1ca 100755 (executable)
@@ -1,34 +1,34 @@
-//  SMESH SMESHGUI : GUI for SMESH component
+//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+//  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.
 //
-//  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 
+//  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
 //
+//  SMESH SMESHGUI : GUI for SMESH component
 //  File   : SMESHGUI_FilterDlg.h
 //  Author : Sergey LITONIN      
 //  Module : SMESH
-
-
+//
 #ifndef SMESHGUI_FilterDlg_H
 #define SMESHGUI_FilterDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <qframe.h>
 #include <qmap.h>
@@ -70,7 +70,7 @@ class SVTK_ViewWindow;
  *                  - Buttons for editing table
  */
 
-class SMESHGUI_FilterTable : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_FilterTable : public QFrame
 {
   Q_OBJECT
 
@@ -130,6 +130,14 @@ public:
                                           QString&       theText,
                                           const int      theEntityType = -1);
 
+  void                      SetID( const int      theRow,
+                                  const QString& theText,
+                                  const int      theEntityType = -1 ); 
+  
+  bool                      GetID( const int      theRow,
+                                  QString&       theText,
+                                  const int      theEntityType = -1 );
+
   void                      Update();
 
 signals:
@@ -213,7 +221,7 @@ class SMESHGUI_FilterDlg : public QDialog
   enum { Mesh, Selection, Dialog, None };
 
   // Buttons
-  enum { BTN_OK, BTN_Cancel, BTN_Apply, BTN_Close };
+  enum { BTN_OK, BTN_Cancel, BTN_Apply, BTN_Close, BTN_Help };
 
 public:
                             SMESHGUI_FilterDlg( SMESHGUI*,
@@ -229,7 +237,7 @@ public:
   void                      Init (const int type);
 
   void                      SetSelection();
-  void                      SetMesh (SMESH::SMESH_Mesh_ptr);
+  void                      SetMesh (SMESH::SMESH_Mesh_var);
   void                      SetSourceWg (QWidget*);
 
   static SMESH::Filter::Criterion createCriterion();
@@ -243,6 +251,7 @@ private slots:
   void                      onOk();
   bool                      onApply();
   void                      onClose();
+  void                      onHelp();
   void                      onDeactivate();
   void                      onSelectionDone();
   void                      onCriterionChanged (const int, const int);
@@ -254,6 +263,7 @@ private:
 
   void                      closeEvent (QCloseEvent*);
   void                      enterEvent (QEvent*);
+  void                      keyPressEvent(QKeyEvent*);
 
   // dialog creation
   QFrame*                   createButtonFrame (QWidget*);
@@ -293,7 +303,7 @@ private:
   SMESHGUI*                 mySMESHGUI;
   LightApp_SelectionMgr*    mySelectionMgr;
   SVTK_Selector*            mySelector;
-  SMESH::SMESH_Mesh_ptr     myMesh;
+  SMESH::SMESH_Mesh_var     myMesh;
   QWidget*                  mySourceWg;
 
   SALOME_DataMapOfIOMapOfInteger myIObjects;
@@ -301,6 +311,8 @@ private:
   QMap< int, SMESH::Filter_var > myFilter;
   QMap< int, bool >              myInsertState;
   QMap< int, int  >              myApplyToState;
+
+  QString                   myHelpFileName;
 };
 
 #endif