Salome HOME
Copyright update 2022
[modules/gui.git] / src / LightApp / LightApp_Selection.cxx
old mode 100755 (executable)
new mode 100644 (file)
index a00f2c7..813b5e3
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -102,8 +102,9 @@ void LightApp_Selection::init( const QString& client, LightApp_SelectionMgr* mgr
 
         entries.insert( entry );
 
-       setObjectInfo( num, OI_Entry, entry );
-       setObjectInfo( num, OI_Reference, sowner->entry() != entry );
+        setObjectInfo( num, OI_Entry, entry );
+        setObjectInfo( num, OI_Reference, sowner->entry() != entry );
+        setObjectInfo( num, OI_RefEntry, sowner->entry() );
 
         if ( processOwner( sowner ) )
           num++;
@@ -214,8 +215,8 @@ QVariant LightApp_Selection::parameter( const int idx, const QString& p ) const
     QString e = entry( idx );
     if ( !e.isEmpty() ) {
       if ( p == "isVisible" ) {
-       QString mod_name = app->moduleTitle( myStudy->componentDataType( e ) );
-       LightApp_Displayer* d = LightApp_Displayer::FindDisplayer( mod_name, false );
+       QString mname = myStudy->componentDataType( e );
+       LightApp_Displayer* d = LightApp_Displayer::FindDisplayer( mname, false );
        // false in last parameter means that now we doesn't load module, if it isn't loaded
 
        bool vis = false;
@@ -225,15 +226,17 @@ QVariant LightApp_Selection::parameter( const int idx, const QString& p ) const
          vis = LightApp_Displayer().IsDisplayed( e );
        v = vis;
       }
-      else if ( p == "component" || p == "displayer" )
-       v = myStudy->componentDataType( e );
+      else if ( p == "component" )
+        v = myStudy->componentDataType( e );
+      else if ( p == "displayer" )
+        v = LightApp_Application::moduleDisplayer( myStudy->componentDataType( e ) );
       else if ( p == "isComponent" )
        v = myStudy->isComponent( e );
       else if ( p == "isReference" )
        v = isReference( idx );
       else if ( p == "canBeDisplayed" ) {
-       QString mod_name = app->moduleTitle( myStudy->componentDataType( e ) );
-       LightApp_Displayer* d = LightApp_Displayer::FindDisplayer( mod_name, false );
+       QString mname = myStudy->componentDataType( e ) ;
+       LightApp_Displayer* d = LightApp_Displayer::FindDisplayer( mname, false );
        // false in last parameter means that now we doesn't load module, if it isn't loaded
 
        if ( d )