From: eap Date: Wed, 26 Feb 2014 09:50:42 +0000 (+0400) Subject: 22364: EDF SMESH: Create Mesh dialog box improvement: hide inapplicable algorithms... X-Git-Tag: V7_4_0a1~52 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=7c09ac523c981783a2e1a85b575962b3bfe54d47;p=modules%2Fsmesh.git 22364: EDF SMESH: Create Mesh dialog box improvement: hide inapplicable algorithms/hypotheses Improve code readability --- diff --git a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx index 9902e04a8..878163738 100644 --- a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx @@ -281,20 +281,16 @@ namespace SMESH // fill list of hypotheses/algorithms THypothesisDataMap& pMap = isAlgo ? myAlgorithmsMap : myHypothesesMap; THypothesisDataMap::ConstIterator anIter; - for ( anIter = pMap.begin(); anIter != pMap.end(); anIter++ ) { + for ( anIter = pMap.begin(); anIter != pMap.end(); anIter++ ) + { HypothesisData* aData = anIter.value(); - if(!aData || aData->Label.isEmpty()) continue; - if (( theDim < 0 || aData->Dim.contains( theDim )) && - ( isAlgo || aData->IsAuxOrNeedHyp == isAux ) && - ( aData->Context == "ANY" || aData->Context == context )) + if (( aData && !aData->Label.isEmpty() ) && + ( theDim < 0 || aData->Dim.contains( theDim )) && + ( isAlgo || aData->IsAuxOrNeedHyp == isAux ) && + ( aData->Context == "ANY" || aData->Context == context ) && + ( !checkGeometry || aData->IsNeedGeometry == isNeedGeometry )) { - if (checkGeometry) { - if (aData->IsNeedGeometry == isNeedGeometry) - aHypList.append(anIter.key()); - } - else { - aHypList.append(anIter.key()); - } + aHypList.append(anIter.key()); } } return aHypList; diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.cxx b/src/SMESHGUI/SMESHGUI_MeshOp.cxx index b8b73db38..6506d1e0e 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshOp.cxx @@ -1399,20 +1399,22 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex, QStringList anAvailable; - // check that tab enable, if algorithm building needed algo is one less than dimension - if ( algoData && myIsOnGeometry && !algoData->InputTypes.isEmpty() && - ( aDim > SMESH::DIM_0D ) && !isAccessibleDim( aDim - 1 ) ){ - myDlg->enableTab( aDim - 1 ); - } - if ( (myDlg->currentMeshType() != MT_ANY) && - (( !algoData && ( aDim > SMESH::DIM_0D ) && isAccessibleDim( aDim - 1 )) || - ( algoData && myIsOnGeometry && algoData->InputTypes.isEmpty() && - ( aDim > SMESH::DIM_0D ) && isAccessibleDim( aDim - 1 ) ) ) ){ - for (int i = aDim - 1; i >= SMESH::DIM_0D; i--){ - if ( isAccessibleDim( i ) ) { - myDlg->disableTab( i ); - setCurrentHyp(i, Algo, -1); - } + // check that tab enabled of one less dimension + if ( aDim > SMESH::DIM_0D ) + { + if ( isAccessibleDim( aDim - 1 ) ) + { + if (( myDlg->currentMeshType() != MT_ANY ) && + ( !algoData || ( myIsOnGeometry && algoData->InputTypes.isEmpty() ))) + for (int i = aDim - 1; i >= SMESH::DIM_0D; i--) + if ( isAccessibleDim( i ) ) { + myDlg->disableTab( i ); + setCurrentHyp(i, Algo, -1); + } + } + else if ( algoData && myIsOnGeometry && !algoData->InputTypes.isEmpty() ) + { + myDlg->enableTab( aDim - 1 ); } }