]> SALOME platform Git repositories - modules/paravis.git/commitdiff
Salome HOME
Moved PVViewer code from PARAVIS into GUI
authorabn <adrien.bruneton@cea.fr>
Mon, 29 Sep 2014 14:56:33 +0000 (16:56 +0200)
committerabn <adrien.bruneton@cea.fr>
Mon, 29 Sep 2014 14:56:33 +0000 (16:56 +0200)
20 files changed:
CMakeLists.txt
adm_local/cmake_files/CMakeLists.txt
adm_local/cmake_files/FindSalomeParaView.cmake [deleted file]
src/PVGUI/CMakeLists.txt
src/PVGUI/PVGUI_Module.cxx
src/PVGUI/PVGUI_Module.h
src/PVGUI/view/CMakeLists.txt [deleted file]
src/PVGUI/view/PVViewer_Behaviors.cxx [deleted file]
src/PVGUI/view/PVViewer_Behaviors.h [deleted file]
src/PVGUI/view/PVViewer_GUIElements.cxx [deleted file]
src/PVGUI/view/PVViewer_GUIElements.h [deleted file]
src/PVGUI/view/PVViewer_LogWindowAdapter.cxx [deleted file]
src/PVGUI/view/PVViewer_LogWindowAdapter.h [deleted file]
src/PVGUI/view/PVViewer_ViewManager.cxx [deleted file]
src/PVGUI/view/PVViewer_ViewManager.h [deleted file]
src/PVGUI/view/PVViewer_ViewModel.cxx [deleted file]
src/PVGUI/view/PVViewer_ViewModel.h [deleted file]
src/PVGUI/view/PVViewer_ViewWindow.cxx [deleted file]
src/PVGUI/view/PVViewer_ViewWindow.h [deleted file]
src/PV_SWIG/no_wrap/pvsimple.py

index 8ebed9004281c2a7c30e855c4773b3e857a2ab86..c41977b7c90a1e3799a29c6d4177c2e7b35a15e1 100644 (file)
@@ -251,7 +251,7 @@ INCLUDE(CMakePackageConfigHelpers)
 # List of targets in this project we want to make visible to the rest of the world.
 # They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup"
 IF(NOT SALOME_LIGHT_ONLY)
-  SET(_${PROJECT_NAME}_exposed_targets SalomeIDLPARAVIS PARAVIS PVViewer)
+  SET(_${PROJECT_NAME}_exposed_targets SalomeIDLPARAVIS PARAVIS)
 
   # Add all targets to the build-tree export set
   EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets}
index f74fc683a31406e33c3551d3cd8b6a2f1101caca..1bc93159abcb3b8aaa036e23e5cf9c44536cc4d9 100644 (file)
@@ -18,7 +18,6 @@
 #
 
 SET(_adm_data
-  FindSalomeParaView.cmake
   FindSalomePARAVIS.cmake
   )
 
diff --git a/adm_local/cmake_files/FindSalomeParaView.cmake b/adm_local/cmake_files/FindSalomeParaView.cmake
deleted file mode 100644 (file)
index e7497ef..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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
-#
-
-# Graphviz detection for salome
-#
-#  !! Please read the generic detection procedure in SalomeMacros.cmake !!
-#
-
-SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(ParaView PARAVIEW_USE_FILE 4)
-#MARK_AS_ADVANCED()
-
-INCLUDE(${PARAVIEW_USE_FILE})
index 091812c56df61fc0b1f7e5f1f987c4179e3c1839..e8a95ccb85339a9952e135e031c72ac6c08f413f 100644 (file)
@@ -35,7 +35,7 @@ INCLUDE_DIRECTORIES(${OMNIORB_INCLUDE_DIR}
     )
 
 # Process viewer:
-ADD_SUBDIRECTORY(view)
+#ADD_SUBDIRECTORY(view)
 
 # additional preprocessor / compiler flags
 ADD_DEFINITIONS(${CAS_DEFINITIONS})
@@ -56,7 +56,8 @@ SET(_link_LIBRARIES
                  ${GUI_SalomeObject} ${GUI_vtkTools}
   ${MED_SalomeIDLMED}
   ${_PARAVIEW_APP_COMPO_LIB}
-  PVViewer
+  ${GUI_PVViewer}
+  SalomeIDLPARAVIS
 )
 
 # --- headers ---
index afac53a05057c1a59de52ef8875a4580e0beb8b6..36fdf5e53a7ce2c0dae3ec14c0933795103abbb4 100644 (file)
@@ -40,6 +40,7 @@
 #include "PVGUI_Tools.h"
 #include "PVGUI_ParaViewSettingsPane.h"
 #include "PVViewer_GUIElements.h"
+#include "PVViewer_EngineWrapper.h"
 
 // SALOME Includes
 #include <SUIT_DataBrowser.h>
 
 //----------------------------------------------------------------------------
 PVGUI_Module* ParavisModule = 0;
