]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESHGUI/SMESHGUI_FilterDlg.cxx
Salome HOME
0021348: EDF 1944 SMESH: Problem to assign a3D algorithm on a mixt 2D/3D shape
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_FilterDlg.cxx
index 5c5c4b207930b142f9bdf68919604142a6c7622e..88a03d58a4e27d623a5e587538998e5bb8c9669b 100755 (executable)
@@ -1,23 +1,23 @@
-//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2011  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
+// 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.
+// 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.
+// 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
+// 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
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 // SMESH SMESHGUI : GUI for SMESH component
@@ -645,7 +645,7 @@ QWidget* SMESHGUI_FilterTable::ComboDelegate::createEditor( QWidget* parent,
     if ( ok ) {
       int aPrecision = index.data( Qt::UserRole + 1 ).toInt( &ok );
       if ( !ok )
-       aPrecision = 0;
+        aPrecision = 0;
 
       SalomeApp_DoubleSpinBox* dblSpin = new SalomeApp_DoubleSpinBox( -1.e20, 1.e20, 1, aPrecision, 20, parent, false, true );
       dblSpin->setFrame( false );
@@ -673,7 +673,7 @@ void SMESHGUI_FilterTable::ComboDelegate::setEditorData( QWidget* editor,
     if( data.type() == QVariant::Double ) {
       double valueDouble = data.toDouble( &bOk );
       if( bOk )
-       dblSpin->setValue( valueDouble );
+        dblSpin->setValue( valueDouble );
     }
   }
   if ( !bOk ) QItemDelegate::setEditorData( editor, index );
@@ -2525,7 +2525,7 @@ QWidget* SMESHGUI_FilterDlg::createSourceGroup (QWidget* theParent)
   mySourceGrp->addButton(aSelBtn,  Selection);
   mySourceGrp->addButton(aDlgBtn,  Dialog);
 
-  aSelBtn->setChecked(true);
+  aMeshBtn->setChecked(true);
 
   return aBox;
 }
@@ -2664,7 +2664,7 @@ void SMESHGUI_FilterDlg::Init (const QList<int>& theTypes)
 
   mySourceGrp->button(myApplyToState.contains(theTypes.first()) ? 
                       myApplyToState[ theTypes.first() ] :
-                      Selection)->setChecked(true);
+                      Mesh)->setChecked(true);
 }
 
 //=======================================================================
@@ -3084,6 +3084,36 @@ bool SMESHGUI_FilterDlg::createFilter (const int theType)
   return true;
 }
 
+//================================================================================
+/*!
+ * \brief Return the current filter
+ */
+//================================================================================
+
+SMESH::Filter_var SMESHGUI_FilterDlg::GetFilter() const
+{
+  SMESH::Filter_var filter;
+  try {
+    int aCurrType = myTable->GetType();
+    filter = myFilter[ aCurrType ];
+  }
+  catch(...)
+  {
+  }
+  return filter._retn();
+}
+
+//================================================================================
+/*!
+ * \brief Sets a filter to the table
+ */
+//================================================================================
+
+void SMESHGUI_FilterDlg::SetFilter(SMESH::Filter_var filter, int type)
+{
+  myFilter[ type ] = filter;
+}
+
 //=======================================================================
 // name    : SMESHGUI_FilterDlg::insertFilterInViewer
 // Purpose : Insert filter in viewer