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 );
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" )