Salome HOME
NPAL 19561 Name of objects does not appear in the context menu of VTK viewer
authordmv <dmv@opencascade.com>
Wed, 16 Apr 2008 10:17:40 +0000 (10:17 +0000)
committerdmv <dmv@opencascade.com>
Wed, 16 Apr 2008 10:17:40 +0000 (10:17 +0000)
src/SMESHGUI/SMESHGUI.cxx

index 01e535f2d841fbdefdf3a94b3d98368b2aeb6a78..3e3194dc43a54f4f0753960bee5752543fbba4ea 100644 (file)
@@ -3131,11 +3131,23 @@ QString SMESHGUI::engineIOR() const
   return QString( anIOR.in() );
 }
 
-void SMESHGUI::contextMenuPopup( const QString& client, QPopupMenu* menu, QString& /*title*/ )
+void SMESHGUI::contextMenuPopup( const QString& client, QPopupMenu* menu, QString& title )
 {
   SMESHGUI_Selection sel;
   sel.init( client, selectionMgr() );
   popupMgr()->updatePopup( menu, &sel );
+
+  SalomeApp_Module::contextMenuPopup( client, menu, title );
+  SALOME_ListIO lst;
+  getApp()->selectionMgr()->selectedObjects( lst );
+  if ( ( client == "OCCViewer" || client == "VTKViewer" ) && lst.Extent() == 1 ) {
+    Handle(SALOME_InteractiveObject) io = lst.First();
+    SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( application()->activeStudy() );
+    _PTR(Study) study = appStudy->studyDS();
+    _PTR(SObject) obj = study->FindObjectID( io->getEntry() );
+    if ( obj )
+      title = QString( obj->GetName().c_str() );
+  }
 }
 
 void SMESHGUI::windows( QMap<int, int>& aMap ) const