Salome HOME
fix deselecting desabled tab
authoreap <eap@opencascade.com>
Thu, 13 Apr 2006 14:44:41 +0000 (14:44 +0000)
committereap <eap@opencascade.com>
Thu, 13 Apr 2006 14:44:41 +0000 (14:44 +0000)
src/SMESHGUI/SMESHGUI_MeshDlg.cxx

index 701eaf2a8103361c3f06254b1fffaffc9cdda3ce..e05e2022df3ef9fe44b8edaed9bc4761a9aa68d0 100644 (file)
@@ -489,17 +489,16 @@ void SMESHGUI_MeshDlg::setCurrentTab( const int theId  )
 
 void SMESHGUI_MeshDlg::setMaxHypoDim( const int maxDim )
 {
-  for ( int i = Dim1D; i <= Dim3D; ++i ) {
-    int dim = i + 1;
-    bool enable = ( dim <= maxDim );
-    if ( !enable ) {
-      myTabs[ i ]->reset();
-      if ( myTabs[ i ] == myTabWg->currentPage() && i != Dim1D)
-        // deselect desebled tab
-        myTabWg->setCurrentPage( i - 1 );
-    }
-    myTabWg->setTabEnabled( myTabs[ i ], enable );
+  const int DIM = maxDim - 1;
+  for ( int dim = Dim1D; dim <= Dim3D; ++dim ) {
+    bool enable = ( dim <= DIM );
+    if ( !enable )
+      myTabs[ dim ]->reset();
+    myTabWg->setTabEnabled( myTabs[ dim ], enable );
   }
+  // deselect desabled tab
+  if ( !myTabWg->isTabEnabled( myTabWg->currentPage() ))
+    setCurrentTab( DIM - 1 );
 }
 
 //================================================================================