]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
NPAL 18990
authordmv <dmv@opencascade.com>
Mon, 3 Mar 2008 08:20:43 +0000 (08:20 +0000)
committerdmv <dmv@opencascade.com>
Mon, 3 Mar 2008 08:20:43 +0000 (08:20 +0000)
src/SUIT/SUIT_ViewManager.cxx
src/SUIT/SUIT_ViewManager.h
src/SalomeApp/SalomeApp_VisualState.cxx

index 619b9c488522fe9e451c8e9d01bfa7c4558c4006..27a7e1e50ac60ec419e3d6d372c5f2b90e724366 100755 (executable)
@@ -188,6 +188,17 @@ void SUIT_ViewManager::removeView(SUIT_ViewWindow* theView)
     emit lastViewClosed(this);
 }
 
+/*!
+  Returns 'true' if any of views (view windows) is visible.
+*/
+bool SUIT_ViewManager::isVisible() const
+{
+  bool res = false;
+  for ( uint i = 0; i < myViews.count() && !res; i++ )
+    res = myViews[i]->isVisibleTo( myViews[i]->parentWidget() );
+  return res;
+}
+
 /*!
   Show or hide all views (view windows)
 */
index 8cacbe253904f5fcf4996954577088b01fd6fa43..5114658e284c5c6ddfa9d838d84eca98f2578069 100755 (executable)
@@ -64,6 +64,7 @@ public:
 
   SUIT_ViewWindow* createViewWindow();
 
+  bool             isVisible() const;
   virtual void     setShown( const bool );
 
 public slots:
index dab9a907e109894e2ed77943c6a53a3d064eb196..08afaeddaeb44a03b30b96fb8fbc4daacb033738 100644 (file)
@@ -217,13 +217,13 @@ void SalomeApp_VisualState::restoreState(int savePoint)
 
     //Resize the views, set their captions and apply visual parameters.
     QPtrVector<SUIT_ViewWindow> views = vm->getViews();  
-    for (int i = 0, j = 0; i<viewCount; i++, j++) {
+    for (int i = 0, j = 0; i<viewCount; i++, j+=2) {
       viewWin = views[i];
       if ( !viewWin ) 
        continue;
 
       // wait untill the window is really shown.  This step fixes MANY bugs..
-      while ( !viewWin->isVisible() )
+      while ( !vm->isVisible() )
        qApp->processEvents();
       
       viewWin->setCaption(ip->getValue(viewerEntry, j).c_str());