]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
0020498: Entry column is always shown on module activation
authorasl <asl@opencascade.com>
Wed, 30 Sep 2009 07:24:11 +0000 (07:24 +0000)
committerasl <asl@opencascade.com>
Wed, 30 Sep 2009 07:24:11 +0000 (07:24 +0000)
src/LightApp/LightApp_Application.cxx
src/LightApp/LightApp_Module.cxx
src/SUIT/SUIT_TreeModel.cxx

index 236055250a3801da383261a8e0a8ed282a24ff01..82a439d9437a80aa4c03278f16b0a04984e0e07d 100644 (file)
@@ -71,6 +71,7 @@
 #include <SUIT_Accel.h>
 #include <SUIT_MessageBox.h>
 #include <SUIT_ViewWindow.h>
+#include <SUIT_TreeModel.h>
 
 #include <Qtx.h>
 #include <QtxToolBar.h>
@@ -1615,6 +1616,11 @@ QWidget* LightApp_Application::createWindow( const int flag )
     ob->setWindowTitle( tr( "OBJECT_BROWSER" ) );
     connect( ob, SIGNAL( requestUpdate() ), this, SLOT( onRefresh() ) );
 
+    QString EntryCol = QObject::tr( "ENTRY_COLUMN" );
+    SUIT_AbstractModel* treeModel = dynamic_cast<SUIT_AbstractModel*>( ob->model() );
+    treeModel->registerColumn( 0, EntryCol, LightApp_DataObject::EntryId );
+    treeModel->setAppropriate( EntryCol, Qtx::Toggled );
+
     // temporary commented
     /*
     OB_ListView* ob_list = dynamic_cast<OB_ListView*>( const_cast<QListView*>( ob->listView() ) );
index 8bd88c4ea3f0a00d9836ec0a9ca3d85610d6ffd7..5ebe69044270a7ad18912c01d50616b73ad5a204 100644 (file)
@@ -219,6 +219,9 @@ bool LightApp_Module::activateModule( SUIT_Study* study )
   if ( mySwitchOp == 0 )
     mySwitchOp = new LightApp_SwitchOp( this );
 
+  /*  BUG 0020498 : The Entry column is always shown at module activation
+      The registration of column is moved into LightApp_Application
+
   QString EntryCol = QObject::tr( "ENTRY_COLUMN" );
   LightApp_DataModel* m = dynamic_cast<LightApp_DataModel*>( dataModel() );
   if( m )
@@ -226,7 +229,7 @@ bool LightApp_Module::activateModule( SUIT_Study* study )
     SUIT_AbstractModel* treeModel = dynamic_cast<SUIT_AbstractModel*>( getApp()->objectBrowser()->model() );
     m->registerColumn( getApp()->objectBrowser(), EntryCol, LightApp_DataObject::EntryId );
     treeModel->setAppropriate( EntryCol, Qtx::Toggled );
-  }
+  }*/
   return res;
 }
 
@@ -247,6 +250,7 @@ bool LightApp_Module::deactivateModule( SUIT_Study* study )
     anIt.value()->abort();
   }
 
+  /*  BUG 0020498 : The Entry column is always shown at module activation
   QString EntryCol = QObject::tr( "ENTRY_COLUMN" );
   LightApp_DataModel* m = dynamic_cast<LightApp_DataModel*>( dataModel() );
   if( m )
@@ -256,6 +260,7 @@ bool LightApp_Module::deactivateModule( SUIT_Study* study )
     treeModel->setAppropriate( EntryCol, Qtx::Shown );
     m->unregisterColumn( getApp()->objectBrowser(), EntryCol );
   }
+  */
   return CAM_Module::deactivateModule( study );
 }
 
index dc76e72057321f3f3b73b08b2b8bdc5de37a31ec..ef5f40b0d9a8a61eeaafd77c3d6130a82a2e0699 100755 (executable)
@@ -580,12 +580,12 @@ QPixmap SUIT_TreeModel::columnIcon( const QString& name ) const
 void SUIT_TreeModel::setAppropriate( const QString& name, const Qtx::Appropriate appr )
 {
   for( int i=0, n=myColumns.size(); i<n; i++ )
-    if( myColumns[i].myName==name )
-       {
-         myColumns[i].myAppropriate = appr;
-         emit headerDataChanged( Qt::Horizontal, i, i );
-         break;
-       }
+    if( myColumns[i].myName==name || myColumns[i].myAppropriate != appr )
+    {
+      myColumns[i].myAppropriate = appr;
+      emit headerDataChanged( Qt::Horizontal, i, i );
+      break;
+    }
 }
 
 /*!