+PARAVIS_ORB::PARAVIS_Gen_var PVGUI_Module::MyEngine;
 
 /*!
   \mainpage
@@ -234,7 +236,7 @@ ClientFindOrCreateParavisComponent(_PTR(Study) theStudyDocument)
     // Create Attribute parameters for future using
     anAttr = aStudyBuilder->FindOrCreateAttribute(aSComponent, "AttributeParameter");
 
-    aStudyBuilder->DefineComponentInstance(aSComponent, PVGUI_Module::GetEngine()->GetIOR());
+    aStudyBuilder->DefineComponentInstance(aSComponent, PVGUI_Module::GetCPPEngine()->GetIOR());
     if (aLocked) theStudyDocument->GetProperties()->SetLocked(true);
     aStudyBuilder->CommitCommand();
   }
@@ -302,11 +304,18 @@ PVGUI_Module::~PVGUI_Module()
     delete myInitTimer;
 }
 
-PARAVIS_ORB::PARAVIS_Gen_var PVGUI_Module::GetEngine()
+PARAVIS_ORB::PARAVIS_Gen_var PVGUI_Module::GetCPPEngine()
 {
-  return PVViewer_ViewManager::GetEngine();
+  // initialize PARAVIS module engine (load, if necessary)
+  if ( CORBA::is_nil( MyEngine ) ) {
+      Engines::EngineComponent_var comp =
+          SalomeApp_Application::lcc()->FindOrLoad_Component( "FactoryServer", "PARAVIS" );
+      MyEngine = PARAVIS_ORB::PARAVIS_Gen::_narrow( comp );
+  }
+  return MyEngine;
 }
 
+
 pqPVApplicationCore * PVGUI_Module::GetPVApplication()
 {
   return PVViewer_ViewManager::GetPVApplication();
@@ -767,7 +776,7 @@ void PVGUI_Module::onModelOpened()
   }
   
   _PTR(SComponent) paravisComp = 
-    studyDS->FindComponent(GetEngine()->ComponentDataType());
+    studyDS->FindComponent(GetCPPEngine()->ComponentDataType());
   if(!paravisComp) {
     return;
   }
@@ -791,7 +800,7 @@ void PVGUI_Module::onModelOpened()
 */
 QString PVGUI_Module::engineIOR() const
 {
-  CORBA::String_var anIOR = GetEngine()->GetIOR();
+  CORBA::String_var anIOR = GetCPPEngine()->GetIOR();
   return QString(anIOR.in());
 }
 
@@ -1014,7 +1023,7 @@ void PVGUI_Module::contextMenuPopup(const QString& theClient, QMenu* theMenu, QS
       return;
     }
 
-    QString paravisDataType(GetEngine()->ComponentDataType());
+    QString paravisDataType(GetCPPEngine()->ComponentDataType());
     if(activeStudy && activeStudy->isComponent(entry) && 
        activeStudy->componentDataType(entry) == paravisDataType) {
       // ParaViS module object
@@ -1096,7 +1105,7 @@ void PVGUI_Module::onSaveMultiState()
   }
   
   _PTR(SComponent) paravisComp = 
-    studyDS->FindComponent(GetEngine()->ComponentDataType());
+    studyDS->FindComponent(GetCPPEngine()->ComponentDataType());
   if(!paravisComp) {
     return;
   }
