- setupDockWidgets();
-
- pvCreateActions();
- pvCreateToolBars();
- pvCreateMenus();
-
- QList<QDockWidget*> activeDocks = aDesktop->findChildren<QDockWidget*>();
- QList<QMenu*> activeMenus = aDesktop->findChildren<QMenu*>();
-
- // new pqParaViewBehaviors(anApp->desktop(), this);
- // Has to be replaced in order to exclude using of pqQtMessageHandlerBehaviour
- // Start pqParaViewBehaviors
- // Register ParaView interfaces.
- //pqPluginManager* pgm = pqApplicationCore::instance()->getPluginManager();
- pqInterfaceTracker* pgm = pqApplicationCore::instance()->interfaceTracker();
-
- // * adds support for standard paraview views.
- pgm->addInterface(new pqStandardViewModules(pgm));
- //pgm->addInterface(new pqStandardSummaryPanelImplementation(pgm));
- pgm->addInterface(new pqStandardPropertyWidgetInterface(pgm));
-
- // Load plugins distributed with application.
- pqApplicationCore::instance()->loadDistributedPlugins();
-
- // Define application behaviors.
- //new pqQtMessageHandlerBehavior(this);
- new pqDataTimeStepBehavior(this);
- new pqViewFrameActionsBehavior(this);
- new pqSpreadSheetVisibilityBehavior(this);
- new pqPipelineContextMenuBehavior(this);
- new pqObjectPickingBehavior(this); // NEW in 4.1
- new pqDefaultViewBehavior(this);
- new pqAlwaysConnectedBehavior(this);
- new pqPVNewSourceBehavior(this);
- new pqDeleteBehavior(this);
- new pqUndoRedoBehavior(this);
- new pqCrashRecoveryBehavior(this);
- new pqAutoLoadPluginXMLBehavior(this);
- new pqPluginDockWidgetsBehavior(aDesktop);
- //new pqVerifyRequiredPluginBehavior(this);
- new pqPluginActionGroupBehavior(aDesktop);
- //new pqFixPathsInStateFilesBehavior(this);
- new pqCommandLineOptionsBehavior(this);
- new pqPersistentMainWindowStateBehavior(aDesktop);
- new pqObjectPickingBehavior(aDesktop);
- new pqCollaborationBehavior(this);
- //new pqMultiServerBehavior(this);
- new pqViewStreamingBehavior(this);
-
- // Setup quick-launch shortcuts.
- QShortcut *ctrlSpace = new QShortcut(Qt::CTRL + Qt::Key_Space, aDesktop);
- QObject::connect(ctrlSpace, SIGNAL(activated()),
- pqApplicationCore::instance(), SLOT(quickLaunch()));
-
- // Find Plugin Dock Widgets
- QList<QDockWidget*> currentDocks = aDesktop->findChildren<QDockWidget*>();
- QList<QDockWidget*>::iterator i;
- for (i = currentDocks.begin(); i != currentDocks.end(); ++i) {
- if(!activeDocks.contains(*i)) {
- myDockWidgets[*i] = false; // hidden by default
- (*i)->hide();
- }
+ // Behaviors and connection must be instanciated *after* widgets are in place
+ // In PARAVIS module we do not wait for PVViewer_ViewWindow to be instanciated to have this:
+ PVViewer_ViewManager::ParaviewInitBehaviors(true, aDesktop);
+
+ pvCreateActions();
+ pvCreateMenus();
+ pvCreateToolBars();
+
+ // Connect after toolbar creation, etc ... as some activations of the toolbars is triggered
+ // by the ServerConnection event:
+ PVViewer_ViewManager::ConnectToExternalPVServer(aDesktop);
+
+ QList<QDockWidget*> activeDocks = aDesktop->findChildren<QDockWidget*>();
+ QList<QMenu*> activeMenus = aDesktop->findChildren<QMenu*>();
+
+ // Setup quick-launch shortcuts.
+ QShortcut *ctrlSpace = new QShortcut(Qt::CTRL + Qt::Key_Space, aDesktop);
+ QObject::connect(ctrlSpace, SIGNAL(activated()),
+ pqApplicationCore::instance(), SLOT(quickLaunch()));
+
+ // Find Plugin Dock Widgets
+ QList<QDockWidget*> currentDocks = aDesktop->findChildren<QDockWidget*>();
+ QList<QDockWidget*>::iterator i;
+ for (i = currentDocks.begin(); i != currentDocks.end(); ++i) {
+ if(!activeDocks.contains(*i)) {
+ myDockWidgets[*i] = false; // hidden by default
+ (*i)->hide();