X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Gen_i_1.cxx;fp=src%2FSMESH_I%2FSMESH_Gen_i_1.cxx;h=a667ba59fcb13a21528c624c0b2f42204b09992e;hb=97b0a95536e8d44fecc9fda65393dfd325e450f7;hp=d7d61bcafd70381b50a07fb5ca2d8194e28289cd;hpb=982a098136211f1f96f26b2b48489bf862189cfa;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_Gen_i_1.cxx b/src/SMESH_I/SMESH_Gen_i_1.cxx index d7d61bcaf..a667ba59f 100644 --- a/src/SMESH_I/SMESH_Gen_i_1.cxx +++ b/src/SMESH_I/SMESH_Gen_i_1.cxx @@ -1009,8 +1009,23 @@ void SMESH_Gen_i::UpdateIcons( SMESH::SMESH_Mesh_ptr theMesh ) { SMESH::array_of_ElementType_var elemTypes = idSrc->GetTypes(); isEmpty = ( elemTypes->length() == 0 ); + + if ( !isEmpty ) + { + // check if all sub-shapes of sub-mesh on group are computed + // (pb: "Compute sub-mesh" menu is missing if a sub-mesh is partially computed) + SMESH::SMESH_subMesh_var subMesh = SMESH::SMESH_subMesh::_narrow( obj ); + if ( !subMesh->_is_nil() ) + if ( SMESH_subMesh* sm = mesh_i->GetImpl().GetSubMeshContaining( subMesh->GetId() )) + if ( sm->IsComputedPartially() ) + { + SetPixMap( so, "ICON_SMESH_TREE_MESH_PARTIAL" ); + continue; + } + } } } + if ( isEmpty ) SetPixMap( so, "ICON_SMESH_TREE_MESH_WARN"); else if ( !isGroup ) @@ -1019,8 +1034,9 @@ void SMESH_Gen_i::UpdateIcons( SMESH::SMESH_Mesh_ptr theMesh ) SetPixMap( so, "ICON_SMESH_TREE_GROUP_ON_FILTER" ); else SetPixMap( so, "ICON_SMESH_TREE_GROUP" ); - } - } + + } // loop on sub-meshes or groups + } // loop on roots } //=======================================================================