From: eap Date: Mon, 26 Dec 2005 10:43:09 +0000 (+0000) Subject: PAL10953. Use GUI to create hypothesis from a hypotheses set X-Git-Tag: T_Before_Join_BR_3_1_0deb X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e884fc2507d46c805b15dfa633f4326c821c2d8c;p=modules%2Fsmesh.git PAL10953. Use GUI to create hypothesis from a hypotheses set --- diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.cxx b/src/SMESHGUI/SMESHGUI_MeshOp.cxx index 9c5f9bed5..716d21e61 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshOp.cxx @@ -632,6 +632,7 @@ void SMESHGUI_MeshOp::onHypoSet( const QString& theSetName ) { const QString& aHypoTypeName = (*aHypoList)[ i ]; HypothesisData* aHypData = SMESH::GetHypothesisData( aHypoTypeName ); + if ( !aHypData ) continue; int aDim = aHypData->Dim[0]; // create or/and set int index = -1; @@ -657,12 +658,23 @@ void SMESHGUI_MeshOp::onHypoSet( const QString& theSetName ) } if ( index >= 0 ) // found { + // select an algorithm setCurrentHyp ( aDim, aHypType, index ); } else { - // silently create a hypothesis - SMESH::CreateHypothesis( aHypoTypeName, aHypData->Label, isAlgo ); + // create a hypothesis + QString aClientLibName = aHypData->ClientLibName; + if ( aClientLibName == "" ) { + // Call hypothesis creation server method (without GUI) + SMESH::CreateHypothesis( aHypoTypeName, aHypData->Label, isAlgo ); + } + else { + // Get hypotheses creator client (GUI) + SMESHGUI_GenericHypothesisCreator* aCreator = + SMESH::GetHypothesisCreator( aHypoTypeName ); + aCreator->CreateHypothesis( false, myDlg ); + } QStringList aNewHyps; _PTR(SComponent) aFather = SMESH::GetActiveStudyDocument()->FindComponent( "SMESH" ); existingHyps( aDim, aHypType, aFather, aNewHyps, aList );