]> Creatis software - clitk.git/blobdiff - vv/vvToolBinarize.h
- toolbase
[clitk.git] / vv / vvToolBinarize.h
index 323514b9b1eed1abc3b5841679bdfc038800410e..f29d1190367a797b46e1f5fdd53a366135f33843 100644 (file)
@@ -3,8 +3,8 @@
   Program:   vv
   Module:    $RCSfile: vvToolBinarize.h,v $
   Language:  C++
-  Date:      $Date: 2010/01/29 13:54:37 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2010/02/24 11:42:42 $
+  Version:   $Revision: 1.6 $
   Author :   David Sarrut (david.sarrut@creatis.insa-lyon.fr)
 
   Copyright (C) 2010
 #define VVTOOLBINARIZE_H
 
 #include <QtDesigner/QDesignerExportWidget>
-#include <QDialog>
+//#include <QDialog>
 
 #include "vvToolBase.h"
+#include "vvToolWidgetBase.h"
+#include "vvImageContour.h"
 #include "ui_vvToolBinarize.h"
 #include "clitkBinarizeImage_ggo.h"
 
 #include "vtkRenderer.h"
 
 //------------------------------------------------------------------------------
-class QDESIGNER_WIDGET_EXPORT vvToolBinarize: 
-  public QDialog, public vvToolBase<vvToolBinarize>, private Ui::vvToolBinarize 
+class vvToolBinarize:
+  public vvToolWidgetBase,
+  public vvToolBase<vvToolBinarize>, 
+  private Ui::vvToolBinarize 
 {
   Q_OBJECT
     public:
-  vvToolBinarize(QWidget * parent=0, Qt::WindowFlags f=0);
+  vvToolBinarize(vvMainWindowBase * parent=0, Qt::WindowFlags f=0);
   ~vvToolBinarize();
 
   //-----------------------------------------------------
-  typedef vvToolBinarize Self;
-
-  //-----------------------------------------------------
-  static void Initialize() {
-    SetToolName("Binarize");
-    SetToolMenuName("Binarize");
-    SetToolIconFilename(":/new/prefix1/icons/binarize.png");
-    SetToolTip("Image interactive binarization with thresholds.");
-  }
-
+  static void Initialize();
   void InputIsSet(bool b);
   void GetArgsInfoFromGUI();
 
   //-----------------------------------------------------
- // public slots:
-//   void InputUpdate();
-
   public slots:
   void apply();
-  // void InputChange(int index);
   void valueChangedT1(double v);
   void valueChangedT2(double v);
   void UpdateSlice(int slicer,int slices);
-  void InputIsSelected();
+  void InputIsSelected(vvSlicerManager * m);
   void enableLowerThan(bool b);
+  void useFGBGtoggled(bool);
+  virtual bool close() { DD("vvToolBinarize::close"); 
+    for(unsigned int i=0; i<mImageContour.size(); i++)
+      mImageContour[i]->removeActors();
+    if (mCurrentSlicerManager)
+      mCurrentSlicerManager->Render();
+    return vvToolWidgetBase::close(); }
+
+  virtual void reject() { DD("vvToolBinarize::reject"); 
+    for(unsigned int i=0; i<mImageContour.size(); i++)
+      mImageContour[i]->removeActors();
+    if (mCurrentSlicerManager)
+      mCurrentSlicerManager->Render();
+    return vvToolWidgetBase::reject(); }
+
 
  protected:
   Ui::vvToolBinarize ui;
-  // std::vector<vvSlicerManager*> mSlicerManagers;
-//   std::vector<vvSlicerManager*> mSlicerManagersCompatible;
-//   vvImage::Pointer mCurrentImage;
-//   vvSlicerManager * mCurrentSliceManager;
   args_info_clitkBinarizeImage mArgsInfo;
-
-  vtkImageClip* mClipper;
-  vtkMarchingSquares* mSquares1;
-  vtkPolyDataMapper* mSquaresMapper1;
-  vtkActor* mSquaresActor1;
+  std::vector<vvImageContour*> mImageContour;
 
 }; // end class vvToolBinarize
 //------------------------------------------------------------------------------