X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshersGUI%2FStdMeshersGUI_LayerDistributionParamWdg.cxx;h=7537e621b041a6c543d889abe4a406a06496a3f8;hb=2bb9a7b8b456a6dc8667c41e2ef19e96e2937cfa;hp=f8c90e728befcfd9ac7c359a5c5ec0e3d8da77cb;hpb=b73a16f1cdc3210d826b5c7327bf210d4ca29f73;p=modules%2Fsmesh.git diff --git a/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx b/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx index f8c90e728..7537e621b 100644 --- a/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx +++ b/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx @@ -116,10 +116,17 @@ void StdMeshersGUI_LayerDistributionParamWdg::init() myHypTypePopup = new QPopupMenu(); - QStringList aHypTypeNameList = SMESH::GetAvailableHypotheses( false, 0 ); + // Add to pop-up hypotheses of "Regular_1D" algo myHypTypePopup->clear(); - for ( int i = 0, n = aHypTypeNameList.count(); i < n; i++ ) { - myHypTypePopup->insertItem( aHypTypeNameList[ i ] ); + HypothesisData* algoData = SMESH::GetHypothesisData( "Regular_1D" ); + myHypTypes = SMESH::GetAvailableHypotheses( false, 0 ); + QStringList::const_iterator anIter = myHypTypes.begin(); + for ( ; anIter != myHypTypes.end(); ++anIter ) + { + HypothesisData* hypData = SMESH::GetHypothesisData( *anIter ); + bool bidon; + if ( SMESH::IsAvailableHypothesis( algoData, hypData->TypeName, bidon )) + myHypTypePopup->insertItem( hypData->Label ); } connect( myCreateButton, SIGNAL(clicked()), SLOT(onCreate())); @@ -142,9 +149,16 @@ void StdMeshersGUI_LayerDistributionParamWdg::onHypTypePopup( int theIndex ) gen->SetCurrentStudy( SALOMEDS::Study::_nil() ); // create a hyp - QString aHypType = myHypTypePopup->text( theIndex ); - HypothesisData* aHypData = SMESH::GetHypothesisData(aHypType.latin1()); + HypothesisData* aHypData = 0; + QStringList::const_iterator anIter = myHypTypes.begin(); + for ( ; !aHypData && anIter != myHypTypes.end(); ++anIter ) + { + HypothesisData* hypData = SMESH::GetHypothesisData( *anIter ); + if ( myHypTypePopup->text( theIndex ) == hypData->Label ) + aHypData = hypData; + } QString aServLib = aHypData->ServerLibName; + QString aHypType = aHypData->TypeName; try { set( gen->CreateHypothesis(aHypType, aServLib)); }