Salome HOME
0022472: EDF 2690 Reduce Study: Delete cyclic dependency
[modules/geom.git] / src / DependencyTree / DependencyTree_ViewModel.cxx
index 3c03d67acd88f7d2e847d3ec905f04d487eda13a..e6c853008bd140760a7284ef01928bbd197e482c 100644 (file)
@@ -31,7 +31,7 @@
 
 // GEOM includes
 #include <GEOM_Displayer.h>
-#include <GEOMToolsGUI_ReduceStudyDlg.h>
+#include <GeometryGUI_Operations.h>
 
 // QT includes
 #include <QMenu>
@@ -113,18 +113,6 @@ void DependencyTree_ViewModel::onShowOnlySelected()
   }
 }
 
-//=================================================================================
-// function : onReduceStudy()
-// purpose  : slot for showing dialog box "Reduce Study"
-//=================================================================================
-void DependencyTree_ViewModel::onReduceStudy()
-{
-  DependencyTree_View* viewPort = dynamic_cast<DependencyTree_View*>( getActiveViewPort() );
-  QDialog* dlg = new GEOMToolsGUI_ReduceStudyDlg( viewPort );
-  if( dlg != NULL )
-    dlg->show();
-}
-
 //=================================================================================
 // function : contextMenuPopup()
 // purpose  : process calling of context menu popup
@@ -137,12 +125,14 @@ void DependencyTree_ViewModel::contextMenuPopup( QMenu* theMenu )
   {
     int aNbSelected = viewPort->nbSelected();
     if( aNbSelected > 0 ) {
+      SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
+      GeometryGUI* aGeomGUI = dynamic_cast<GeometryGUI*>( app->module( "Geometry" ) );
       theMenu->clear();
       theMenu->addAction( tr( "MEN_DISPLAY" ), this, SLOT( onShowSelected() ) );
       theMenu->addAction( tr( "MEN_DISPLAY_ONLY" ), this, SLOT( onShowOnlySelected() ) );
       theMenu->addAction( tr( "MEN_REBUILD_THE_TREE"), viewPort, SLOT( onRebuildModel() ) );
       theMenu->addSeparator();
-      theMenu->addAction( tr( "MEN_REDUCE_STUDY" ), this, SLOT( onReduceStudy() ) );
+      theMenu->addAction( aGeomGUI->action( GEOMOp::OpReduceStudy ) );
     }
   }
 }