Salome HOME
IPAL53692: Display Entity menu item is available for groups and sub-meshes
authoreap <eap@opencascade.com>
Thu, 6 Oct 2016 15:13:56 +0000 (18:13 +0300)
committereap <eap@opencascade.com>
Thu, 6 Oct 2016 15:13:56 +0000 (18:13 +0300)
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI_Selection.cxx

index bda271418b86f42e4f9c0987f2ccb114be66f3a5..1803c634dfa3d4da6cf9b6304aaa1601b722bffb 100644 (file)
@@ -4380,7 +4380,7 @@ void SMESHGUI::initialize( CAM_Application* app )
     isNotEmpty("numberOfNodes <> 0"),
 
     // has nodes, edges, etc in VISIBLE! actor
     isNotEmpty("numberOfNodes <> 0"),
 
     // has nodes, edges, etc in VISIBLE! actor
-    hasNodes("(numberOfNodes > 0 )"),//&& isVisible)"),
+    hasNodes("(numberOfNodes > 0 ) && hasActor"),
     hasElems("(count( elemTypes ) > 0)"),
     hasDifferentElems("(count( elemTypes ) > 1)"),
     hasBalls("({'BallElem'} in elemTypes)"),
     hasElems("(count( elemTypes ) > 0)"),
     hasDifferentElems("(count( elemTypes ) > 1)"),
     hasBalls("({'BallElem'} in elemTypes)"),
@@ -4532,7 +4532,7 @@ void SMESHGUI::initialize( CAM_Application* app )
   popupMgr()->insert( separator(), anId, -1 );
 
   popupMgr()->insert( action( SMESHOp::OpDEChoose ), anId, -1 );
   popupMgr()->insert( separator(), anId, -1 );
 
   popupMgr()->insert( action( SMESHOp::OpDEChoose ), anId, -1 );
-  popupMgr()->setRule( action( SMESHOp::OpDEChoose ), aClient + "&&" + aType + "&&" + isNotEmpty, QtxPopupMgr::VisibleRule );
+  popupMgr()->setRule( action( SMESHOp::OpDEChoose ), aClient + "&& $type in {" + mesh + "} &&" + isNotEmpty, QtxPopupMgr::VisibleRule );
 
   popupMgr()->insert( separator(), anId, -1 );
 
 
   popupMgr()->insert( separator(), anId, -1 );
 
index 832c51ec18e0597a7b5d2b600d5bbb7dc338d030..757238eab9af524f9f3240ebd82fe8b8fa7b9cb5 100644 (file)
@@ -118,6 +118,7 @@ QVariant SMESHGUI_Selection::parameter( const int ind, const QString& p ) const
   QVariant val;
   if      ( p=="client" )               val = QVariant( LightApp_Selection::parameter( p ) );
   else if ( p=="type" )                 val = QVariant( myTypes[ind] );
   QVariant val;
   if      ( p=="client" )               val = QVariant( LightApp_Selection::parameter( p ) );
   else if ( p=="type" )                 val = QVariant( myTypes[ind] );
+  else if ( p=="hasActor" )             val = QVariant( getActor( ind ) != 0 );
   else if ( p=="elemTypes" )            val = QVariant( elemTypes( ind ) );
   else if ( p=="isAutoColor" )          val = QVariant( isAutoColor( ind ) );
   else if ( p=="numberOfNodes" )        val = QVariant( numberOfNodes( ind ) );
   else if ( p=="elemTypes" )            val = QVariant( elemTypes( ind ) );
   else if ( p=="isAutoColor" )          val = QVariant( isAutoColor( ind ) );
   else if ( p=="numberOfNodes" )        val = QVariant( numberOfNodes( ind ) );