From a5c0f4403d3f4023f9a2d784fd1ba451074a7616 Mon Sep 17 00:00:00 2001 From: abn Date: Mon, 29 Sep 2014 11:05:57 +0200 Subject: [PATCH] Various improvements: * Isolated ParaView's GUI elements that need an early start, so that menu loads properly * Translated preference to have the builtin pvserver used * Fixed Python dump to "import pvsimple" --- src/PVGUI/PVGUI_Module.cxx | 29 ++++--- src/PVGUI/PVGUI_Module.h | 3 + src/PVGUI/PVGUI_Module_actions.cxx | 26 +++--- src/PVGUI/PVGUI_Module_widgets.cxx | 8 +- src/PVGUI/resources/PARAVIS_msg_en.ts | 4 + src/PVGUI/view/CMakeLists.txt | 2 + src/PVGUI/view/PVViewer_Behaviors.cxx | 9 --- src/PVGUI/view/PVViewer_Behaviors.h | 7 +- src/PVGUI/view/PVViewer_GUIElements.cxx | 102 ++++++++++++++++++++++++ src/PVGUI/view/PVViewer_GUIElements.h | 71 +++++++++++++++++ src/PVGUI/view/PVViewer_ViewManager.cxx | 39 ++++++--- src/PVGUI/view/PVViewer_ViewManager.h | 6 +- src/PVGUI/view/PVViewer_ViewWindow.cxx | 2 +- 13 files changed, 250 insertions(+), 58 deletions(-) create mode 100644 src/PVGUI/view/PVViewer_GUIElements.cxx create mode 100644 src/PVGUI/view/PVViewer_GUIElements.h diff --git a/src/PVGUI/PVGUI_Module.cxx b/src/PVGUI/PVGUI_Module.cxx index f1f9b836..afac53a0 100644 --- a/src/PVGUI/PVGUI_Module.cxx +++ b/src/PVGUI/PVGUI_Module.cxx @@ -39,6 +39,7 @@ #include "PVViewer_ViewModel.h" #include "PVGUI_Tools.h" #include "PVGUI_ParaViewSettingsPane.h" +#include "PVViewer_GUIElements.h" // SALOME Includes #include @@ -267,7 +268,8 @@ PVGUI_Module::PVGUI_Module() myTraceWindow(0), myStateCounter(0), myInitTimer(0), - myPushTraceTimer(0) + myPushTraceTimer(0), + myGuiElements(0) { #ifdef HAS_PV_DOC Q_INIT_RESOURCE( PVGUI ); @@ -338,6 +340,7 @@ void PVGUI_Module::initialize( CAM_Application* app ) // Initialize ParaView client and associated behaviors // and connect to externally launched pvserver PVViewer_ViewManager::ParaviewInitApp(aDesktop); + myGuiElements = PVViewer_GUIElements::GetInstance(aDesktop); // Remember current state of desktop toolbars QList foreignToolbars = aDesktop->findChildren(); @@ -603,12 +606,20 @@ bool PVGUI_Module::activateModule( SUIT_Study* study ) bool isDone = SalomeApp_Module::activateModule( study ); if ( !isDone ) return false; - showView( true ); // this will also trigger the connection to the server - // and the instanciation of the relevant PV behaviors + showView( true ); if ( mySourcesMenuId != -1 ) menuMgr()->show(mySourcesMenuId); if ( myFiltersMenuId != -1 ) menuMgr()->show(myFiltersMenuId); - if ( myFiltersMenuId != -1 ) menuMgr()->show(myMacrosMenuId); - if ( myFiltersMenuId != -1 ) menuMgr()->show(myToolbarsMenuId); + if ( myMacrosMenuId != -1 ) menuMgr()->show(myMacrosMenuId); + if ( myToolbarsMenuId != -1 ) menuMgr()->show(myToolbarsMenuId); + + // Update the various menus with the content pre-loaded in myGuiElements + QMenu* srcMenu = menuMgr()->findMenu( mySourcesMenuId ); + myGuiElements->updateSourcesMenu(srcMenu); + QMenu* filtMenu = menuMgr()->findMenu( myFiltersMenuId ); + myGuiElements->updateFiltersMenu(filtMenu); + QMenu* macMenu = menuMgr()->findMenu( myMacrosMenuId ); + myGuiElements->updateMacrosMenu(macMenu); + setMenuShown( true ); setToolShown( true ); @@ -865,7 +876,6 @@ void PVGUI_Module::executeScript(const char *script) \brief Returns trace string */ static const QString MYReplaceStr("paraview.simple"); -static const QString MYReplaceImportStr("except: from pvsimple import *"); QString PVGUI_Module::getTraceString() { vtkSMTrace *tracer = vtkSMTrace::GetActiveTracer(); @@ -873,6 +883,8 @@ QString PVGUI_Module::getTraceString() return QString(""); QString traceString(tracer->GetCurrentTrace()); + std::stringstream nl; nl << std::endl; // surely there is some Qt trick to do that in a portable way?? + traceString = "import pvsimple" + QString(nl.str().c_str()) + traceString; // Replace import "paraview.simple" by "pvsimple" if ((!traceString.isNull()) && traceString.length() != 0) { @@ -881,11 +893,6 @@ QString PVGUI_Module::getTraceString() traceString = traceString.replace(aPos, MYReplaceStr.length(), "pvsimple"); aPos = traceString.indexOf(MYReplaceStr, aPos); } - int aImportPos = traceString.indexOf(MYReplaceImportStr); - if(aImportPos != -1) - { - traceString = traceString.replace(aImportPos, MYReplaceImportStr.length(), "except:\n import pvsimple\n from pvsimple import *"); - } } return traceString; diff --git a/src/PVGUI/PVGUI_Module.h b/src/PVGUI/PVGUI_Module.h index c9787b31..edda5524 100644 --- a/src/PVGUI/PVGUI_Module.h +++ b/src/PVGUI/PVGUI_Module.h @@ -51,6 +51,7 @@ class pqPythonScriptEditor; class pqPVApplicationCore; class pqDataRepresentation; class pqRepresentation; +class PVViewer_GUIElements; class PVGUI_Module : public SalomeApp_Module { @@ -294,6 +295,8 @@ private: //! Timer used to regularly push the Python trace to the engine. QTimer * myPushTraceTimer; + + PVViewer_GUIElements * myGuiElements; }; #endif // PVGUI_Module_H diff --git a/src/PVGUI/PVGUI_Module_actions.cxx b/src/PVGUI/PVGUI_Module_actions.cxx index 1fdefc33..0d3555a0 100644 --- a/src/PVGUI/PVGUI_Module_actions.cxx +++ b/src/PVGUI/PVGUI_Module_actions.cxx @@ -23,6 +23,7 @@ // #include "PVGUI_Module.h" +#include #include #include @@ -422,10 +423,8 @@ void PVGUI_Module::pvCreateMenus() QMenu* aMenu = menuMgr()->findMenu( myRecentMenuId ); pqRecentFilesMenu* aRecentFilesMenu = new pqRecentFilesMenu( *aMenu, getApp()->desktop() ); QList 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 ); @@ -481,30 +480,25 @@ void PVGUI_Module::pvCreateMenus() createMenu( FullScreenId, aPVMnu ); // --- Menu "Sources" - // Install ParaView managers for "Sources" menu QMenu* aRes = 0; + PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desk); mySourcesMenuId = createMenu( tr( "MEN_DESK_SOURCES" ), -1, -1, 60); - if ( (aRes = getMenu( mySourcesMenuId )) ) { - pqParaViewMenuBuilders::buildSourcesMenu(*aRes, desk); - } + if ( (aRes = getMenu( mySourcesMenuId )) ) + guiElements->updateSourcesMenu(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); - } + if ( (aRes = getMenu( myFiltersMenuId )) ) + guiElements->updateFiltersMenu(aRes); // --- Menu "Macros" myMacrosMenuId = createMenu( tr( "MEN_MACROS" ), -1, -1, 80 ); - if ( (aRes = getMenu( myMacrosMenuId )) ) { - pqParaViewMenuBuilders::buildMacrosMenu(*aRes); - } + if ( (aRes = getMenu( myMacrosMenuId )) ) + guiElements->updateMacrosMenu(aRes); // --- Menu "Tools" - int aToolsMnu = createMenu( tr( "MEN_DESK_TOOLS" ), -1, -1, 90 ); createMenu( CreateCustomFilterId, aToolsMnu ); diff --git a/src/PVGUI/PVGUI_Module_widgets.cxx b/src/PVGUI/PVGUI_Module_widgets.cxx index 31792aba..b158fe35 100644 --- a/src/PVGUI/PVGUI_Module_widgets.cxx +++ b/src/PVGUI/PVGUI_Module_widgets.cxx @@ -23,6 +23,8 @@ // #include "PVGUI_Module.h" +#include "PVViewer_ViewManager.h" +#include "PVViewer_GUIElements.h" #include #include @@ -99,6 +101,7 @@ void PVGUI_Module::setupDockWidgets() { SUIT_Desktop* desk = application()->desktop(); + PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desk); desk->setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); desk->setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); @@ -108,8 +111,7 @@ void PVGUI_Module::setupDockWidgets() pipelineBrowserDock->setObjectName("pipelineBrowserDock"); pipelineBrowserDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::NoDockWidgetArea|Qt::RightDockWidgetArea ); desk->addDockWidget( Qt::LeftDockWidgetArea, pipelineBrowserDock ); - pqPipelineBrowserWidget* browser = new pqPipelineBrowserWidget(pipelineBrowserDock); - pqParaViewMenuBuilders::buildPipelineBrowserContextMenu(*browser); + pqPipelineBrowserWidget* browser = guiElements->getPipelineBrowserWidget(); pipelineBrowserDock->setWidget(browser); myDockWidgets[pipelineBrowserDock] = true; @@ -119,7 +121,7 @@ void PVGUI_Module::setupDockWidgets() propertiesDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::NoDockWidgetArea|Qt::RightDockWidgetArea ); desk->addDockWidget( Qt::LeftDockWidgetArea, propertiesDock ); - pqPropertiesPanel* propertiesPanel = new pqPropertiesPanel(propertiesDock); + pqPropertiesPanel* propertiesPanel = guiElements->getPropertiesPanel(); propertiesDock->setObjectName("propertiesPanel"); propertiesDock->setWidget(propertiesPanel); connect( propertiesPanel, SIGNAL( helpRequested(const QString&, const QString&) ), this, SLOT( showHelpForProxy(const QString&, const QString&) ) ); diff --git a/src/PVGUI/resources/PARAVIS_msg_en.ts b/src/PVGUI/resources/PARAVIS_msg_en.ts index a9b8e5cc..9acd36ca 100644 --- a/src/PVGUI/resources/PARAVIS_msg_en.ts +++ b/src/PVGUI/resources/PARAVIS_msg_en.ts @@ -1165,6 +1165,10 @@ PREF_STOP_TRACE Deactivate Trace (for next session only) + + PREF_NO_EXT_PVSERVER + Do not use external PVServer (Warning: scripts running outside SALOME's GUI will be unusable!) + PREF_SHOW_COLOR_LEGEND Show Color Legend diff --git a/src/PVGUI/view/CMakeLists.txt b/src/PVGUI/view/CMakeLists.txt index 6ba33bf4..ca037169 100644 --- a/src/PVGUI/view/CMakeLists.txt +++ b/src/PVGUI/view/CMakeLists.txt @@ -48,6 +48,7 @@ SET(_moc_HEADERS PVViewer_ViewModel.h PVViewer_ViewWindow.h PVViewer_Behaviors.h + PVViewer_GUIElements.h ) # header files / no moc processing @@ -69,6 +70,7 @@ SET(_other_SOURCES PVViewer_ViewWindow.cxx PVViewer_LogWindowAdapter.cxx PVViewer_Behaviors.cxx + PVViewer_GUIElements.cxx ) # sources / to compile diff --git a/src/PVGUI/view/PVViewer_Behaviors.cxx b/src/PVGUI/view/PVViewer_Behaviors.cxx index 5ff809ff..75fc467c 100644 --- a/src/PVGUI/view/PVViewer_Behaviors.cxx +++ b/src/PVGUI/view/PVViewer_Behaviors.cxx @@ -87,9 +87,6 @@ void PVViewer_Behaviors::instanciateMinimalBehaviors(SUIT_Desktop * desk) new pqCrashRecoveryBehavior(this); new pqCommandLineOptionsBehavior(this); - // Create a hidden pqPropertiesPanel() - hiddenProp = new pqPropertiesPanel(desk); - BehaviorLoadingLevel = 1; } } @@ -130,9 +127,3 @@ void PVViewer_Behaviors::instanciateAllBehaviors(SUIT_Desktop * desk) BehaviorLoadingLevel = 2; } } - -void PVViewer_Behaviors::onEmulateApply() -{ - if (hiddenProp) - hiddenProp->apply(); -} diff --git a/src/PVGUI/view/PVViewer_Behaviors.h b/src/PVGUI/view/PVViewer_Behaviors.h index f9858cb3..fa2d32af 100644 --- a/src/PVGUI/view/PVViewer_Behaviors.h +++ b/src/PVGUI/view/PVViewer_Behaviors.h @@ -41,18 +41,15 @@ public: PVViewer_Behaviors(SUIT_Desktop * parent); void instanciateMinimalBehaviors(SUIT_Desktop * desk); - void instanciateAllBehaviors(SUIT_Desktop * desk); virtual ~PVViewer_Behaviors() {} -public slots: - void onEmulateApply(); +//public slots: +// void onEmulateApply(); private: static int BehaviorLoadingLevel; - - pqPropertiesPanel * hiddenProp; }; #endif /* PVGUIBEHAVIORS_H_ */ diff --git a/src/PVGUI/view/PVViewer_GUIElements.cxx b/src/PVGUI/view/PVViewer_GUIElements.cxx new file mode 100644 index 00000000..57e1c158 --- /dev/null +++ b/src/PVGUI/view/PVViewer_GUIElements.cxx @@ -0,0 +1,102 @@ +// Copyright (C) 2010-2014 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// Author: Adrien Bruneton (CEA) + +#include "PVViewer_GUIElements.h" +#include "SUIT_Desktop.h" + +#include +#include +#include + +#include +#include +#include + +PVViewer_GUIElements * PVViewer_GUIElements::theInstance = 0; + +PVViewer_GUIElements::PVViewer_GUIElements(SUIT_Desktop* desk) : + propertiesPanel(0), pipelineBrowserWidget(0), + sourcesMenu(0) +{ + propertiesPanel = new pqPropertiesPanel(desk); + pipelineBrowserWidget = new pqPipelineBrowserWidget(desk); + + sourcesMenu = new QMenu(desk); + pqParaViewMenuBuilders::buildSourcesMenu(*sourcesMenu, desk); + + filtersMenu = new QMenu(desk); + pqParaViewMenuBuilders::buildFiltersMenu(*filtersMenu, desk); + + macrosMenu = new QMenu(desk); + pqParaViewMenuBuilders::buildMacrosMenu(*macrosMenu); +} + +PVViewer_GUIElements * PVViewer_GUIElements::GetInstance(SUIT_Desktop* desk) +{ + if (! theInstance) + theInstance = new PVViewer_GUIElements(desk); + return theInstance; +} + +void PVViewer_GUIElements::updateSourcesMenu(QMenu *menu) +{ + if (menu) + { + menu->clear(); + QList act_list = sourcesMenu->actions(); + foreach(QAction * a, act_list) + { + menu->addAction(a); + } + } +} + +void PVViewer_GUIElements::updateFiltersMenu(QMenu *menu) +{ + if (menu) + { + menu->clear(); + QList act_list = filtersMenu->actions(); + foreach(QAction * a, act_list) + { + menu->addAction(a); + } + } +} + +void PVViewer_GUIElements::updateMacrosMenu(QMenu *menu) +{ + if (menu) + { + menu->clear(); + QList act_list = macrosMenu->actions(); + foreach(QAction * a, act_list) + { + menu->addAction(a); + } + } +} + + +void PVViewer_GUIElements::onEmulateApply() +{ + if (propertiesPanel) + propertiesPanel->apply(); +} diff --git a/src/PVGUI/view/PVViewer_GUIElements.h b/src/PVGUI/view/PVViewer_GUIElements.h new file mode 100644 index 00000000..ca0634e0 --- /dev/null +++ b/src/PVGUI/view/PVViewer_GUIElements.h @@ -0,0 +1,71 @@ +// Copyright (C) 2010-2014 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// Author: Adrien Bruneton (CEA) + +#ifndef PVVIEWERGUIELEMENTS_H_ +#define PVVIEWERGUIELEMENTS_H_ + +#include + +class pqPropertiesPanel; +class pqPipelineBrowserWidget; +class SUIT_Desktop; +class QMenu; + +/*! + * Some GUI elements of ParaView need to be instanciated in a proper order. This class + * holds all of them for the sake of clarity. + * For example sources menu should be built *before* loading ParaView's configuration, so that the + * list of sources gets properly populated. + */ +class PVViewer_GUIElements: public QObject +{ + Q_OBJECT + +public: + static PVViewer_GUIElements * GetInstance(SUIT_Desktop* desk); + + pqPropertiesPanel * getPropertiesPanel() { return propertiesPanel; } + pqPipelineBrowserWidget * getPipelineBrowserWidget() { return pipelineBrowserWidget; } + + // Update the sources menu from what was built in private member 'sourcesMenu' + void updateSourcesMenu(QMenu *); + void updateFiltersMenu(QMenu *); + void updateMacrosMenu(QMenu *); + +public slots: + void onEmulateApply(); // better use the slot from PVViewer_ViewManager if you want to trigger "Apply" + +private: + PVViewer_GUIElements(SUIT_Desktop* desk); + virtual ~PVViewer_GUIElements() {} + + static PVViewer_GUIElements * theInstance; + + // Widgets + pqPropertiesPanel * propertiesPanel; + pqPipelineBrowserWidget * pipelineBrowserWidget; + + // Dummy QMenus receiving ParaView's reaction for automatic add when new sources are added + QMenu * sourcesMenu; + QMenu * filtersMenu; + QMenu * macrosMenu; +}; + +#endif /* PVVIEWERGUIELEMENTS_H_ */ diff --git a/src/PVGUI/view/PVViewer_ViewManager.cxx b/src/PVGUI/view/PVViewer_ViewManager.cxx index 4ce11704..6e9b640b 100644 --- a/src/PVGUI/view/PVViewer_ViewManager.cxx +++ b/src/PVGUI/view/PVViewer_ViewManager.cxx @@ -16,11 +16,13 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -#include -#include -#include -#include -#include +#include "PVViewer_ViewManager.h" +#include "PVViewer_ViewModel.h" +#include "PVViewer_ViewWindow.h" +#include "PVViewer_LogWindowAdapter.h" +#include "PVViewer_GUIElements.h" +#include "PVViewer_Behaviors.h" + #include #include #include @@ -36,6 +38,7 @@ #include #include #include + #include #include @@ -47,6 +50,9 @@ #include #include +#include +#include + //---------- Static init ----------------- pqPVApplicationCore* PVViewer_ViewManager::MyCoreApp = 0; PARAVIS_ORB::PARAVIS_Gen_var PVViewer_ViewManager::MyEngine; @@ -57,14 +63,15 @@ PVViewer_Behaviors * PVViewer_ViewManager::ParaviewBehaviors = NULL; Constructor */ PVViewer_ViewManager::PVViewer_ViewManager( SUIT_Study* study, SUIT_Desktop* desk ) -: SUIT_ViewManager( study, desk, new PVViewer_Viewer() ) +: SUIT_ViewManager( study, desk, new PVViewer_Viewer() ), + desktop(desk) { MESSAGE("PARAVIS - view manager created ...") setTitle( tr( "PARAVIEW_VIEW_TITLE" ) ); // Initialize minimal paraview stuff (if not already done) ParaviewInitApp(desk); - connect(this, SIGNAL(viewCreated(SUIT_ViewWindow*)), this, SLOT(onPVViewCreated(SUIT_ViewWindow*))); +// connect(this, SIGNAL(viewCreated(SUIT_ViewWindow*)), this, SLOT(onPVViewCreated(SUIT_ViewWindow*))); } pqPVApplicationCore * PVViewer_ViewManager::GetPVApplication() @@ -125,7 +132,8 @@ bool PVViewer_ViewManager::ParaviewInitApp(SUIT_Desktop * aDesktop) free(argv[i]); delete[] argv; } - + // Initialize GUI elements if needed: + PVViewer_GUIElements::GetInstance(aDesktop); return true; } @@ -146,6 +154,7 @@ void PVViewer_ViewManager::ParaviewLoadConfigurations() { SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); QString aPath = resMgr->stringValue("resources", "PARAVIS", QString()); + std::cout << "loading conf from: " << aPath.toStdString() << std::endl; if (!aPath.isNull()) { MyCoreApp->loadConfiguration(aPath + QDir::separator() + "ParaViewFilters.xml"); MyCoreApp->loadConfiguration(aPath + QDir::separator() + "ParaViewReaders.xml"); @@ -247,9 +256,15 @@ bool PVViewer_ViewManager::ConnectToExternalPVServer(SUIT_Desktop* aDesktop) return true; } -void PVViewer_ViewManager::onPVViewCreated(SUIT_ViewWindow* w) +//void PVViewer_ViewManager::onPVViewCreated(SUIT_ViewWindow* w) +//{ +// PVViewer_ViewWindow * w2 = dynamic_cast(w); +// Q_ASSERT(w2 != NULL); +// connect(w2, SIGNAL(applyRequest()), ParaviewBehaviors, SLOT(onEmulateApply())); +//} + +void PVViewer_ViewManager::onEmulateApply() { - PVViewer_ViewWindow * w2 = dynamic_cast(w); - Q_ASSERT(w2 != NULL); - connect(w2, SIGNAL(applyRequest()), ParaviewBehaviors, SLOT(onEmulateApply())); + PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desktop); + guiElements->onEmulateApply(); } diff --git a/src/PVGUI/view/PVViewer_ViewManager.h b/src/PVGUI/view/PVViewer_ViewManager.h index a9951565..5e359b5a 100644 --- a/src/PVGUI/view/PVViewer_ViewManager.h +++ b/src/PVGUI/view/PVViewer_ViewManager.h @@ -30,6 +30,7 @@ class pqTabbedMultiViewWidget; class pqPVApplicationCore; class PVViewer_Behaviors; class pqPropertiesPanel; +class pqPipelineBrowserWidget; class PVViewer_ViewManager : public SUIT_ViewManager { @@ -53,13 +54,16 @@ public: static bool ConnectToExternalPVServer(SUIT_Desktop* aDesktop); public slots: - void onPVViewCreated(SUIT_ViewWindow*); +// void onPVViewCreated(SUIT_ViewWindow*); + void onEmulateApply(); private: static pqPVApplicationCore* MyCoreApp; static PARAVIS_ORB::PARAVIS_Gen_var MyEngine; static bool ConfigLoaded; static PVViewer_Behaviors * ParaviewBehaviors; + + SUIT_Desktop * desktop; }; #endif diff --git a/src/PVGUI/view/PVViewer_ViewWindow.cxx b/src/PVGUI/view/PVViewer_ViewWindow.cxx index 415717a5..c7fff08a 100644 --- a/src/PVGUI/view/PVViewer_ViewWindow.cxx +++ b/src/PVGUI/view/PVViewer_ViewWindow.cxx @@ -22,6 +22,7 @@ #include "PVViewer_ViewWindow.h" #include "PVViewer_ViewManager.h" +#include "PVViewer_GUIElements.h" #include #include @@ -53,7 +54,6 @@ PVViewer_ViewWindow::PVViewer_ViewWindow( SUIT_Desktop* theDesktop, PVViewer_Vie setCentralWidget( myPVMgr ); // Finish ParaView set up: behaviors, connection and configurations. - // None of this is invoked in PARAVIS module case as it done earlier than View creation: PVViewer_ViewManager::ParaviewInitBehaviors(true, theDesktop); PVViewer_ViewManager::ConnectToExternalPVServer(theDesktop); PVViewer_ViewManager::ParaviewLoadConfigurations(); -- 2.39.2