Salome HOME
Merge relevant changes from V8_0_0_BR branch
[modules/gui.git] / src / STD / STD_MDIDesktop.cxx
index 9ec6f70ca71a1134b2da6ef88e38a5645a52702b..3feae064172d780b86e093e2120c065f9e0fb195 100755 (executable)
@@ -32,6 +32,7 @@
 
 #include <QFrame>
 #include <QVBoxLayout>
+#include <QMdiSubWindow>
 
 #include <stdarg.h>
 
@@ -71,13 +72,7 @@ STD_MDIDesktop::~STD_MDIDesktop()
 */
 SUIT_ViewWindow* STD_MDIDesktop::activeWindow() const
 {
-  SUIT_ViewWindow* wnd = 0;
-
-  QWidget* wid = myWorkspace->activeWindow();
-  if ( wid && wid->inherits( "SUIT_ViewWindow" ) )
-    wnd = (SUIT_ViewWindow*)wid;
-
-  return wnd;
+  return qobject_cast<SUIT_ViewWindow*>( myWorkspace->activeSubWindow()->widget() );
 }
 
 /*!
@@ -87,10 +82,10 @@ QList<SUIT_ViewWindow*> STD_MDIDesktop::windows() const
 {
   QList<SUIT_ViewWindow*> winList;
 
-  QWidgetList children = myWorkspace->windowList();
-  for ( QWidgetList::iterator it = children.begin(); it != children.end(); ++it )
+  QList<QMdiSubWindow *> children = myWorkspace->subWindowList();
+  for ( QList<QMdiSubWindow *>::iterator it = children.begin(); it != children.end(); ++it )
   {
-    SUIT_ViewWindow* vw = ::qobject_cast<SUIT_ViewWindow*>( *it );
+    SUIT_ViewWindow* vw = ::qobject_cast<SUIT_ViewWindow*>( (*it)->widget() );
     if ( vw )
       winList.append( vw );
   }
@@ -106,7 +101,7 @@ void STD_MDIDesktop::addWindow( QWidget* w )
   if ( !w || !workspace() )
     return;
 
-  workspace()->addWindow( w );
+  workspace()->addSubWindow( w );
 }
 
 /*!Call method perform for operation \a type.*/