]> Creatis software - clitk.git/blobdiff - vv/vvMainWindow.cxx
Let vvSlicer handle visibility
[clitk.git] / vv / vvMainWindow.cxx
index 3c322555fdbcfe4d90233ef4a9f3a74e793f5f21..c3465c19f8a7d7276c0f51894efb304d6cc5223c 100644 (file)
@@ -1381,9 +1381,13 @@ void vvMainWindow::DisplayChanged(QTreeWidgetItem *clickedItem, int column)
       mSlicerManagers[slicerManagerIndex]->UpdateSlicer(column-1, true);
       mSlicerManagers[slicerManagerIndex]->UpdateInfoOnCursorPosition(column-1);
       DisplaySliders(slicerManagerIndex, column-1);
-      if(clickedParentItem == clickedItem) {
-        // Toggle or force visibility if it was not on this branch so far
-        vis = !draw || !vis;
+      if(!draw) {
+        // We were not on this branch so far => force visibility
+        vis = true;
+      }
+      else if(clickedParentItem == clickedItem) {
+        // Toggle
+        vis =  !vis;
       }
       clickedSlicer->SetActorVisibility("image", 0, vis);
       clickedParentItem->setData(column, Qt::CheckStateRole, vis?2:0);
@@ -1818,8 +1822,6 @@ void vvMainWindow::AddOverlayImage(int index, QString file)
 
     for (int j = 1; j <= 4; j++) {
       item->setData(j,Qt::CheckStateRole,DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole));
-      mSlicerManagers[index]->GetSlicer(j-1)->SetActorVisibility("overlay",0,
-          DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole).toInt());
     }
 
     //Create the buttons for reload and close
@@ -1940,8 +1942,6 @@ void vvMainWindow::AddFusionImage(int index, QString file)
 
       for (int j = 1; j <= 4; j++) {
         item->setData(j,Qt::CheckStateRole,DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole));
-        mSlicerManagers[index]->GetSlicer(j-1)->SetActorVisibility("fusion",0,
-            DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole).toInt());
       }
 
       //Create the buttons for reload and close
@@ -2025,8 +2025,6 @@ void vvMainWindow::AddFieldEntry(QString filename,int index,bool from_disk)
 
   for (int j = 1; j <= 4; j++) {
     item->setData(j,Qt::CheckStateRole,DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole));
-    mSlicerManagers[index]->GetSlicer(j-1)->SetActorVisibility("vector",0,
-        DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole).toInt());
   }
 
   //Create the buttons for reload and close