]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
PAL9994
authorasl <asl@opencascade.com>
Fri, 14 Oct 2005 12:21:53 +0000 (12:21 +0000)
committerasl <asl@opencascade.com>
Fri, 14 Oct 2005 12:21:53 +0000 (12:21 +0000)
src/Plot2d/Plot2d_ViewFrame.cxx
src/Qtx/QtxWorkstack.cxx
src/Qtx/QtxWorkstack.h

index 59e3637a9213c43f9db5e9d27487fa2a2fd644e0..880ce2136237c7ac883ff4eec7c4049ee459cb4b 100755 (executable)
@@ -1138,6 +1138,9 @@ void Plot2d_ViewFrame::setXGrid( bool xMajorEnabled, const int xMajorMax,
          bool xMinorEnabled, const int xMinorMax, 
          bool update )
 {
+  if( xMinorMax>=xMajorMax )
+    return;
+
   myXGridMajorEnabled = xMajorEnabled;
   myXGridMinorEnabled = xMinorEnabled;
   myXGridMaxMajor = xMajorMax;
index 25358a51b36199d7da0b323b40181f01e84dbeac..f7e7ae7b6c12288926bea4c3181d604ba2c9070e 100644 (file)
@@ -1145,6 +1145,7 @@ void QtxWorkstackArea::insertWidget( QWidget* wid, const int idx )
     myInfo[wid].vis = wid->isVisibleTo( wid->parentWidget() );
 
     connect( child, SIGNAL( destroyed( QObject* ) ), this, SLOT( onChildDestroyed( QObject* ) ) );
+    connect( wid, SIGNAL( destroyed() ), this, SLOT( onWidgetDestroyed() ) );
     connect( child, SIGNAL( shown( QtxWorkstackChild* ) ), this, SLOT( onChildShown( QtxWorkstackChild* ) ) );
     connect( child, SIGNAL( hided( QtxWorkstackChild* ) ), this, SLOT( onChildHided( QtxWorkstackChild* ) ) );
     connect( child, SIGNAL( activated( QtxWorkstackChild* ) ), this, SLOT( onChildActivated( QtxWorkstackChild* ) ) );
@@ -1156,7 +1157,13 @@ void QtxWorkstackArea::insertWidget( QWidget* wid, const int idx )
   setWidgetActive( wid );
 }
 
-void QtxWorkstackArea::removeWidget( QWidget* wid )
+void QtxWorkstackArea::onWidgetDestroyed()
+{
+  if( sender() )
+    removeWidget( (QWidget*)sender(), false );
+}
+
+void QtxWorkstackArea::removeWidget( QWidget* wid, const bool del )
 {
   if ( !myList.contains( wid ) )
     return;
@@ -1169,10 +1176,14 @@ void QtxWorkstackArea::removeWidget( QWidget* wid )
   myInfo.remove( wid );
   myChild.remove( wid );
 
-  delete child( wid );
-
-  if ( myList.isEmpty() )
-    delete this;
+  if( del )
+  {
+    delete child( wid );
+    if( myList.isEmpty() )
+      delete this;
+    else
+      updateState();
+  }
   else
     updateState();
 }
index 5b7d10d54349f88d1697f5067e5c3327a7a8e832..a201ad2ff2662c574db9240db0967d0f974ffea5 100644 (file)
@@ -128,7 +128,7 @@ public:
   bool                isEmpty() const;
 
   void                insertWidget( QWidget*, const int = -1 );
-  void                removeWidget( QWidget* );
+  void                removeWidget( QWidget*, const bool = true );
 
   QWidget*            activeWidget() const;
   void                setActiveWidget( QWidget* );
@@ -162,6 +162,8 @@ private slots:
   void                onClose();
   void                onSelected( int );
 
+  void                onWidgetDestroyed();
+
   void                onDragActiveTab();
   void                onChildDestroyed( QObject* );
   void                onChildShown( QtxWorkstackChild* );