Salome HOME
IPAL16934: Selection works incorrectly if Source and Target Vertices in Projection...
[modules/smesh.git] / src / StdMeshersGUI / StdMeshersGUI_StdHypothesisCreator.cxx
index 904f0bbd73e2a63deeb85b9d5444a1dda4d51e9d..e912e113d1d337b55483d397ac80483c2b4aff4a 100644 (file)
@@ -47,6 +47,7 @@
 
 // SALOME GUI includes
 #include <SUIT_ResourceMgr.h>
+#include <SUIT_MessageBox.h>
 
 // IDL includes
 #include <SALOMEconfig.h>
@@ -407,7 +408,7 @@ bool StdMeshersGUI_StdHypothesisCreator::checkParams( QString& msg ) const
       srcV = w1->GetValue();
       tgtV = w2->GetValue();
       ok = (( srcV.isEmpty()  && tgtV.isEmpty() ) ||
-            ( !srcV.isEmpty() && !tgtV.isEmpty() && srcV != tgtV ));
+            ( !srcV.isEmpty() && !tgtV.isEmpty() /*&& srcV != tgtV*/ ));
       if ( !ok ) {
         w1->SetObject( CORBA::Object::_nil() );
         w2->SetObject( CORBA::Object::_nil() );
@@ -609,8 +610,6 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
       h->SetMaxSize( params[1].myValue.toDouble() );
       h->SetVarParameter( params[0].text(), "SetDeflection" );
       h->SetDeflection( params[2].myValue.toDouble() );
-      h->SetVarParameter( params[0].text(), "SetGrading" );
-      h->SetGrading( params[3].myValue.toDouble() );
     }
     else if( hypType()=="AutomaticLength" )
     {
@@ -1050,11 +1049,6 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
     if(!initVariableName( hyp, item, "SetDeflection" )) 
       item.myValue = h->GetDeflection();
     p.append( item );
-
-    item.myName = tr( "SMESH_GRADING1D_PARAM" );
-    if(!initVariableName( hyp, item, "SetGrading" ))
-      item.myValue = h->GetGrading();
-    p.append( item );
   }
   else if( hypType()=="AutomaticLength" )
   {
@@ -1272,8 +1266,15 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
 
       idsWg->SetMainShapeEntry( aMainEntry );
       idsWg->SetGeomShapeEntry( aSubEntry.isEmpty() ? aMainEntry : aSubEntry );
-      idsWg->SetListOfIDs( h->GetFaces() );
-      idsWg->showPreview( true );
+      if ( idsWg->SetListOfIDs( h->GetFaces() ))
+      {
+        idsWg->showPreview( true );
+      }
+      else
+      {
+        SUIT_MessageBox::warning( dlg(),tr( "SMESH_WRN_WARNING" ),tr( "BAD_FACES_WARNING" ));
+        idsWg->setEnabled( false );
+      }
       customWidgets()->append ( idsWg );
     }
   }
@@ -1324,8 +1325,15 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
 
       idsWg->SetMainShapeEntry( aMainEntry );
       idsWg->SetGeomShapeEntry( aSubEntry.isEmpty() ? aMainEntry : aSubEntry );
-      idsWg->SetListOfIDs( h->GetEdges() );
-      idsWg->showPreview( true );
+      if ( idsWg->SetListOfIDs( h->GetEdges() ))
+      {
+        idsWg->showPreview( true );
+      }
+      else
+      {
+        SUIT_MessageBox::warning( dlg(),tr( "SMESH_WRN_WARNING" ),tr( "BAD_EDGES_WARNING" ));
+        idsWg->setEnabled( false );
+      }
       customWidgets()->append ( idsWg );
     }
   }
@@ -1428,10 +1436,7 @@ void StdMeshersGUI_StdHypothesisCreator::attuneStdWidget (QWidget* w, const int)
     }
     else if( hypType()=="Adaptive1D" )
     {
-      if (sb->objectName() == tr("SMESH_GRADING1D_PARAM"))
-        sb->RangeStepAndValidator( 0.0, 2.0, 0.1, "length_precision" );
-      else
-        sb->RangeStepAndValidator( VALUE_SMALL, VALUE_MAX, 1.0, "length_precision" );
+      sb->RangeStepAndValidator( VALUE_SMALL, VALUE_MAX, 1.0, "length_precision" );
     }
     else if( hypType().startsWith( "ViscousLayers" ))
     {