Salome HOME
Merge remote branch 'origin/abn/guifix' into V7_5_BR
[modules/paravis.git] / src / PVGUI / PVGUI_Module_actions.cxx
index 638a3673eb8541faec3ac913d7bc10634b69737c..0eeb2ba40a3bc416246f129b3994ee7e5df16fd9 100644 (file)
@@ -23,6 +23,8 @@
 //
 
 #include "PVGUI_Module.h"
+#include <PVViewer_GUIElements.h>
+#include <PVViewer_ViewManager.h>
 
 #include <QtxAction.h>
 #include <QtxActionMenuMgr.h>
@@ -30,7 +32,7 @@
 #include <SUIT_Desktop.h>
 #include <SUIT_ResourceMgr.h>
 #include <SUIT_Session.h>
-#include <SalomeApp_Application.h>
+#include <SalomeApp_Application.h>  // should ultimately be a LightApp only
 #include <LightApp_Application.h>
 
 #include <QAction>
@@ -41,8 +43,8 @@
 #include <pqApplicationCore.h>
 // #include <pqColorScaleToolbar.h>
 #include <pqProgressManager.h>
-#include <pqRubberBandHelper.h>
-#include <pqScalarBarVisibilityAdaptor.h>
+//#include <pqRubberBandHelper.h>
+//#include <pqScalarBarVisibilityAdaptor.h>
 #include <pqUndoStack.h>
 #include <pqVCRController.h>
 
@@ -61,7 +63,7 @@
 #include <pqDeleteReaction.h>
 #include <pqChangePipelineInputReaction.h>
 #include <pqApplicationSettingsReaction.h>
-#include <pqViewSettingsReaction.h>
+//#include <pqViewSettingsReaction.h>
 #include <pqIgnoreSourceTimeReaction.h>
 #include <pqViewMenuManager.h>
 #include <pqParaViewMenuBuilders.h>
@@ -80,6 +82,7 @@
 #include <pqViewManager.h>
 #include <pqDataQueryReaction.h>
 #include <pqRecentFilesMenu.h>
+#include <pqPipelineBrowserWidget.h>
 
 #include "PVGUI_Tools.h"
 
@@ -255,11 +258,11 @@ void PVGUI_Module::pvCreateActions()
   new pqApplicationSettingsReaction(anAction);*/
   
   // View Settings
-  anAction = new QAction(tr("MEN_VIEW_SETTINGS"), this);
-  anAction->setToolTip(tr("TOP_VIEW_SETTINGS"));
-  anAction->setStatusTip(tr("STB_VIEW_SETTINGS"));
-  registerAction(ViewSettingsId, anAction);
-  new pqViewSettingsReaction(anAction);
+//  anAction = new QAction(tr("MEN_VIEW_SETTINGS"), this);
+//  anAction->setToolTip(tr("TOP_VIEW_SETTINGS"));
+//  anAction->setStatusTip(tr("STB_VIEW_SETTINGS"));
+//  registerAction(ViewSettingsId, anAction);
+//  new pqViewSettingsReaction(anAction);
 
   // --- Menu "View"
   //pqViewManager* viewManager = qobject_cast<pqViewManager*>(
@@ -422,10 +425,8 @@ void PVGUI_Module::pvCreateMenus()
    QMenu* aMenu = menuMgr()->findMenu( myRecentMenuId );
    pqRecentFilesMenu* aRecentFilesMenu = new pqRecentFilesMenu( *aMenu, getApp()->desktop() );
    QList<QAction*> anActns = aMenu->actions();
-   for (int i = 0; i < anActns.size(); ++i) {
-       createMenu( anActns.at(i), myRecentMenuId );
-   }
-
+   for (int i = 0; i < anActns.size(); ++i)
+     createMenu( anActns.at(i), myRecentMenuId );
 
   createMenu( separator(), aPVMnu, -1, 5 );
 
@@ -465,7 +466,7 @@ void PVGUI_Module::pvCreateMenus()
   createMenu( separator(), aPVMnu );
 
   //createMenu( SettingsId, aPVMnu );
-  createMenu( ViewSettingsId, aPVMnu );
+  //createMenu( ViewSettingsId, aPVMnu );
   createMenu( separator(), aPVMnu );
 
   // --- Menu "View"
@@ -481,30 +482,22 @@ void PVGUI_Module::pvCreateMenus()
   createMenu( FullScreenId, aPVMnu );
   
   // --- Menu "Sources"
-
   // Install ParaView managers for "Sources" menu
   QMenu* aRes = 0;
