]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
activating saved viewer is done.
authorasv <asv@opencascade.com>
Fri, 17 Feb 2006 10:55:13 +0000 (10:55 +0000)
committerasv <asv@opencascade.com>
Fri, 17 Feb 2006 10:55:13 +0000 (10:55 +0000)
src/VISUGUI/VisuGUI.cxx
src/VISUGUI/VisuGUI_Module.cxx

index 7bc173150efc329afe5f15eda120d3142ca8e4ce..11b4a3fdc9a261167b070d9696cec7d018cddeb5 100644 (file)
 
 #include "VisuGUI_Timer.h"
 
+#include "VVTK_ViewModel.h"
+
+
 using namespace VISU;
 
 #ifdef _DEBUG_
@@ -2705,7 +2708,15 @@ VisuGUI::
 viewManagers( QStringList& theList ) const
 {
   theList.clear();
-  theList.append( SVTK_Viewer::Type() );
+  // append SVTK viewer only if there is neither SVTK nor VVTK is open
+  QPtrList<SUIT_ViewManager> lst;
+  getApp()->viewManagers( SVTK_Viewer::Type(), lst );
+  if ( !lst.count() ) {
+    lst.clear();
+    getApp()->viewManagers( VVTK_Viewer::Type(), lst );
+    if ( !lst.count() )
+      theList.append( SVTK_Viewer::Type() );
+  }
 }
 
 
index 53938c0625810db119a624ceef2ef36cd23b435a..e73dc8eb18a0d93ebb191c4c433f6c0eadc06f44 100644 (file)
@@ -1629,6 +1629,14 @@ void VisuGUI_Module::storeVisualParameters(int savePoint)
     }
   }
 
+  // VISU module opens one SVTK viewer in activateModule().  This causes a bug in save-restore visual
+  // parameters: it no SVTK view was saved, we need NOT any SVTK on restore.  Here we store if any is open..
+  /*
+  lst.clear();
+  getApp()->viewManagers( SVTK_Viewer::Type(), lst );
+  ip.setProperty( "VtkViewersCount", QString::number( lst.count() ).latin1() );
+  */
+
   // main cycle to store parameters of displayed objects
   lst.clear();
   getApp()->viewManagers( lst );
@@ -1972,6 +1980,20 @@ void VisuGUI_Module::restoreVisualParameters(int savePoint)
     }
   } // ] end of update views
 
+  // VISU module opens one SVTK viewer in activateModule().  This causes a bug in save-restore visual
+  // parameters: it no SVTK view was saved, we need NOT any SVTK on restore.  Here we close one
+  // default SVTK if needed.
+  /*
+  QString openedSvtkViewerStr = ip.getProperty( "VtkViewersCount" ).c_str();
+  int openedSvtkViewer = openedSvtkViewerStr.toInt( &ok );
+  if ( ok && openedSvtkViewer == 0 ) {
+    lst.clear();
+    getApp()->viewManagers( SVTK_Viewer::Type(), lst );
+    if ( lst.count() )
+      lst.at( 0 )->closeAllViews();
+  }
+  */
+
   // if active Gauss Viewer is set ( != -1) then raise the gauss view window.
   bool ok;
   QString activeGaussViewerStr = ip.getProperty( "ActiveGaussViewer" ).c_str();