From: dmv Date: Tue, 15 Dec 2009 08:57:13 +0000 (+0000) Subject: 0020615: EDF 1206 SMESH: Smesh group edition and object browser highlight X-Git-Tag: V6_0_0~10 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e0589e63e6bf98c46e2b6cf91181a580ea672632;p=modules%2Fsmesh.git 0020615: EDF 1206 SMESH: Smesh group edition and object browser highlight --- diff --git a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx index 32f66474c..9fc6d36fe 100644 --- a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx @@ -2236,14 +2236,20 @@ bool SMESHGUI_GroupDlg::SetAppropriateActor() } else { // try mesh actor SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); - if (anActor && anActor->hasIO()) - { - isActor = true; - if (aViewWindow && !aViewWindow->isVisible(anActor->getIO())) - isActor = false; - else - myActorsList.append(anActor); - } + if (anActor && anActor->hasIO()) { + isActor = true; + if (aViewWindow && !aViewWindow->isVisible(anActor->getIO())) + isActor = false; + else + myActorsList.append(anActor); + } + + // try group actor + if (!isActor && !myGroup->_is_nil()) { + SMESH_Actor* anActor = SMESH::FindActorByObject(myGroup); + if (anActor && anActor->hasIO()) + myActorsList.append(anActor); + } // try any visible actor of group or submesh of current mesh if (aViewWindow) { @@ -2264,7 +2270,7 @@ bool SMESHGUI_GroupDlg::SetAppropriateActor() if (anActor && anActor->hasIO()) { Handle(SALOME_InteractiveObject) anIO = anActor->getIO(); if (aViewWindow->isVisible(anIO)) { - if (anIO->hasEntry() && strncmp(anIO->getEntry(), meshEntry, len) == 0) + if (anIO->hasEntry() && strncmp(anIO->getEntry(), meshEntry, len) == 0 && !myActorsList.contains(anActor) ) myActorsList.append(anActor); } }