]> Creatis software - clitk.git/blobdiff - vv/vvMainWindow.cxx
hide the experimental menu when CLITK_EXPERIMENTAL is not set
[clitk.git] / vv / vvMainWindow.cxx
index 924bf19b534c8534a15323e27ed94693e9797cf1..578a112c70d6f004c5594199d302a3e972e259b0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   vv
   Module:    $RCSfile: vvMainWindow.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/02/24 11:42:42 $
-  Version:   $Revision: 1.12 $
+  Date:      $Date: 2010/03/24 13:59:01 $
+  Version:   $Revision: 1.19 $
   Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
   Copyright (C) 200COLUMN_IMAGE_NAME
@@ -54,7 +54,6 @@
 #include "vvMesh.h"
 #include "vvStructSelector.h"
 #include "vvMeshReader.h"
-#include "vvCropDialog.h"
 #include "vvConstants.h"
 
 #ifdef CLITK_VV_USE_BDCM
@@ -113,6 +112,7 @@ vvMainWindow::vvMainWindow():vvMainWindowBase() {
 
   mInputPathName = "";
   mMenuTools = menuTools;
+  mMenuExperimentalTools = menuExperimental;
   mMainWidget = this;
 
   //Init the contextMenu
@@ -142,10 +142,10 @@ vvMainWindow::vvMainWindow():vvMainWindowBase() {
 
   contextMenu.addSeparator();
 
-  QAction* actionCrop_image = contextMenu.addAction(QIcon(QString::fromUtf8(":/new/prefix1/icons/crop.png")),
-                                                    tr("Crop Current Image"));
-  connect(actionCrop_image,SIGNAL(triggered()),this,SLOT(CropImage()));
-  contextActions.push_back(actionCrop_image);
+  // QAction* actionCrop_image = contextMenu.addAction(QIcon(QString::fromUtf8(":/new/prefix1/icons/crop.png")),
+  //                                                   tr("Crop Current Image"));
+  // connect(actionCrop_image,SIGNAL(triggered()),this,SLOT(CropImage()));
+  // contextActions.push_back(actionCrop_image);
 
   QAction* actionSplit_image = contextMenu.addAction(QIcon(QString::fromUtf8(":/new/prefix1/icons/cut.png")),
                                                      tr("Split Current Image"));
@@ -321,6 +321,9 @@ vvMainWindow::vvMainWindow():vvMainWindowBase() {
 
   // Adding all new tools (insertion in the menu)
   vvToolManager::GetInstance()->InsertToolsInMenu(this);
+
+  if (!CLITK_EXPERIMENTAL)
+      menuExperimental->menuAction()->setVisible(false);
 }
 //------------------------------------------------------------------------------
 
@@ -416,7 +419,7 @@ void vvMainWindow::OpenVTKContour()
 {
   if (mSlicerManagers.size() > 0)
     {
-      QString Extensions = "Images ( *.vtk)";
+      QString Extensions = "Images ( *.vtk; *.obj)";
       Extensions += ";;All Files (*)";
       QString file = QFileDialog::getOpenFileName(this,tr("Open vtkPolyData"),mInputPathName,Extensions);
       if (file.isNull())
@@ -424,6 +427,7 @@ void vvMainWindow::OpenVTKContour()
       QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
       int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
       vvMeshReader reader;
+      reader.SetImage(mSlicerManagers[index]->GetImage());
       reader.SetModeToVTK();
       reader.SetFilename(file.toStdString());
       reader.Update();
@@ -439,7 +443,7 @@ void vvMainWindow::OpenDCStructContour()
 {
   if (mSlicerManagers.size() > 0)
     {
-      QString Extensions = "Dicom Files ( *.dcm)";
+      QString Extensions = "Dicom Files ( *.dcm; RS*)";
       Extensions += ";;All Files (*)";
       QString file = QFileDialog::getOpenFileName(this,tr("Merge Images"),mInputPathName,Extensions);
       if (file.isNull())
@@ -568,45 +572,45 @@ void vvMainWindow::MergeImages() {
   for (int i = 0; i < files.size(); i++)
     {
       itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO(
-                                                                            files[i].toStdString().c_str(), itk::ImageIOFactory::ReadMode);
+              files[i].toStdString().c_str(), itk::ImageIOFactory::ReadMode);
       reader->SetFileName(files[i].toStdString().c_str());
       reader->ReadImageInformation();
-      if (reader)  NOViewWidget->hide();
-      NEViewWidget->hide();
-      SOViewWidget->hide();
-      SEViewWidget->hide();
-      {
-        if (i == 0)
-          currentDim = reader->GetNumberOfDimensions();
-        bool IsOk = true;
-        for (unsigned int j = 0;j < currentDim; j++)
+      if (reader)        {
+          //NOViewWidget->hide();
+          //NEViewWidget->hide();
+          //SOViewWidget->hide();
+          //SEViewWidget->hide();
+          if (i == 0)
+              currentDim = reader->GetNumberOfDimensions();
+          bool IsOk = true;
+          for (unsigned int j = 0;j < currentDim; j++)
           {
-            if (i == 0)
+              if (i == 0)
               {
-                if (j == 0)
+                  if (j == 0)
                   {
-                    currentSpacing.resize(currentDim);
-                    currentSize.resize(currentDim);
-                    currentOrigin.resize(currentDim);
+                      currentSpacing.resize(currentDim);
+                      currentSize.resize(currentDim);
+                      currentOrigin.resize(currentDim);
                   }
-                currentOrigin[j] = reader->GetOrigin(j);
-                currentSpacing[j] = reader->GetSpacing(j);
-                currentSize[j] = reader->GetDimensions(j);
+                  currentOrigin[j] = reader->GetOrigin(j);
+                  currentSpacing[j] = reader->GetSpacing(j);
+                  currentSize[j] = reader->GetDimensions(j);
               }
-            else if (currentDim != reader->GetNumberOfDimensions()
-                     || currentSpacing[j] != reader->GetSpacing(j)
-                     || currentSize[j] != (int)reader->GetDimensions(j)
-                     || currentOrigin[j] != reader->GetOrigin(j))
+              else if (currentDim != reader->GetNumberOfDimensions()
+                      || currentSpacing[j] != reader->GetSpacing(j)
+                      || currentSize[j] != (int)reader->GetDimensions(j)
+                      || currentOrigin[j] != reader->GetOrigin(j))
               {
-                QString error = "Cannot read file (too different from others ";
-                error += files[i].toStdString().c_str();
-                QMessageBox::information(this,tr("Reading problem"),error);
-                IsOk = false;
-                break;
+                  QString error = "Cannot read file (too different from others ";
+                  error += files[i].toStdString().c_str();
+                  QMessageBox::information(this,tr("Reading problem"),error);
+                  IsOk = false;
+                  break;
               }
           }
-        if (IsOk)
-          vector.push_back(files[i].toStdString());
+          if (IsOk)
+              vector.push_back(files[i].toStdString());
       }
     }
   if (vector.size() > 0)
@@ -1088,8 +1092,8 @@ void vvMainWindow::ImageInfoChanged() {
       }
     windowSpinBox->setValue(mSlicerManagers[index]->GetColorWindow());
     levelSpinBox->setValue(mSlicerManagers[index]->GetColorLevel());
-    DD(mSlicerManagers[index]->GetColorMap());
-    DD(mSlicerManagers[index]->GetPreset());
+    // DD(mSlicerManagers[index]->GetColorMap());
+    // DD(mSlicerManagers[index]->GetPreset());
     presetComboBox->setCurrentIndex(mSlicerManagers[index]->GetPreset());
     colorMapComboBox->setCurrentIndex(mSlicerManagers[index]->GetColorMap());
 
@@ -1552,13 +1556,13 @@ void vvMainWindow::ReloadImage(QTreeWidgetItem* item, int column) {
 }
 //------------------------------------------------------------------------------
 
-void vvMainWindow::CropImage()
-{
-  int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
-  vvCropDialog crop(mSlicerManagers,index);
-  if(crop.exec())
-    AddImage(crop.GetOutput(),"cropped.mhd");
-}
+// void vvMainWindow::CropImage()
+// {
+//   int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
+//   vvCropDialog crop(mSlicerManagers,index);
+//   if(crop.exec())
+//     AddImage(crop.GetOutput(),"cropped.mhd");
+// }
 
 //------------------------------------------------------------------------------
 void vvMainWindow::SplitImage() {
@@ -2350,7 +2354,7 @@ void vvMainWindow::NOVerticalSliderChanged() {
       if (DataTree->topLevelItem(i)->data(COLUMN_UL_VIEW,Qt::CheckStateRole).toInt() > 1)
         {
           mSlicerManagers[i]->GetSlicer(0)->SetSlice(value);
-          //mSlicerManagers[i]->UpdateSlice(0); // <-- NO ! too much update...
+          mSlicerManagers[i]->UpdateSlice(0); // <-- DS add this. Not too much update ? 
           break;
         }
     }
@@ -2772,13 +2776,9 @@ void vvMainWindow::AddImage(vvSlicerManager * slicer_manager) {
 
 //------------------------------------------------------------------------------
 void vvMainWindow::UpdateCurrentSlicer() {
-  DD("UpdateCurrentSlicer");
   int index = -1;
-  DD(DataTree->selectedItems().size());
   if (DataTree->selectedItems().size() > 0) {
     index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
-    DD(DataTree->selectedItems()[0]);
-    DD(index);
   }
   mSlicerManagerCurrentIndex = index;    
 }