-  mySourcesMenuId = createMenu( tr( "MEN_DESK_SOURCES" ), -1, -1, 60);
-  if ( (aRes = getMenu( mySourcesMenuId )) ) {
-    pqParaViewMenuBuilders::buildSourcesMenu(*aRes, desk);
-  }
+  PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desk);
+  aRes = guiElements->getSourcesMenu();
+  mySourcesMenuId = createMenu( tr( "MEN_DESK_SOURCES" ), -1, -1, 60, -1, aRes);
   
   // --- Menu "Filters"
-
   // Install ParaView managers for "Filters" menu
-  myFiltersMenuId = createMenu( tr( "MEN_DESK_FILTERS" ), -1, -1, 70 );
-  if ( (aRes = getMenu( myFiltersMenuId )) ) {
-    pqParaViewMenuBuilders::buildFiltersMenu(*aRes, desk);
-  }
+  aRes = guiElements->getFiltersMenu();
+  myFiltersMenuId = createMenu( tr( "MEN_DESK_FILTERS" ), -1, -1, 70, -1, aRes);
 
    // --- Menu "Macros"
-  myMacrosMenuId = createMenu( tr( "MEN_MACROS" ), -1, -1, 80 );
-  if ( (aRes = getMenu( myMacrosMenuId )) ) {
-    pqParaViewMenuBuilders::buildMacrosMenu(*aRes);
-  }
+  aRes = guiElements->getMacrosMenu();
+  myMacrosMenuId = createMenu( tr( "MEN_MACROS" ), -1, -1, 80, -1, aRes);
  
   // --- Menu "Tools"
-
   int aToolsMnu = createMenu( tr( "MEN_DESK_TOOLS" ), -1, -1, 90 );
 
   createMenu( CreateCustomFilterId, aToolsMnu );
@@ -539,6 +532,24 @@ void PVGUI_Module::pvCreateMenus()
   createMenu( separator(),     aPVHelpMnu );
 #endif
   createMenu( AboutParaViewId, aPVHelpMnu );
+
+  // -- Context menu in the pipeline browser
+  pqPipelineBrowserWidget * pq = guiElements->getPipelineBrowserWidget();
+  pqParaViewMenuBuilders::buildPipelineBrowserContextMenu( *pq );
+
+//  // Reload configuration to populate dynamic menus from ParaView:
+//  PVViewer_ViewManager::ParaviewLoadConfigurations(true);
+//
+//  // Disable all filters for now (for some weird reasons they are all on when starting?)
+//  QList<QMenu*> sub_menus = filtersMenu->findChildren<QMenu*>();
+//  foreach(QMenu * m, sub_menus)
+//    {
+//      QList<QAction *> act_list = m->actions();
+//      foreach(QAction * a, act_list)
+//      {
+//        a->setEnabled(false);
+//      }
+//    }
 }
 
 /*!
@@ -548,7 +559,9 @@ void PVGUI_Module::pvCreateMenus()
 void PVGUI_Module::pvCreateToolBars()
 {
   SUIT_Desktop* desk = application()->desktop();
-  pqParaViewMenuBuilders::buildToolbars(*desk);
+//  pqParaViewMenuBuilders::buildToolbars(*desk);
+  PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desk);
+  guiElements->setToolBarVisible(true);
 }
 
 /*!
@@ -557,7 +570,8 @@ void PVGUI_Module::pvCreateToolBars()
 QMenu* PVGUI_Module::getMenu( const int id )
 {
   QMenu* res = 0;
-  SalomeApp_Application* anApp = getApp();
+  //SalomeApp_Application* anApp = getApp();
+  LightApp_Application* anApp = getApp();
   SUIT_Desktop* desk = anApp->desktop();
   if ( desk ){
     QtxActionMenuMgr* menuMgr = desk->menuMgr();
@@ -629,11 +643,11 @@ void PVGUI_Module::createActions()
 {
   QAction* anAction;
 
-  // New ParaView window
-  anAction = new QtxAction(tr("MEN_NEW_PV_VIEW"), tr("MEN_NEW_PV_VIEW"), 0, 
-                          this, false, "ParaViS:Create new ParaView view");
-  connect(anAction, SIGNAL(triggered()), this, SLOT(onNewParaViewWindow()));
-  registerAction(ParaViewNewWindowId, anAction);
+//  // New ParaView window
+//  anAction = new QtxAction(tr("MEN_NEW_PV_VIEW"), tr("MEN_NEW_PV_VIEW"), 0,
+//        this, false, "ParaViS:Create new ParaView view");
+//  connect(anAction, SIGNAL(triggered()), this, SLOT(onNewParaViewWindow()));
+//  registerAction(ParaViewNewWindowId, anAction);
 
   // Save state under the module root object
   anAction = new QAction(tr("MEN_SAVE_MULTI_STATE"), this);