From: Anthony Geay Date: Tue, 11 Apr 2023 11:59:29 +0000 (+0200) Subject: Entry in pipeline browser with same name than those into the object browser. X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=8dc2de3c47e7ff9ea3cc67df66f325fd51634d46;p=modules%2Fsmesh.git Entry in pipeline browser with same name than those into the object browser. --- diff --git a/src/SMESHGUI/SMESHGUI_Displayer.cxx b/src/SMESHGUI/SMESHGUI_Displayer.cxx index 6a3d7a252..6fcea65a5 100644 --- a/src/SMESHGUI/SMESHGUI_Displayer.cxx +++ b/src/SMESHGUI/SMESHGUI_Displayer.cxx @@ -48,6 +48,27 @@ #include CORBA_SERVER_HEADER(SMESH_Group) #include CORBA_SERVER_HEADER(SMESH_Mesh) +std::string SMESHGUI_Displayer::getName( const QString& entry ) +{ + Handle( SALOME_InteractiveObject ) theIO = new SALOME_InteractiveObject(); + theIO->setEntry( entry.toUtf8().constData() ); + if ( !theIO.IsNull() ) + { + // Find SOBject (because shape should be published previously) + if ( study() ) + { + _PTR(SObject) aSObj ( study()->studyDS()->FindObjectID( theIO->getEntry() ) ); + _PTR(GenericAttribute) anAttr; + + if ( aSObj && aSObj->FindAttribute( anAttr, "AttributeName") ) + { + _PTR(AttributeName) aNameAttr( anAttr ); + return aNameAttr->Value(); + } + } + } + return ""; +} SMESHGUI_Displayer::SMESHGUI_Displayer( SalomeApp_Application* app ) : LightApp_Displayer(), @@ -102,6 +123,7 @@ SALOME_Prs* SMESHGUI_Displayer::buildPresentation( const QString& entry, SALOME_ SPV3D_Prs *pv3dPrs = dynamic_cast( prs ); if( pv3dPrs ) { + pv3dPrs->SetName( getName( entry ) ); pv3dPrs->FillUsingActor( anActor ); } } diff --git a/src/SMESHGUI/SMESHGUI_Displayer.h b/src/SMESHGUI/SMESHGUI_Displayer.h index 1bde5b45d..f78acc8dd 100644 --- a/src/SMESHGUI/SMESHGUI_Displayer.h +++ b/src/SMESHGUI/SMESHGUI_Displayer.h @@ -48,6 +48,7 @@ public: protected: SalomeApp_Study* study() const; + std::string getName( const QString& entry ); private: SalomeApp_Application* myApp;