]> Creatis software - clitk.git/blobdiff - vv/vvSlicerManagerCommand.cxx
itkv4 migration:
[clitk.git] / vv / vvSlicerManagerCommand.cxx
index 4247d6326e8f358e266ad91f1ca66f231449c48c..7415116f071e52eab1fc8a76dab06f76ca1f95bb 100644 (file)
@@ -85,9 +85,10 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller,
 
 
     if (event == vtkCommand::StartPickEvent && VisibleInWindow == -1) {
-      for (int i = 0; i < this->SM->NumberOfSlicers(); i++) {
-        if (this->SM->GetSlicer(i)->GetCursorVisibility()) {
+      for (int i = 0; i < this->SM->GetNumberOfSlicers(); i++) {
+        if (this->SM->GetSlicer(i)->GetCursorVisibility() && !this->SM->IsLinked()) {
           this->SM->GetSlicer(i)->SetCursorVisibility(0);
+          this->SM->GetSlicer(i)->SetCornerAnnotationVisibility(0);
           this->SM->GetSlicer(i)->Render();
         }
       }
@@ -184,12 +185,13 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller,
           return;
         }
         if (KeyPress == "h") {
-          this->SM->SetCursorVisibility(0);
+          std::cout << "KeyPress == \"h\"\n";
+          this->SM->SetCursorAndCornerAnnotationVisibility(0);
           this->SM->Render();
           return;
         }
         if (KeyPress == "x") {
-          for(int i=0; i<SM->NumberOfSlicers(); i++) {
+          for(int i=0; i<SM->GetNumberOfSlicers(); i++) {
             SM->RemoveActor("overlay",0);
             SM->SetColorMap(0);
             SM->Render();
@@ -292,16 +294,17 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller,
       }
 
       if (event == vtkCommand::EndInteractionEvent) {
+        this->SM->Picked();
         this->SM->UpdateLinkedNavigation(this->SM->GetSlicer(VisibleInWindow),true);
         return;
       }
     }
     if (VisibleInWindow > -1) {
       this->SM->Activated();
-      //if(!this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->GetVisibility())
-      this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->SetVisibility(1);
+      this->SM->GetSlicer(VisibleInWindow)->SetCornerAnnotationVisibility(1);
 
       if (event == vtkCommand::MouseWheelForwardEvent && !isi->GetInteractor()->GetControlKey()) {
+        this->SM->Picked();
         this->SM->GetSlicer(VisibleInWindow)->SetSlice(this->SM->GetSlicer(VisibleInWindow)->GetSlice()+1);
         this->SM->UpdateSlice(VisibleInWindow);
       } else if (event == vtkCommand::MouseWheelForwardEvent && isi->GetInteractor()->GetControlKey()) {
@@ -309,6 +312,7 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller,
         this->Dolly(pow((double)1.1, factor),isi->GetInteractor());
         Execute(caller, vtkCommand::EndInteractionEvent, NULL);
       } else if (event == vtkCommand::MouseWheelBackwardEvent && !isi->GetInteractor()->GetControlKey()) {
+        this->SM->Picked();
         this->SM->GetSlicer(VisibleInWindow)->SetSlice(this->SM->GetSlicer(VisibleInWindow)->GetSlice()-1);
         this->SM->UpdateSlice(VisibleInWindow);
       } else if (event == vtkCommand::MouseWheelBackwardEvent && isi->GetInteractor()->GetControlKey()) {
@@ -360,6 +364,7 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller,
         this->SM->Render();
       }
       if (event == vtkCommand::PickEvent || event == vtkCommand::StartPickEvent) {
+        this->SM->Picked();
         this->SM->UpdateViews(1,VisibleInWindow);
         this->SM->UpdateLinked(VisibleInWindow);
         this->SM->UpdateInfoOnCursorPosition(VisibleInWindow);
@@ -372,7 +377,7 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller,
     }
 
     if (event == vtkCommand::WindowLevelEvent && mStartSlicer > -1) {
-      this->SM->GetSlicer(mStartSlicer)->GetAnnotation()->SetVisibility(1);
+      this->SM->GetSlicer(mStartSlicer)->SetCornerAnnotationVisibility(1);
       // Adjust the window level here
       int *size = isi->GetInteractor()->GetRenderWindow()->GetSize();
       double window = this->InitialWindow;