Salome HOME
Merge remote-tracking branch 'origin/master' into V8_5_BR
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_FilterDlg.h
index 4501a9d373272a881efcab610c8354b2c9381a04..4068c057bc0f5fe7c598a519becc9ee870b0c8e0 100755 (executable)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -6,7 +6,7 @@
 // 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.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #include CORBA_SERVER_HEADER(SMESH_Filter)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 
-class QFrame;
+class LightApp_SelectionMgr;
 class QButtonGroup;
 class QCheckBox;
+class QFrame;
 class QGroupBox;
 class QPushButton;
+class QStackedWidget;
 class QTableWidget;
 class QTableWidgetItem;
-class QStackedWidget;
-class LightApp_SelectionMgr;
 class SMESHGUI;
 class SMESHGUI_FilterLibraryDlg;
+class SMESH_Actor;
 class SVTK_Selector;
 
 /*!
@@ -141,6 +142,7 @@ signals:
   void                      EntityTypeChanged( const int );
   void                      NeedValidation();
   void                      CriterionChanged( const int, const int );
+  void                      ThresholdChanged( const int, const int );
   void                      CurrentChanged( int, int );
 
 private slots:
@@ -227,33 +229,40 @@ public:
 
   void                      SetSelection();
   void                      SetMesh (SMESH::SMESH_Mesh_var);
+  void                      SetGroup (SMESH::SMESH_GroupOnFilter_var);
   void                      SetSourceWg( QWidget*, const bool initOnApply = true );
+  void                      SetEnabled( bool setInViewer, bool diffSources );
 
   static SMESH::Filter::Criterion createCriterion();
 
   SMESH::Filter_var         GetFilter() const;
   void                      SetFilter(SMESH::Filter_var filter, int type);
+  void                      UnRegisterFilters();
 
 signals:
 
   void                      Accepted();
 
+protected slots:
+  virtual void              reject();
+
 private slots:
 
   void                      onOk();
   bool                      onApply();
-  void                      onClose();
   void                      onHelp();
   void                      onDeactivate();
   void                      onSelectionDone();
   void                      onCriterionChanged( const int, const int );
+  void                      onThresholdChanged( const int, const int );
   void                      onCurrentChanged( int, int );
+  void                      onOpenView();
+  void                      onCloseView();
 
 private:
 
   void                      construct( const QList<int>& ); 
 
-  void                      closeEvent( QCloseEvent* );
   void                      enterEvent( QEvent* );
   void                      keyPressEvent( QKeyEvent* );
 
@@ -274,6 +283,7 @@ private:
   void                      setIdsToWg( QWidget*, const QList<int>& );
   Selection_Mode            getSelMode( const int ) const;
   void                      updateSelection();
+  SMESH_Actor*              getActor();
 
 private:
   // widgets
@@ -292,7 +302,10 @@ private:
   LightApp_SelectionMgr*    mySelectionMgr;
   SVTK_Selector*            mySelector;
   SMESH::SMESH_Mesh_var     myMesh;
+  SMESH::SMESH_GroupOnFilter_var myGroup;
   bool                      myInitSourceWgOnApply;
+  bool                      myInsertEnabled;
+  bool                      myDiffSourcesEnabled;
   QWidget*                  mySourceWg;
 
   SALOME_DataMapOfIOMapOfInteger myIObjects;
@@ -302,6 +315,10 @@ private:
   QMap< int, int  >              myApplyToState;
 
   QString                   myHelpFileName;
+
+  bool                      myToRestoreSelMode;
+  int                       mySelModeToRestore;
+  void                      restoreSelMode();
 };
 
 #endif // SMESHGUI_FILTERDLG_H