]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
IPAL19557
authorstv <stv@opencascade.com>
Wed, 16 Apr 2008 10:03:53 +0000 (10:03 +0000)
committerstv <stv@opencascade.com>
Wed, 16 Apr 2008 10:03:53 +0000 (10:03 +0000)
src/Qtx/QtxWorkstack.cxx
src/Qtx/QtxWorkstack.h

index 500e21558b5e167641b3f6746abf0d5257bea3ed..db2e4ef528b6ff4fea887866abdf6b16e679abb2 100644 (file)
@@ -413,6 +413,15 @@ QtxWorkstackArea::~QtxWorkstackArea()
   QApplication::instance()->removeEventFilter( this );
 }
 
+/*!
+  \brief Check if workarea contains any widgets.
+  \return \c true if area is null (havn't any child widgets)
+*/
+bool QtxWorkstackArea::isNull() const
+{
+  return myList.isEmpty();
+}
+
 /*!
   \brief Check if workarea contains visible widgets.
   \return \c true if area is empty (all child widgets are removed or now shown)
@@ -517,13 +526,10 @@ void QtxWorkstackArea::removeWidget( QWidget* wid, const bool del )
   myChild.remove( wid );
 
   if ( del )
-  {
     delete child( wid );
-    if ( myList.isEmpty() )
-      delete this;
-    else
-      updateState();
-  }
+
+  if ( isNull() )
+    deleteLater();
   else
     updateState();
 }
index d549965d3b5b5f761fac1bf1936ea46c1696e3be..367713bf92580f29018b85a1de6372bf7414cce4 100644 (file)
@@ -168,6 +168,7 @@ public:
   QtxWorkstackArea( QWidget* );
   virtual ~QtxWorkstackArea();
 
+  bool                isNull() const;
   bool                isEmpty() const;
 
   QWidget*            insertWidget( QWidget*, const int = -1, Qt::WindowFlags = 0 );