]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Fix pb. with Object Browser
authorimn <imn@opencascade.com>
Mon, 7 Dec 2015 13:30:32 +0000 (16:30 +0300)
committerimn <imn@opencascade.com>
Mon, 7 Dec 2015 13:30:32 +0000 (16:30 +0300)
src/SUIT/SUIT_TreeModel.cxx

index e6cd32fdb059e70564a8ccc440cb9695cbfbf252..2753ac36886c4b021bcae6b9ab35bf79c7dcab9c 100755 (executable)
@@ -500,6 +500,9 @@ SUIT_TreeModel::~SUIT_TreeModel()
 void SUIT_TreeModel::registerColumn( const int group_id, const QString& name, const int custom_id )
 {
   bool found = false;
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+  beginResetModel();
+#endif
   for ( int i=0, n=myColumns.size(); i<n && !found; i++ ) {
     if ( name == myColumns[i].myName ) {
       myColumns[i].myIds.insert( group_id, custom_id );
@@ -515,7 +518,9 @@ void SUIT_TreeModel::registerColumn( const int group_id, const QString& name, co
     int n = myColumns.size();
     myColumns.resize( n+1 );
     myColumns[n] = inf;
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+    endResetModel();
+#else
     reset();
 #endif
   }
@@ -535,12 +540,17 @@ void SUIT_TreeModel::registerColumn( const int group_id, const QString& name, co
 void SUIT_TreeModel::unregisterColumn( const int group_id, const QString& name )
 {
   for ( int i = 0, n = myColumns.size(); i < n; i++ ) {
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+    beginResetModel();
+#endif
     if ( myColumns[i].myName == name ) {
       myColumns[i].myIds.remove( group_id );
       if ( myColumns[i].myIds.isEmpty() ) {
-       myColumns.remove( i );
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-    reset();
+           myColumns.remove( i );
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+        endResetModel();
+#else
+        reset();
 #endif
       }
       break;
@@ -751,6 +761,10 @@ void SUIT_TreeModel::setRoot( SUIT_DataObject* r )
   if ( root() == r )
     return;
 
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+  beginResetModel();
+#endif
+
   if ( autoDeleteTree() ) {
     SUIT_DataObject::disconnect( SIGNAL( inserted( SUIT_DataObject*, SUIT_DataObject* ) ),
                                  this, SLOT( onInserted( SUIT_DataObject*, SUIT_DataObject* ) ) );
@@ -770,7 +784,9 @@ void SUIT_TreeModel::setRoot( SUIT_DataObject* r )
   myRoot = r;
 
   //initialize();
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+  endResetModel();
+#else
   reset();
 #endif
   emit modelUpdated();