@@ -1263,7 +1272,7 @@ void PVGUI_Module::onDelete()
 void PVGUI_Module::onPushTraceTimer()
 {
 //  MESSAGE("onPushTraceTimer(): Pushing trace to engine...");
-  GetEngine()->PutPythonTraceStringToEngine(getTraceString().toStdString().c_str());
+  GetCPPEngine()->PutPythonTraceStringToEngine(getTraceString().toStdString().c_str());
 }
 
 /*!
index edda55245c5d221837a3cd7746b35e7aa77d7a02..c6b608a73edfe7329ac4bffa8207b1230ee6b358 100644 (file)
@@ -29,9 +29,7 @@
 #include <SalomeApp_Module.h>
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SALOMEDS)
-#ifndef PARAVIS_WITH_FULL_CORBA
-#    include CORBA_SERVER_HEADER(PARAVIS_Gen)
-#endif
+#include CORBA_SERVER_HEADER(PARAVIS_Gen)
 
 #include <ostream>
 #include <vtkType.h>
@@ -166,7 +164,8 @@ public:
 
   virtual void contextMenuPopup(const QString& theClient, QMenu* theMenu, QString& theTitle);
 
-  inline static PARAVIS_ORB::PARAVIS_Gen_var GetEngine();
+  // Get the unwrapped version of the engine - compare with PVViewer_EngineWrapper.
+  inline static PARAVIS_ORB::PARAVIS_Gen_var GetCPPEngine();
   inline static pqPVApplicationCore * GetPVApplication();
 
 public slots:
@@ -297,6 +296,8 @@ private:
   QTimer             * myPushTraceTimer;
 
   PVViewer_GUIElements * myGuiElements;
+
+  static PARAVIS_ORB::PARAVIS_Gen_var MyEngine;
 };
 
 #endif // PVGUI_Module_H
diff --git a/src/PVGUI/view/CMakeLists.txt b/src/PVGUI/view/CMakeLists.txt
deleted file mode 100644 (file)
index ca03716..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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
-#
-
-INCLUDE(UseQt4Ext)
-
-# --- options ---
-
-INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS} 
-    ${QT_INCLUDES}
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    )
-
-SET(_PARAVIEW_APP_COMPO_LIB
-  pqApplicationComponents
-  )
-
-ADD_DEFINITIONS(${KERNEL_DEFINITIONS})
-ADD_DEFINITIONS(${OMNIORB_DEFINITIONS})
-
-SET(_link_LIBRARIES 
-  ${KERNEL_LDFLAGS} ${KERNEL_SALOMELocalTrace} ${KERNEL_SalomeLifeCycleCORBA}
-  ${GUI_LDFLAGS} ${GUI_SalomeApp} ${GUI_LightApp} ${GUI_suit} ${GUI_Event} 
-  ${_PARAVIEW_APP_COMPO_LIB}
-  SalomeIDLPARAVIS
-)
-
-# --- headers ---
-
-# header files / to be processed by moc
-SET(_moc_HEADERS
-  PVViewer_ViewManager.h
-  PVViewer_ViewModel.h
-  PVViewer_ViewWindow.h
-  PVViewer_Behaviors.h
-  PVViewer_GUIElements.h
-)
-
-# header files / no moc processing
-SET(_other_HEADERS
-  PVViewer_LogWindowAdapter.h
-)
-# header files / to install
-SET(PVViewer_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
-
-# --- sources ---
-
-# sources / moc wrappings
-QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
-
-# sources / static
-SET(_other_SOURCES
-  PVViewer_ViewManager.cxx
-  PVViewer_ViewModel.cxx
-  PVViewer_ViewWindow.cxx
-  PVViewer_LogWindowAdapter.cxx
-  PVViewer_Behaviors.cxx
-  PVViewer_GUIElements.cxx
-  )
-  
-# sources / to compile
-SET(PVViewer_SOURCES 
-  ${_other_SOURCES} 
-  ${_moc_SOURCES} 
-  )
-
-# --- rules ---
-ADD_LIBRARY(PVViewer ${PVViewer_SOURCES})
-
-TARGET_LINK_LIBRARIES(PVViewer ${_link_LIBRARIES})
-INSTALL(TARGETS PVViewer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
-
-# --- header and resources installation ---
-INSTALL(FILES ${PVViewer_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
diff --git a/src/PVGUI/view/PVViewer_Behaviors.cxx b/src/PVGUI/view/PVViewer_Behaviors.cxx
deleted file mode 100644 (file)
index 75fc467..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-// 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_Behaviors.h"
-
-#include <SUIT_Desktop.h>
-#include <SalomeApp_Module.h>
-
-#include <pqInterfaceTracker.h>
-#include <pqApplicationCore.h>
-#include <pqPluginManager.h>
-#include <pqStandardPropertyWidgetInterface.h>
-#include <pqStandardViewFrameActionsImplementation.h>
-#include <pqPropertiesPanel.h>
-
-#include <pqAlwaysConnectedBehavior.h>
-#include <pqAutoLoadPluginXMLBehavior.h>
-#include <pqCommandLineOptionsBehavior.h>
-#include <pqCrashRecoveryBehavior.h>
-#include <pqDataTimeStepBehavior.h>
-#include <pqDefaultViewBehavior.h>
-#include <pqObjectPickingBehavior.h>
-#include <pqPersistentMainWindowStateBehavior.h>
-#include <pqPipelineContextMenuBehavior.h>
-#include <pqPluginActionGroupBehavior.h>
-#include <pqPluginDockWidgetsBehavior.h>
-#include <pqSpreadSheetVisibilityBehavior.h>
-#include <pqUndoRedoBehavior.h>
-#include <pqViewStreamingBehavior.h>
-#include <pqCollaborationBehavior.h>
-#include <pqVerifyRequiredPluginBehavior.h>
-#include <pqPluginSettingsBehavior.h>
-#include <pqFixPathsInStateFilesBehavior.h>
-#include <pqApplyBehavior.h>
-
-#include <pqPropertiesPanel.h>
-
-int PVViewer_Behaviors::BehaviorLoadingLevel = 0;
-
-PVViewer_Behaviors::PVViewer_Behaviors(SUIT_Desktop * parent)
-  : QObject(static_cast<QObject *>(parent))
-{
-}
-
-/**! Instanciate minimal ParaView behaviors needed when using an instance of PVViewer.
- * This method should be updated at each new version of ParaView with what is found in
- *    Qt/ApplicationComponents/pqParaViewBehaviors.cxx
- */
-void PVViewer_Behaviors::instanciateMinimalBehaviors(SUIT_Desktop * desk)
-{
-  if (BehaviorLoadingLevel < 1)
-    {
-      // Register ParaView interfaces.
-      pqInterfaceTracker* pgm = pqApplicationCore::instance()->interfaceTracker();
-
-      // Register standard types of property widgets.
-      pgm->addInterface(new pqStandardPropertyWidgetInterface(pgm));
-      // Register standard types of view-frame actions.
-      pgm->addInterface(new pqStandardViewFrameActionsImplementation(pgm));
-
-      // Load plugins distributed with application.
-      pqApplicationCore::instance()->loadDistributedPlugins();
-
-      new pqDefaultViewBehavior(this);  // shows a 3D view as soon as a server connection is made
-      new pqAlwaysConnectedBehavior(this);  // client always connected to a server
-      new pqAutoLoadPluginXMLBehavior(this);  // auto load plugins
-      new pqVerifyRequiredPluginBehavior(this);
-      new pqPluginSettingsBehavior(this);
-      new pqFixPathsInStateFilesBehavior(this);
-      new pqCrashRecoveryBehavior(this);
-      new pqCommandLineOptionsBehavior(this);
-
-      BehaviorLoadingLevel = 1;
-    }
-}
-
-/**! Instanciate usual ParaView behaviors.
- * This method should be updated at each new version of ParaView with what is found in
- *    Qt/ApplicationComponents/pqParaViewBehaviors.cxx
- */
-void PVViewer_Behaviors::instanciateAllBehaviors(SUIT_Desktop * desk)
-{
-  //    "new pqParaViewBehaviors(anApp->desktop(), this);"
-  // -> (which loads all standard ParaView behaviors at once) has to be replaced in order to
-  // exclude using of pqQtMessageHandlerBehaviour
-
-  // Define application behaviors.
-  if (BehaviorLoadingLevel < 1)
-    instanciateMinimalBehaviors(desk);
-
-  if (BehaviorLoadingLevel < 2)
-    {
-      //new pqQtMessageHandlerBehavior(this);   // THIS ONE TO EXCLUDE !! see comment above
-      new pqDataTimeStepBehavior(this);
-      new pqSpreadSheetVisibilityBehavior(this);
-      new pqPipelineContextMenuBehavior(this);
-      new pqUndoRedoBehavior(this);
-      new pqPluginDockWidgetsBehavior(desk);
-      new pqPluginActionGroupBehavior(desk);
-      new pqPersistentMainWindowStateBehavior(desk);
-      new pqObjectPickingBehavior(desk);
-      new pqCollaborationBehavior(this);
-      new pqViewStreamingBehavior(this);
-
-      pqApplyBehavior* applyBehavior = new pqApplyBehavior(this);
-      foreach (pqPropertiesPanel* ppanel, desk->findChildren<pqPropertiesPanel*>())
-      {
-        applyBehavior->registerPanel(ppanel);
-      }
-      BehaviorLoadingLevel = 2;
-    }
-}
diff --git a/src/PVGUI/view/PVViewer_Behaviors.h b/src/PVGUI/view/PVViewer_Behaviors.h
deleted file mode 100644 (file)
index fa2d32a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 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 PVGUIBEHAVIORS_H_
-#define PVGUIBEHAVIORS_H_
-
-#include <QObject>
-
-class SalomeApp_Module;
-class SUIT_Desktop;
-class pqPropertiesPanel;
-
-/**!
- * PARAVIS behaviors - mimic what is done in
- *    Qt/ApplicationComponents/pqParaViewBehaviors.cxx
- * Except a few ones, behaviors are destroyed when the module is destroyed.
- */
-class PVViewer_Behaviors: public QObject
-{
-  Q_OBJECT
-
-public:
-  PVViewer_Behaviors(SUIT_Desktop * parent);
-
-  void instanciateMinimalBehaviors(SUIT_Desktop * desk);
-  void instanciateAllBehaviors(SUIT_Desktop * desk);
-
-  virtual ~PVViewer_Behaviors() {}
-
-//public slots:
-//  void onEmulateApply();
-
-private:
-  static int BehaviorLoadingLevel;
-};
-
-#endif /* PVGUIBEHAVIORS_H_ */
diff --git a/src/PVGUI/view/PVViewer_GUIElements.cxx b/src/PVGUI/view/PVViewer_GUIElements.cxx
deleted file mode 100644 (file)
index 57e1c15..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-// 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 <pqPropertiesPanel.h>
-#include <pqPipelineBrowserWidget.h>
-#include <pqParaViewMenuBuilders.h>
-
-#include <QMenu>
-#include <QList>
-#include <QAction>
-
-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<QAction *> act_list = sourcesMenu->actions();
-      foreach(QAction * a, act_list)
-      {
-        menu->addAction(a);
-      }
-    }
-}
-
-void PVViewer_GUIElements::updateFiltersMenu(QMenu *menu)
-{
-  if (menu)
-    {
-      menu->clear();
-      QList<QAction *> act_list = filtersMenu->actions();
-      foreach(QAction * a, act_list)
-      {
-        menu->addAction(a);
-      }
-    }
-}
-
-void PVViewer_GUIElements::updateMacrosMenu(QMenu *menu)
-{
-  if (menu)
-    {
-      menu->clear();
-      QList<QAction *> 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
deleted file mode 100644 (file)
index ca0634e..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-// 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 <QObject>
-
-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_LogWindowAdapter.cxx b/src/PVGUI/view/PVViewer_LogWindowAdapter.cxx
deleted file mode 100644 (file)
index 736b77b..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// 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
-//
-
-#include "PVViewer_LogWindowAdapter.h"
-
-#include <vtkObjectFactory.h>
-
-#include <LightApp_Application.h>
-#include <LogWindow.h>
-#include <SUIT_Session.h>
-#include <SALOME_Event.h>
-
-vtkStandardNewMacro(PVViewer_LogWindowAdapter);
-
-
-
-/*!
- * Put the message in the log window. 
- */
-class TEvent: public SALOME_Event {
-  LogWindow* myWindow;
-  QString    myMsg;
-  QColor     myColor;
-  int        myFlags;
-  public:
-  TEvent( LogWindow* theWindow,  const QString theMsg, const QColor theColor, const int flags) :
-    myWindow ( theWindow ),
-    myMsg ( theMsg ),
-    myColor ( theColor ),
-    myFlags (flags)
-  {}
-
-  virtual void Execute() {
-    if(myWindow)
-      myWindow->putMessage(myMsg, myColor, myFlags);
-  }
-};
-
-
-PVViewer_LogWindowAdapter::PVViewer_LogWindowAdapter() :
-  TextCount(0),
-  ErrorCount(0),
-  WarningCount(0),
-  GenericWarningCount(0)
-{
-}
-
-PVViewer_LogWindowAdapter::~PVViewer_LogWindowAdapter()
-{
-}
-
-const unsigned int PVViewer_LogWindowAdapter::getTextCount()
-{
-  return this->TextCount;
-}
-
-const unsigned int PVViewer_LogWindowAdapter::getErrorCount()
-{
-  return this->ErrorCount;
-}
-
-const unsigned int PVViewer_LogWindowAdapter::getWarningCount()
-{
-  return this->WarningCount;
-}
-
-const unsigned int PVViewer_LogWindowAdapter::getGenericWarningCount()
-{
-  return this->GenericWarningCount;
-}
-
-static LogWindow* getLogWindow()
-{
-  LogWindow* wnd = 0;
-  LightApp_Application* anApp = dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() );
-  if ( anApp )
-    wnd = anApp->logWindow();
-  return wnd;
-}
-
-void PVViewer_LogWindowAdapter::DisplayText(const char* text)
-{
-  ++this->TextCount;
-  ProcessVoidEvent( new TEvent( getLogWindow(), text, Qt::darkGreen, LogWindow::DisplayNormal ));
-}
-
-void PVViewer_LogWindowAdapter::DisplayErrorText(const char* text)
-{
-  ++this->ErrorCount;
-  ProcessVoidEvent( new TEvent( getLogWindow(), text, Qt::darkRed, LogWindow::DisplayNormal ));
-}
-
-void PVViewer_LogWindowAdapter::DisplayWarningText(const char* text)
-{
-  ++this->WarningCount;
-  ProcessVoidEvent( new TEvent( getLogWindow(), text, Qt::black, LogWindow::DisplayNormal ));
-}
-
-void PVViewer_LogWindowAdapter::DisplayGenericWarningText(const char* text)
-{
-  ++this->GenericWarningCount;
-  ProcessVoidEvent( new TEvent( getLogWindow() , text, Qt::black, LogWindow::DisplayNormal ));
-}
diff --git a/src/PVGUI/view/PVViewer_LogWindowAdapter.h b/src/PVGUI/view/PVViewer_LogWindowAdapter.h
deleted file mode 100644 (file)
index cd8332a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// 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
-//
-
-#ifndef _PVViewer_LogWindowAdapter_h
-#define _PVViewer_LogWindowAdapter_h
-
-#include <vtkOutputWindow.h>
-
-/*!
-vtkOutputWindow implementation that puts VTK output messages to SALOME log window.
-
-To use, create an instance of PVViewer_LogWindowAdapter and pass it to the
-vtkOutputWindow::setInstance() static method.
-
-This class is based on pqOutputWindow ParaView class.
-*/
-class PVViewer_LogWindowAdapter : public vtkOutputWindow
-{
-public:
-  static PVViewer_LogWindowAdapter *New();
-  vtkTypeMacro(PVViewer_LogWindowAdapter, vtkOutputWindow);
-
-  //! Returns the number of text messages received
-  const unsigned int getTextCount();
-  //! Returns the number of error messages received
-  const unsigned int getErrorCount();
-  //! Returns the number of warning messages received
-  const unsigned int getWarningCount();
-  //! Returns the number of generic warning messages received
-  const unsigned int getGenericWarningCount();
-
-private:
-  PVViewer_LogWindowAdapter();
-  PVViewer_LogWindowAdapter(const PVViewer_LogWindowAdapter&);
-  PVViewer_LogWindowAdapter& operator=(const PVViewer_LogWindowAdapter&);
-  ~PVViewer_LogWindowAdapter();
-
-  unsigned int TextCount;
-  unsigned int ErrorCount;
-  unsigned int WarningCount;
-  unsigned int GenericWarningCount;
-
-  virtual void DisplayText(const char*);
-  virtual void DisplayErrorText(const char*);
-  virtual void DisplayWarningText(const char*);
-  virtual void DisplayGenericWarningText(const char*);
-};
-
-#endif // !_PVViewer_LogWindowAdapter_h
diff --git a/src/PVGUI/view/PVViewer_ViewManager.cxx b/src/PVGUI/view/PVViewer_ViewManager.cxx
deleted file mode 100644 (file)
index 6e9b640..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-// 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
-//
-#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 <utilities.h>
-#include <SalomeApp_Application.h>
-#include <SALOMEconfig.h>
-#include <SALOME_LifeCycleCORBA.hxx>
-#include <SUIT_MessageBox.h>
-#include <SUIT_Desktop.h>
-#include <SUIT_Session.h>
-#include <SUIT_ResourceMgr.h>
-#include <PyInterp_Interp.h>
-#include <PyConsole_Interp.h>
-#include <PyConsole_Console.h>
-
-#include <QApplication>
-#include <QStringList>
-#include <QDir>
-
-#include <string>
-
-#include <pqOptions.h>
-#include <pqServer.h>
-#include <pqSettings.h>
-#include <pqServerDisconnectReaction.h>
-#include <pqPVApplicationCore.h>
-#include <pqTabbedMultiViewWidget.h>
-#include <pqActiveObjects.h>
-#include <pqServerConnectReaction.h>
-
-#include <pqParaViewMenuBuilders.h>
-#include <pqPipelineBrowserWidget.h>
-
-//---------- Static init -----------------
-pqPVApplicationCore* PVViewer_ViewManager::MyCoreApp = 0;
-PARAVIS_ORB::PARAVIS_Gen_var PVViewer_ViewManager::MyEngine;
-bool PVViewer_ViewManager::ConfigLoaded = false;
-PVViewer_Behaviors * PVViewer_ViewManager::ParaviewBehaviors = NULL;
-
-/*!
-  Constructor
-*/
-PVViewer_ViewManager::PVViewer_ViewManager( SUIT_Study* study, SUIT_Desktop* desk )
-: 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*)));
-}
-
-pqPVApplicationCore * PVViewer_ViewManager::GetPVApplication()
-{
-  return MyCoreApp;
-}
-
-/*!
-  \brief Static method, performs initialization of ParaView session.
-  \param fullSetup whether to instanciate all behaviors or just the minimal ones.
-  \return \c true if ParaView has been initialized successfully, otherwise false
-*/
-bool PVViewer_ViewManager::ParaviewInitApp(SUIT_Desktop * aDesktop)
-{
-  if ( ! MyCoreApp) {
-      // Obtain command-line arguments
-      int argc = 0;
-      char** argv = 0;
-      QString aOptions = getenv("PARAVIS_OPTIONS");
-      QStringList aOptList = aOptions.split(":", QString::SkipEmptyParts);
-      argv = new char*[aOptList.size() + 1];
-      QStringList args = QApplication::arguments();
-      argv[0] = (args.size() > 0)? strdup(args[0].toLatin1().constData()) : strdup("paravis");
-      argc++;
-
-      foreach (QString aStr, aOptList) {
-        argv[argc] = strdup( aStr.toLatin1().constData() );
-        argc++;
-      }
-      MyCoreApp = new pqPVApplicationCore (argc, argv);
-      if (MyCoreApp->getOptions()->GetHelpSelected() ||
-          MyCoreApp->getOptions()->GetUnknownArgument() ||
-          MyCoreApp->getOptions()->GetErrorMessage() ||
-          MyCoreApp->getOptions()->GetTellVersion()) {
-          return false;
-      }
-
-      // Direct VTK log messages to our SALOME window - TODO: review this
-      vtkOutputWindow::SetInstance(PVViewer_LogWindowAdapter::New());
-
-      new pqTabbedMultiViewWidget(); // registers a "MULTIVIEW_WIDGET" on creation
-
-      // At this stage, the pqPythonManager has been initialized, i.e. the current process has
-      // activated the embedded Python interpreter. "paraview" package has also been imported once already.
-      // Make sure the current process executes paraview's Python command with the "fromGUI" flag.
-      // This is used in pvsimple.py to avoid reconnecting the GUI thread to the pvserver (when
-      // user types "import pvsimple" in SALOME's console).
-      SalomeApp_Application* app =
-                  dynamic_cast< SalomeApp_Application* >(SUIT_Session::session()->activeApplication());
-      PyConsole_Interp* pyInterp = app->pythonConsole()->getInterp();
-      {
-        PyLockWrapper aGil;
-        std::string cmd = "import paraview;paraview.fromGUI = True";
-        pyInterp->run(cmd.c_str());
-      }
-
-      for (int i = 0; i < argc; i++)
-        free(argv[i]);
-      delete[] argv;
-  }
-  // Initialize GUI elements if needed:
-  PVViewer_GUIElements::GetInstance(aDesktop);
-  return true;
-}
-
-void PVViewer_ViewManager::ParaviewInitBehaviors(bool fullSetup, SUIT_Desktop* aDesktop)
-{
-  if (!ParaviewBehaviors)
-      ParaviewBehaviors = new PVViewer_Behaviors(aDesktop);
-
-  if(fullSetup)
-    ParaviewBehaviors->instanciateAllBehaviors(aDesktop);
-  else
-    ParaviewBehaviors->instanciateMinimalBehaviors(aDesktop);
-}
-
-void PVViewer_ViewManager::ParaviewLoadConfigurations()
-{
-  if (!ConfigLoaded)
-    {
-      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");
-          MyCoreApp->loadConfiguration(aPath + QDir::separator() + "ParaViewSources.xml");
-          MyCoreApp->loadConfiguration(aPath + QDir::separator() + "ParaViewWriters.xml");
-      }
-      ConfigLoaded = true;
-    }
-}
-
-void PVViewer_ViewManager::ParaviewCleanup()
-{
-  // Disconnect from server
-  pqServer* server = pqActiveObjects::instance().activeServer();
-  if (server && server->isRemote())
-    {
-      MESSAGE("~PVViewer_Module(): Disconnecting from remote server ...");
-      pqServerDisconnectReaction::disconnectFromServer();
-    }
-
-  pqApplicationCore::instance()->settings()->sync();
-
-  pqPVApplicationCore * app = GetPVApplication();
-  // Schedule destruction of PVApplication singleton:
-  if (app)
-    app->deleteLater();
-}
-
-PARAVIS_ORB::PARAVIS_Gen_var PVViewer_ViewManager::GetEngine()
-{
-  // initialize PARAVIS module engine (load, if necessary)
-  if ( CORBA::is_nil( MyEngine ) ) {
-    Engines::EngineComponent_var comp =
-        SalomeApp_Application::lcc()->FindOrLoad_Component( "FactoryServer", "PARAVIS" );
-    MyEngine = PARAVIS_ORB::PARAVIS_Gen::_narrow( comp );
-  }
-  return MyEngine;
-}
-
-bool PVViewer_ViewManager::ConnectToExternalPVServer(SUIT_Desktop* aDesktop)
-{
-  SUIT_ResourceMgr* aResourceMgr = SUIT_Session::session()->resourceMgr();
-  bool noConnect = aResourceMgr->booleanValue( "PARAVIS", "no_ext_pv_server", false );
-  if (noConnect)
-    return true;
-
-  pqServer* server = pqActiveObjects::instance().activeServer();
-  if (server && server->isRemote())
-    {
-      // Already connected to an external server, do nothing
-      MESSAGE("connectToExternalPVServer(): Already connected to an external PVServer, won't reconnect.");
-      return false;
-    }
-
-  if (GetEngine()->GetGUIConnected())
-    {
-      // Should never be there as the above should already tell us that we are connected.
-      std::stringstream msg2;
-      msg2 << "Internal error while connecting to the pvserver.";
-      msg2 << "ParaView doesn't see a connection, but PARAVIS engine tells us there is already one!" << std::endl;
-      qWarning(msg2.str().c_str());  // will go to the ParaView console (see ParavisMessageOutput below)
-      SUIT_MessageBox::warning( aDesktop,
-                                      QString("Error connecting to PVServer"), QString(msg2.str().c_str()));
-      return false;
-    }
-
-  std::stringstream msg;
-
-  // Try to connect to the external PVServer - gives priority to an externally specified URL:
-  QString serverUrlEnv = getenv("PARAVIS_PVSERVER_URL");
-  std::string serverUrl;
-  if (!serverUrlEnv.isEmpty())
-    serverUrl = serverUrlEnv.toStdString();
-  else
-    {
-      // Get the URL from the engine (possibly starting the pvserver)
-      CORBA::String_var url = GetEngine()->FindOrStartPVServer(0);  // take the first free port
-      serverUrl = (char *)url;
-    }
-
-  msg << "connectToExternalPVServer(): Trying to connect to the external PVServer '" << serverUrl << "' ...";
-  MESSAGE(msg.str());
-
-  if (!pqServerConnectReaction::connectToServer(pqServerResource(serverUrl.c_str())))
-    {
-      std::stringstream msg2;
-      msg2 << "Error while connecting to the requested pvserver '" << serverUrl;
-      msg2 << "'. Might use default built-in connection instead!" << std::endl;
-      qWarning(msg2.str().c_str());  // will go to the ParaView console (see ParavisMessageOutput below)
-      SUIT_MessageBox::warning( aDesktop,
-                                QString("Error connecting to PVServer"), QString(msg2.str().c_str()));
-      return false;
-    }
-  else
-    {
-      MESSAGE("connectToExternalPVServer(): Connected!");
-      GetEngine()->SetGUIConnected(true);
-    }
-  return true;
-}
-
-//void PVViewer_ViewManager::onPVViewCreated(SUIT_ViewWindow* w)
-//{
-//  PVViewer_ViewWindow * w2 = dynamic_cast<PVViewer_ViewWindow *>(w);
-//  Q_ASSERT(w2 != NULL);
-//  connect(w2, SIGNAL(applyRequest()), ParaviewBehaviors, SLOT(onEmulateApply()));
-//}
-
-void PVViewer_ViewManager::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
deleted file mode 100644 (file)
index 5e359b5..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-// 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
-//
-#ifndef PVViewer_VIEWMANAGER_H
-#define PVViewer_VIEWMANAGER_H
-
-#include <SUIT_ViewManager.h>
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(PARAVIS_Gen)
-
-class SUIT_Desktop;
-class SUIT_Study;
-class SUIT_ViewWindow;
-class pqTabbedMultiViewWidget;
-class pqPVApplicationCore;
-class PVViewer_Behaviors;
-class pqPropertiesPanel;
-class pqPipelineBrowserWidget;
-
-class PVViewer_ViewManager : public SUIT_ViewManager
-{
-  Q_OBJECT
-
-public:
-  PVViewer_ViewManager( SUIT_Study*, SUIT_Desktop* );
-  ~PVViewer_ViewManager() {}
-
-  static pqPVApplicationCore * GetPVApplication();
-  static PARAVIS_ORB::PARAVIS_Gen_var GetEngine();
-
-  //! Initialize ParaView if not yet done (once per session)
-  static bool   ParaviewInitApp(SUIT_Desktop* aDesktop);
-  static void   ParaviewInitBehaviors(bool fullSetup=false, SUIT_Desktop* aDesktop=0);
-  static void   ParaviewLoadConfigurations();
-  static void   ParaviewCleanup();
-
-  //! Connect to the external PVServer, using the PARAVIS engine to launch it if it is not
-  //! already up.
-  static bool   ConnectToExternalPVServer(SUIT_Desktop* aDesktop);
-
-public slots:
-//  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_ViewModel.cxx b/src/PVGUI/view/PVViewer_ViewModel.cxx
deleted file mode 100644 (file)
index ef1771e..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// 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
-//
-
-#include "PVViewer_ViewModel.h"
-#include "PVViewer_ViewWindow.h"
-
-#include <utilities.h>
-#include <SUIT_Desktop.h>
-
-#include <SalomeApp_Application.h>
-
-//----------------------------------------
-PVViewer_Viewer::PVViewer_Viewer()
-:SUIT_ViewModel() 
-{
-  MESSAGE("PVViewer_Viewer: creating view model ...");
-}
-
-
-/*!
-  Create new instance of view window on desktop \a theDesktop.
-  \retval SUIT_ViewWindow* - created view window pointer.
-*/
-SUIT_ViewWindow* PVViewer_Viewer::createView(SUIT_Desktop* theDesktop)
-{
-  PVViewer_ViewWindow* aPVView = new PVViewer_ViewWindow(theDesktop, this);
-  return aPVView;
-}
-
diff --git a/src/PVGUI/view/PVViewer_ViewModel.h b/src/PVGUI/view/PVViewer_ViewModel.h
deleted file mode 100644 (file)
index e70f663..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 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
-//
-#if !defined(_PVViewer_VIEWMODEL_H)
-#define _PVViewer_VIEWMODEL_H
-
-#include <SUIT_ViewModel.h>
-
-class SUIT_ViewWindow;
-class SUIT_Desktop;
-class SUIT_Desktop;
-
-class PVViewer_Viewer: public SUIT_ViewModel
-{
-  Q_OBJECT
-
-public:
-  PVViewer_Viewer();
-  virtual ~PVViewer_Viewer() {}
-
-  virtual SUIT_ViewWindow* createView(SUIT_Desktop* theDesktop);
-  virtual QString getType() const { return Type(); }
-  static QString Type() { return "ParaView"; }
-};
-
-#endif // !defined(_PVViewer_VIEWMODEL_H)
-
diff --git a/src/PVGUI/view/PVViewer_ViewWindow.cxx b/src/PVGUI/view/PVViewer_ViewWindow.cxx
deleted file mode 100644 (file)
index c7fff08..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-// 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
-//
-// File   : PVViewer_ViewWindow.cxx
-// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
-//
-
-#include "PVViewer_ViewWindow.h"
-#include "PVViewer_ViewManager.h"
-#include "PVViewer_GUIElements.h"
-
-#include <SUIT_ViewManager.h>
-#include <SUIT_ResourceMgr.h>
-#include <SUIT_Session.h>
-#include <SUIT_Desktop.h>
-
-#include <pqTabbedMultiViewWidget.h>
-#include <pqApplicationCore.h>
-
-/*!
-  \class PVViewer_ViewWindow
-  \brief PVGUI view window.
-*/
-
-/*!
-  \brief Constructor.
-  \param theDesktop parent desktop window
-  \param theModel view model
-*/
-PVViewer_ViewWindow::PVViewer_ViewWindow( SUIT_Desktop* theDesktop, PVViewer_Viewer* theModel )
-  : SUIT_ViewWindow( theDesktop ), myPVMgr( 0 )
-{
-  myModel = theModel;
-  myPVMgr = qobject_cast<pqTabbedMultiViewWidget*>(pqApplicationCore::instance()->manager("MULTIVIEW_WIDGET"));
-  if (myPVMgr) {
-    myPVMgr->setParent( this );
-    // This is mandatory, see setParent() method in Qt 4 documentation
-    myPVMgr->show();
-    setCentralWidget( myPVMgr );
-
-    // Finish ParaView set up: behaviors, connection and configurations.
-    PVViewer_ViewManager::ParaviewInitBehaviors(true, theDesktop);
-    PVViewer_ViewManager::ConnectToExternalPVServer(theDesktop);
-    PVViewer_ViewManager::ParaviewLoadConfigurations();
-  } else
-    qDebug("No multiViewManager defined");
-}
-
-/*!
-  \brief Destructor.
-  As pqViewManager persists through the whole session,
-  the destructor first removes it from the children of this PVViewer_ViewWindow
-  to prevent its unexpected deletion.
-*/
-PVViewer_ViewWindow::~PVViewer_ViewWindow()
-{
-  if ( myPVMgr ) {
-    myPVMgr->setParent( 0 );
-    myPVMgr->hide();
-    myPVMgr = 0;
-    setCentralWidget( 0 );
-  }
-}
-
-/*!
-  \brief Get the visual parameters of the view window.
-  \return visual parameters of this view window formatted to the string
-*/
-QString PVViewer_ViewWindow::getVisualParameters()
-{
-  return SUIT_ViewWindow::getVisualParameters();
-}
-
-/*!
-  \brief Restore visual parameters of the view window from the formated string
-  \param parameters view window visual parameters
-*/
-void PVViewer_ViewWindow::setVisualParameters( const QString& parameters )
-{
-  SUIT_ViewWindow::setVisualParameters( parameters );
-}
-
-
-/*!
-  \brief Returns the ParaView multi-view manager previously set with setMultiViewManager()
-*/
-pqTabbedMultiViewWidget* PVViewer_ViewWindow::getMultiViewManager() const
-{
-  return myPVMgr;
-}
-
-void PVViewer_ViewWindow::onEmulateApply()
-{
-  emit this->applyRequest();
-}
diff --git a/src/PVGUI/view/PVViewer_ViewWindow.h b/src/PVGUI/view/PVViewer_ViewWindow.h
deleted file mode 100644 (file)
index e3ff387..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-// 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
-//
-// File   : Plot2d_ViewWindow.h
-// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
-//
-
-#ifndef PVViewer_VIEWWINDOW_H
-#define PVViewer_VIEWWINDOW_H
-
-#include <SUIT_ViewWindow.h>
-#include <QMap>
-
-class SUIT_Desktop;
-class PVViewer_Viewer;
-class pqTabbedMultiViewWidget;
-
-class PVViewer_ViewWindow : public SUIT_ViewWindow
-{
-  Q_OBJECT
-
-public:
-  PVViewer_ViewWindow( SUIT_Desktop*, PVViewer_Viewer* );
-  virtual ~PVViewer_ViewWindow();
-
-  virtual QString   getVisualParameters();
-  virtual void      setVisualParameters( const QString& );
-  
-  pqTabbedMultiViewWidget*    getMultiViewManager() const;
-
-signals:
-  void applyRequest();
-
-public slots:
-  void onEmulateApply();
-
-private:
-  PVViewer_Viewer*     myModel;
-  pqTabbedMultiViewWidget*    myPVMgr;
-};
-
-#endif // PLOT2D_VIEWWINDOW_H
index e528bdecc0c1577d847b838d39249a85671ec19c..b6c62bc68cf8f617fa93f24a229716784ae56d9f 100644 (file)
@@ -23,6 +23,38 @@ On top of that it also establishes a connection to a valid PVServer whose addres
 is provided by the PARAVIS engine.
 """
 
+def __my_log(msg):
+    print "[PARAVIS] %s" % msg
+
+def __getFromGUI():
+    """ Identify if we are running inside SALOME's embedded console.
+    """
+    fromGUI = False
+    try:
+      import salome
+      fromGUI = salome.fromEmbeddedConsole
+    except AttributeError:
+      pass
+    return fromGUI
+
+def InitParaViewForGUI():
+    """
+    If the import is made from SALOME embedded console, the ParaView application needs to 
+    be instanciated to avoid a future crash. 
+    """
+    if __getFromGUI():
+      __my_log("Initializing ParaView main elements, please be patient ...")
+      import SalomePyQt
+      sgPyQt = SalomePyQt.SalomePyQt()
+      sgPyQt.createView("ParaView")
+      # Now let the GUI main loop process the initialization event posted above
+      sgPyQt.processEvents()  
+      __my_log("ParaView initialized.")
+
+## The below has to called BEFORE importing paraview!!! This is crazy, but it has to be.
+InitParaViewForGUI()  
+del InitParaViewForGUI
+
 import paraview
 import paravis
 
@@ -33,9 +65,6 @@ for name in dir(simple):
     globals()[name] = getattr(simple, name)
 del simple
 
-def __my_log(msg):
-    print "[PARAVIS] %s" % msg
-
 def SalomeConnectToPVServer():
     """
     Automatically connect to the right PVServer when not ("inside SALOME GUI" and "already connected").
@@ -44,7 +73,7 @@ def SalomeConnectToPVServer():
     server_url = ""
     try:
         isGUIConnected = paravis.myParavisEngine.GetGUIConnected()
-        if isGUIConnected and paraview.fromGUI:
+        if isGUIConnected and __getFromGUI():
             __my_log("Importing pvsimple from GUI and already connected. Won't reconnect.")
             return
         server_url = paravis.myParavisEngine.FindOrStartPVServer(0)
@@ -54,11 +83,13 @@ def SalomeConnectToPVServer():
         host, port = b[-1], int(a[-1])
         Connect(host, port)
         __my_log("Connected to %s!" % server_url)
+        if __getFromGUI():
+            paravis.myParavisEngine.SetGUIConnected(True)
     except Exception as e:
         __my_log("*******************************************")
         __my_log("** Could not connect to a running PVServer!")
         __my_log("*******************************************")
         raise e
     pass
-
+    
 SalomeConnectToPVServer()