]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
bos #19960: [CEA 19958] Show/Hide SHAPERSTUDY objects
authorjfa <jfa@opencascade.com>
Tue, 24 Nov 2020 12:01:49 +0000 (15:01 +0300)
committerjfa <jfa@opencascade.com>
Tue, 24 Nov 2020 12:01:49 +0000 (15:01 +0300)
src/LightApp/LightApp_Module.cxx
src/LightApp/LightApp_Selection.cxx

index da1d8a70c681e499621a75a6232d78210002dc8e..3a10b55fb873913eddb4a6b0285c395f07e48c0a 100644 (file)
@@ -458,9 +458,9 @@ QtxPopupMgr* LightApp_Module::popupMgr()
     myPopupMgr->insert( eraseAll, -1, 0 );
     myPopupMgr->insert( separator(), -1, 0 );
 
-    QString oneAndNotActive = "( count( $component ) = 1 ) and ( not( activeModule in $component ) )";
+    QString oneAndNotActive = "( count( $component ) = 1 ) and ( not( activeModule in $component ) ) and ( not($displayer={'%3'}) )";
     QString uniform = "true in $canBeDisplayed and %1 and ( activeModule = '%2' )";
-    uniform = uniform.arg( oneAndNotActive ).arg( name() );
+    uniform = uniform.arg( oneAndNotActive ).arg( name() ).arg( LightApp_Application::moduleDisplayer( moduleName() ) );
     myPopupMgr->setRule( disp, /*QString( "( not isVisible ) and " ) + */ uniform, QtxPopupMgr::VisibleRule );
     myPopupMgr->setRule( erase, /*QString( "( isVisible ) and " ) + */ uniform, QtxPopupMgr::VisibleRule );
     myPopupMgr->setRule( dispOnly, uniform, QtxPopupMgr::VisibleRule );
index b5b6ec74316dbbc300264bc62626ec77a682fabe..493e311dfd744376e6191a618ff1acf1e444e400 100644 (file)
@@ -226,8 +226,16 @@ 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" || p == "displayer" )
+      //  v = myStudy->componentDataType( e );
+      else if ( p == "component" )
+        v = myStudy->componentDataType( e );
+      else if ( p == "displayer" ) {
+        QString mod_name = app->moduleTitle( myStudy->componentDataType( e ) );
+        v = LightApp_Application::moduleDisplayer( mod_name );
+      }
+
       else if ( p == "isComponent" )
        v = myStudy->isComponent( e );
       else if ( p == "isReference" )