From 7c09ac523c981783a2e1a85b575962b3bfe54d47 Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 26 Feb 2014 13:50:42 +0400 Subject: [PATCH] 22364: EDF SMESH: Create Mesh dialog box improvement: hide inapplicable algorithms/hypotheses Improve code readability --- src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx | 20 ++++++--------- src/SMESHGUI/SMESHGUI_MeshOp.cxx | 30 ++++++++++++----------- 2 files changed, 24 insertions(+), 26 deletions(-) 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 ); } } -- 2.39.2