Salome HOME
IPAL20918 Color of Group of Nodes or Edges is not changed when Edit Group
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_GroupDlg.cxx
index 63b5d395674b05664ab5df3866b6f63bb63f8dd2..5b3b5e22c9822d9cc0d3e6115fbc62be1b972cc6 100644 (file)
@@ -797,8 +797,14 @@ bool SMESHGUI_GroupDlg::onApply()
       myGroup->SetColor(aColor);
 
       _PTR(SObject) aMeshGroupSO = SMESH::FindSObject(myGroup);
-      if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str()))
-       anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B );
+      if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
+       switch ( myTypeId ) {
+       case 0: anActor->SetNodeColor( aColor.R, aColor.G, aColor.B ); break;
+       case 1: anActor->SetEdgeColor( aColor.R, aColor.G, aColor.B ); break;
+       case 2:
+       case 3: anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B ); break;
+       }
+      }
 
       QList<int> aAddList;
 
@@ -928,8 +934,14 @@ bool SMESHGUI_GroupDlg::onApply()
       myGroupOnGeom->SetColor(aColor);
 
       _PTR(SObject) aMeshGroupSO = SMESH::FindSObject(myGroupOnGeom);
-      if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str()))
-       anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B );
+      if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
+       switch ( myTypeId ) {
+       case 0: anActor->SetNodeColor( aColor.R, aColor.G, aColor.B ); break;
+       case 1: anActor->SetEdgeColor( aColor.R, aColor.G, aColor.B ); break;
+       case 2:
+       case 3: anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B ); break;
+       }
+      }
     }
 
     mySMESHGUI->updateObjBrowser(true);