]> Creatis software - creaMaracasVisu.git/commitdiff
DFCH: Manual Paint Changes (Undo/Redo) 80% :) :)
authorDiego Caceres <Diego.Caceres@creatis.insa-lyon.fr>
Thu, 6 Oct 2011 22:21:57 +0000 (22:21 +0000)
committerDiego Caceres <Diego.Caceres@creatis.insa-lyon.fr>
Thu, 6 Oct 2011 22:21:57 +0000 (22:21 +0000)
19 files changed:
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageDequeUR.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/managerUR.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h

index 4a1d0d6bf1a966ffc4ec037cf2951e8ecadd0ee9..d58d6db7d528ca24b7ef322d3fb07e85a81bbd94 100644 (file)
@@ -111,6 +111,7 @@ void BrushFilter::Run()  // virtual
                 {
 //                    if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
 //                    {
+
                          float scalarComponent = _image->GetScalarComponentAsFloat(i,j,k, 0);
                          if( ( this->GetRangeMin() <=  scalarComponent ) && ( scalarComponent <=  this->GetRangeMax() ) )
                          {
@@ -118,11 +119,13 @@ void BrushFilter::Run()  // virtual
                         zz=zz*zz;
                         if (_brushform==0)
                         {
+                               this->CalculateMinMaxRegion(i,j,k); //DFCH
                             _image->SetScalarComponentFromFloat (i,j,k, 0, value );
                         } else if (_brushform==1)
                         {
                             if ((xx+yy+zz)<=rr)
                             {
+                               this->CalculateMinMaxRegion(i,j,k); //DFCH
                                 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
                             }
                         } // _brushform
index 02a5130c17546f2dedfaa6be6211588771243bec..694c6abc8d92e852c5f4374795b4d78d0986ded4 100644 (file)
@@ -99,6 +99,7 @@ void FillFilter::FillToolRecursive(int px,int py, int pz)
     {
         if (_usingAuxImageFill==true)
         {
+               this->CalculateMinMaxRegion(px,py,pz); //DFCH
             _auxImageFill->SetScalarComponentFromFloat (px, py, pz,0, 0);
         }
         _tmpDistfill=(px-_pxfill)*(px-_pxfill)  + (py-_pyfill)*(py-_pyfill) + (pz-_pzfill)*(pz-_pzfill);
@@ -149,6 +150,7 @@ void FillFilter::FillToolRecursive(int px,int py, int pz)
 
         if (  _auxGrayLevelValidationFill==true )
         {
+               this->CalculateMinMaxRegion(px,py,pz); //DFCH
             _image->SetScalarComponentFromFloat (px,py,pz, 0, (float)_graylevel );
 
             if (_countRecursiveFill< _limitRecursionFill)
@@ -257,6 +259,7 @@ void FillFilter::SetAuxImageFill(int px,int py, int pz)
 {
     if ((px>=_minX) && (px<=_maxX) && (py>=_minY) && (py<=_maxY) && (pz>=_minZ) && (pz<=_maxZ))
     {
+       this->CalculateMinMaxRegion(px,py,pz); //DFCH
         _auxImageFill->SetScalarComponentFromFloat (px, py, pz,0, 1);
     }
 }
index dc4fea127419f1bfb89f3b726e1dfa45afdf20e0..cdfc6ba889bdac6be08a30b61f340da3bce94423 100644 (file)
@@ -1,59 +1,55 @@
-
 #include "ManualPaintControler.h"
 #include "vtkInteractorManualPaint.h"
 #include "vtkImageActor.h"
 
 //---------------------------------------------------------------------------
-ManualPaintControler::ManualPaintControler()
-{
-    auxZ=0;
-    _wxvtk2Dbaseview=NULL;
+ManualPaintControler::ManualPaintControler() {
+       auxZ = 0;
+       _wxvtk2Dbaseview = NULL;
 }
 
 //---------------------------------------------------------------------------
-ManualPaintControler::~ManualPaintControler()
-{
+ManualPaintControler::~ManualPaintControler() {
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintControler::SetManualPaintModel(ManualPaintModel* manualPaintModel)
-{
-    _manualPaintModel = manualPaintModel;
+void ManualPaintControler::SetManualPaintModel(
+               ManualPaintModel* manualPaintModel) {
+       _manualPaintModel = manualPaintModel;
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintControler::SetManualPaintPanel(ManualPaintPanel* manualPaintPanel)
-{
-    _manualPaintPanel = manualPaintPanel;
+void ManualPaintControler::SetManualPaintPanel(
+               ManualPaintPanel* manualPaintPanel) {
+       _manualPaintPanel = manualPaintPanel;
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintControler::SetWxVtk2DBaseView(wxVtk2DBaseView *wxvtk2Dbaseview)
-{
-    _wxvtk2Dbaseview = wxvtk2Dbaseview;
+void ManualPaintControler::SetWxVtk2DBaseView(
+               wxVtk2DBaseView *wxvtk2Dbaseview) {
+       _wxvtk2Dbaseview = wxvtk2Dbaseview;
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintControler::Config()
-{
-    if (_wxvtk2Dbaseview!=NULL)
-    {
-        vtkInteractorStyleBaseView *isbv = (vtkInteractorStyleBaseView*)(_wxvtk2Dbaseview->GetInteractorStyleBaseView());
-        isbv->AddInteractorStyleMaracas( new vtkInteractorManualPaint(this) );
-    }
+void ManualPaintControler::Config() {
+       if (_wxvtk2Dbaseview != NULL) {
+               vtkInteractorStyleBaseView *isbv =
+                               (vtkInteractorStyleBaseView*) (_wxvtk2Dbaseview->GetInteractorStyleBaseView());
+               isbv->AddInteractorStyleMaracas(new vtkInteractorManualPaint(this));
+       }
 }
 
-
-
 //---------------------------------------------------------------------------
-void ManualPaintControler::PaintImage(int px,int py, int pz)
-{
-    _manualPaintModel->SetDirection( _wxvtk2Dbaseview->GetDirection() );
-    _manualPaintModel->PaintImage(px,py,pz);
+void ManualPaintControler::PaintImage(int px, int py, int pz) {
+       _manualPaintModel->SetDirection(_wxvtk2Dbaseview->GetDirection());
+       _manualPaintModel->PaintImage(px, py, pz);
 
-    // The refresh mechanisme is made in the vtkInteractorManualPaint
-    //    RefreshView();
+       // The refresh mechanisme is made in the vtkInteractorManualPaint
+       //    RefreshView();
 }
 
 //---------------------------------------------------------------------------
-
+void ManualPaintControler::SetImageUndo()
+{
+       _manualPaintModel->SetUndoImage();
+}
index 33e6abdd9f0e8c4b86618bb3eefea2f51aeadd5a..4d2d2cd7a3779ac0c6e4d98811e40942f0bd8f33 100644 (file)
@@ -16,6 +16,7 @@ public:
     void SetWxVtk2DBaseView(wxVtk2DBaseView *wxvtk2Dbaseview);
     void Config();
     void PaintImage(int px,int py, int pz);
+    void SetImageUndo();
 
 private:
     int                 auxZ;
index 17a86cf96f2faa06c40ba10995fe66c25268542e..3c1f351f7927f9fc2a958313c779448803fa969b 100644 (file)
-
 #include "ManualPaintModel.h"
 
-
-ManualPaintModel::ManualPaintModel()
-{
-    _tool           =  0;      // 0 pencil         ,   1 fill
-    _brushfilter    =  new BrushFilter();
-    _fillfilter     =  new FillFilter();
+ManualPaintModel::ManualPaintModel() {
+       _tool = 0; // 0 pencil         ,   1 fill
+       _brushfilter = new BrushFilter();
+       _fillfilter = new FillFilter();
+       _imageUndoRedo = new ImageUndoRedo();
 }
 
 //---------------------------------------------------------------------------
-ManualPaintModel::~ManualPaintModel()
-{
-    delete _brushfilter;
-    delete _fillfilter;
+ManualPaintModel::~ManualPaintModel() {
+       delete _brushfilter;
+       delete _fillfilter;
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::PaintImage(int px,int py, int pz)
-{
-    if (_tool==0)
-    {
-        _brushfilter->SetPoint(px,py,pz);
-        _brushfilter->Run();
-    }
-    if (_tool==1)
-    {
-        _fillfilter->SetPoint(px,py,pz);
-        _fillfilter->Run();
-    }
+void ManualPaintModel::PaintImage(int px, int py, int pz) {
+       if (_tool == 0) {
+               _brushfilter->SetPoint(px, py, pz);
+               _brushfilter->Run();
+       }
+       if (_tool == 1) {
+               _fillfilter->SetPoint(px, py, pz);
+               _fillfilter->Run();
+       }
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetTool( int tool )
-{
-    _tool = tool;
+void ManualPaintModel::SetTool(int tool) {
+       _tool = tool;
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::Set2D3D( int dim2D3D )
-{
-    _brushfilter->Set2D3D(dim2D3D);
-    _fillfilter->Set2D3D(dim2D3D);
+void ManualPaintModel::Set2D3D(int dim2D3D) {
+       _brushfilter->Set2D3D(dim2D3D);
+       _fillfilter->Set2D3D(dim2D3D);
 }
 
-
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetImage(vtkImageData *image)
-{
-    _brushfilter->SetImage(image);
-    _fillfilter->SetImage(image);
+void ManualPaintModel::SetImage(vtkImageData *image) {
+       _brushfilter->SetImage(image);
+       _fillfilter->SetImage(image);
+       _imageUndoRedo->SetImage(image);
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetGrayLevel( double graylevel )
-{
-    _brushfilter->SetGrayLevel(graylevel);
-    _fillfilter->SetGrayLevel(graylevel);
+void ManualPaintModel::SetGrayLevel(double graylevel) {
+       _brushfilter->SetGrayLevel(graylevel);
+       _fillfilter->SetGrayLevel(graylevel);
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetRangeMin( int min )
-{
+void ManualPaintModel::SetRangeMin(int min) {
        _brushfilter->SetRangeMin(min);
        _fillfilter->SetRangeMin(min);
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetRangeMax( int max )
-{
+void ManualPaintModel::SetRangeMax(int max) {
        _brushfilter->SetRangeMax(max);
        _fillfilter->SetRangeMax(max);
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetDirection(int direction)
-{
-    _brushfilter->SetDirection(direction);
-    _fillfilter->SetDirection(direction);
+void ManualPaintModel::SetDirection(int direction) {
+       _brushfilter->SetDirection(direction);
+       _fillfilter->SetDirection(direction);
 }
 
-
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetBrushSize( int brushsize )
-{
-    _brushfilter->SetBrushSize(brushsize);
+void ManualPaintModel::SetBrushSize(int brushsize) {
+       _brushfilter->SetBrushSize(brushsize);
 }
 
-
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetBrushForm( int brushform )
-{
-    _brushfilter->SetBrushForm(brushform);
+void ManualPaintModel::SetBrushForm(int brushform) {
+       _brushfilter->SetBrushForm(brushform);
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetToleranceFill(double tolerancefill)
-{
-    _fillfilter->SetToleranceFill(tolerancefill);
+void ManualPaintModel::SetToleranceFill(double tolerancefill) {
+       _fillfilter->SetToleranceFill(tolerancefill);
 }
 
 //---------------------------------------------------------------------------
-void ManualPaintModel::SetDistanceFill(int distancefill)
-{
-    _fillfilter->SetDistanceFill(distancefill);
+void ManualPaintModel::SetDistanceFill(int distancefill) {
+       _fillfilter->SetDistanceFill(distancefill);
 }
 //---------------------------------------------------------------------------
-void ManualPaintModel::GetScalarRange( double * range )
-{
-       _fillfilter->GetScalarRange( range );
+void ManualPaintModel::GetScalarRange(double * range) {
+       _fillfilter->GetScalarRange(range);
 }
+//---------------------------------------------------------------------------
+void ManualPaintModel::SetUndoImage() {
+       RegionStructUR* region = NULL;
+       if (_tool == 0) {
+               region = this->_brushfilter->GetModifiedRegion();
+       }
+       if (_tool == 1) {
+               region = this->_fillfilter->GetModifiedRegion();
+       }
+       this->_imageUndoRedo->SetUndoImage((*region));
+       this->_brushfilter->CleanModifiedRegion();
+       this->_fillfilter->CleanModifiedRegion();
+}
+//---------------------------------------------------------------------------
 
+void ManualPaintModel::Undo() {
+       //this->_imageUndoRedo->Undo();
+}
index a39146321d27dbb04f4c39ecc66e9b52ae25ea03..93adac962337fc698c78ceeaa3c62668c158f668 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "BrushFilter.h"
 #include "FillFilter.h"
-
+#include "regionStructUR.h"
+#include "imageUndoRedo.h"
 
 class ManualPaintModel  {
 public:
@@ -23,12 +24,16 @@ public:
     void SetRangeMin( int min );
     void SetRangeMax( int max );
     void GetScalarRange( double * range );
+    void SetUndoImage();//DFCH
+    void Undo();//DFCH
 
 
 private:
     int             _tool;
     BrushFilter     *_brushfilter;
     FillFilter      *_fillfilter;
+       ImageUndoRedo   *_imageUndoRedo;
+
 protected:
 
 };
index a63ce13401e92da345e31515e832daf4ebc6b72e..d9ce41aaed5a077d9091134d9588d600b445005f 100644 (file)
-
 #include "baseFilterManualPaint.h"
 
-baseFilterManualPaint::baseFilterManualPaint()
-{
-    _graylevel          =   0.0;
-    _2D3D               =   1;      // 0 2D             ,   1 true 3D
-    _direction          =   0;      // 1 XZ             ,   0 YZ            ,   2 XY
-    _minX               =   0;
-    _minY               =   0;
-    _minZ               =   0;
-    _maxX               =   0;
-    _maxY               =   0;
-    _maxZ               =   0;
-
-    _pMinX              =   0;
-    _pMinY              =   0;
-    _pMinZ              =   0;
-    _pMaxX              =   0;
-    _pMaxY              =   0;
-    _pMaxZ              =   0;
+baseFilterManualPaint::baseFilterManualPaint() {
+       _MRegion = new RegionStructUR();
+       CleanModifiedRegion();
+       _graylevel = 0.0;
+       _2D3D = 1; // 0 2D             ,   1 true 3D
+       _direction = 0; // 1 XZ             ,   0 YZ            ,   2 XY
+       _minX = 0;
+       _minY = 0;
+       _minZ = 0;
+       _maxX = 0;
+       _maxY = 0;
+       _maxZ = 0;
+
+       _pMinX = 0;
+       _pMinY = 0;
+       _pMinZ = 0;
+       _pMaxX = 0;
+       _pMaxY = 0;
+       _pMaxZ = 0;
 }
 
 //---------------------------------------------------------------------------
-baseFilterManualPaint::~baseFilterManualPaint()  // virtual
+baseFilterManualPaint::~baseFilterManualPaint() // virtual
 {
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::Run()  // virtual
+void baseFilterManualPaint::Run() // virtual
 {
 }
 
-
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::SetGrayLevel( double graylevel )
-{
-    _graylevel = graylevel;
+void baseFilterManualPaint::SetGrayLevel(double graylevel) {
+       _graylevel = graylevel;
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::Set2D3D( int dim2D3D )
-{
-    _2D3D = dim2D3D;
+void baseFilterManualPaint::Set2D3D(int dim2D3D) {
+       _2D3D = dim2D3D;
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::SetDirection(int direction)
-{
-    _direction = direction;
+void baseFilterManualPaint::SetDirection(int direction) {
+       _direction = direction;
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::SetPoint(int px,int py, int pz)
-{
-    _px=px;
-    _py=py;
-    _pz=pz;
+void baseFilterManualPaint::SetPoint(int px, int py, int pz) {
+       _px = px;
+       _py = py;
+       _pz = pz;
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::SetImage(vtkImageData *image)
-{
-    int ext[6];
-    _image=image;
-    _image->GetWholeExtent(ext);
-    _minX=0;
-    _minY=0;
-    _minZ=0;
-    _maxX=ext[1]-ext[0];
-    _maxY=ext[3]-ext[2];
-    _maxZ=ext[5]-ext[4];
+void baseFilterManualPaint::SetImage(vtkImageData *image) {
+       int ext[6];
+       _image = image;
+       _image->GetWholeExtent(ext);
+       _minX = 0;
+       _minY = 0;
+       _minZ = 0;
+       _maxX = ext[1] - ext[0];
+       _maxY = ext[3] - ext[2];
+       _maxZ = ext[5] - ext[4];
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::ResetGeneralMinMax()
-{
-       _pMinX=10000;
-       _pMinY=10000;
-       _pMinZ=10000;
-       _pMaxX=-10000;
-       _pMaxY=-10000;
-       _pMaxZ=-10000;
+void baseFilterManualPaint::ResetGeneralMinMax() {
+       _pMinX = 10000;
+       _pMinY = 10000;
+       _pMinZ = 10000;
+       _pMaxX = -10000;
+       _pMaxY = -10000;
+       _pMaxZ = -10000;
 }
 
-
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ)
-{
-       if (_pMinX>minX)
-        {
-               _pMinX=minX;
-        }
-
-       if (_pMinY>minY)
-        {
-               _pMinY=minY;
-        }
-
-       if (_pMinZ>minZ)
-        {
-               _pMinZ=minZ;
-        }
-
-       if (_pMaxX<maxX)
-        {
-               _pMaxX=maxX;
-        }
-
-       if (_pMaxY<maxY)
-        {
-               _pMaxY=maxY;
-        }
-
-       if (_pMaxZ<maxZ)
-        {
-               _pMaxZ=maxZ;
-        }
+void baseFilterManualPaint::SetGeneralMinMax(int minX, int maxX, int minY,
+               int maxY, int minZ, int maxZ) {
+       if (_pMinX > minX) {
+               _pMinX = minX;
+       }
+
+       if (_pMinY > minY) {
+               _pMinY = minY;
+       }
+
+       if (_pMinZ > minZ) {
+               _pMinZ = minZ;
+       }
+
+       if (_pMaxX < maxX) {
+               _pMaxX = maxX;
+       }
+
+       if (_pMaxY < maxY) {
+               _pMaxY = maxY;
+       }
+
+       if (_pMaxZ < maxZ) {
+               _pMaxZ = maxZ;
+       }
 
 }
 
 //---------------------------------------------------------------------------
-void baseFilterManualPaint::GetScalarRange( double * range )
-{
+void baseFilterManualPaint::GetScalarRange(double * range) {
        range = this->_image->GetScalarRange();
 }
-
+RegionStructUR* baseFilterManualPaint::GetModifiedRegion() {
+       return (this->_MRegion);
+} //DFCH
+void baseFilterManualPaint::CleanModifiedRegion() {
+       this->_MRegion->minX = 0;
+       this->_MRegion->maxX = 0;
+       this->_MRegion->minY = 0;
+       this->_MRegion->maxY = 0;
+       this->_MRegion->minZ = 0;
+       this->_MRegion->maxZ = 0;
+} //DFCH
+void baseFilterManualPaint::CalculateMinMaxRegion(const int& i, const int& j,
+               const int& k) {
+       if (i < this->_MRegion->minX) {
+               this->_MRegion->minX = i;
+       } else {
+               this->_MRegion->maxX = i;
+       } //fi
+       if (j < this->_MRegion->minY) {
+               this->_MRegion->minY = j;
+       } else {
+               this->_MRegion->maxY = j;
+       } //fi
+       if (k < this->_MRegion->minZ) {
+               this->_MRegion->minZ = k;
+       } else {
+               this->_MRegion->maxZ = k;
+       } //fi
+}
 
index 4414e51bb184a389f2d0b6cf649d8454414ec4f6..ad3f662ea1861e0c3642bf5d7ba4d454fc13c8d1 100644 (file)
@@ -2,6 +2,7 @@
 #define _BASE_FILTER_MANUAL_PAINT_H_
 
 #include <vtkImageData.h>
+#include "regionStructUR.h"
 
 class baseFilterManualPaint  {
 
@@ -17,11 +18,15 @@ class baseFilterManualPaint  {
         void ResetGeneralMinMax();
         void SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ);
         void GetScalarRange( double * range );
+        RegionStructUR* GetModifiedRegion();//DFCH
+        void CleanModifiedRegion();//DFCH
+        void CalculateMinMaxRegion( const int& i, const int& j, const int& k);//DFCH
         virtual void Run();
 
     private:
 
     protected:
+        RegionStructUR *_MRegion; //Saves the last modified region (MinX, MaxX, MinY, MaxY, MinZ, MaxZ).
         vtkImageData    *_image;
         int             _direction;
         int            _px;    // start point of the brush
index 809a3952ad8426620c22309038662e0dc6c34097..315974080cb43e81aacfd7b6d44306a276e0c798 100644 (file)
@@ -9,66 +9,66 @@ Image3DDequeUR::~Image3DDequeUR() {
 
 }
 //virtual
-void Image3DDequeUR::addImageToUndoContainer(ImageType* img,
+void Image3DDequeUR::AddImageToUndoContainer(ImageType* img,
                const RegionS& region) {
        //managing memory
        if (this->m_ImgUndoDeque.size() > 0) {
-               this->m_ImgUndoDeque.back().removeImageFromMemory();
+               this->m_ImgUndoDeque.back().RemoveImageFromMemory();
        } //fi
        ImageInfoUR imageInfo;
-       imageInfo.setImageName(this->getImageName());
-       imageInfo.setImage(img);
-       imageInfo.setRegion(region);
+       imageInfo.SetImageName(this->GetImageName());
+       imageInfo.SetImage(img);
+       imageInfo.SetRegion(region);
        //saving to disk
-       std::string fullpath = this->m_globalPath + imageInfo.getImageName()
+       std::string fullpath = this->m_globalPath + imageInfo.GetImageName()
                        + "_UNDO.MHD";
-       this->saveImageAsMHD(img, fullpath);
+       this->SaveImageAsMHD(img, fullpath);
        //Adding to deque
        this->m_ImgUndoDeque.push_back(imageInfo);
        this->m_currentUndoPos = this->m_ImgUndoDeque.size() - 1;
 }
 //virtual
-void Image3DDequeUR::addImageToRedoContainer(ImageType* img,
+void Image3DDequeUR::AddImageToRedoContainer(ImageType* img,
                const RegionS& region) {
        //managing memory
        if (this->m_ImgRedoDeque.size() > 0) {
-               this->m_ImgRedoDeque.back().removeImageFromMemory();
+               this->m_ImgRedoDeque.back().RemoveImageFromMemory();
        } //fi
        ImageInfoUR imageInfo;
-       imageInfo.setImageName(this->getImageName());
-       imageInfo.setImage(img);
-       imageInfo.setRegion(region);
+       imageInfo.SetImageName(this->GetImageName());
+       imageInfo.SetImage(img);
+       imageInfo.SetRegion(region);
        //saving to disk
-       std::string fullpath = this->m_globalPath + imageInfo.getImageName()
+       std::string fullpath = this->m_globalPath + imageInfo.GetImageName()
                        + "_REDO.MHD";
-       this->saveImageAsMHD(img, fullpath);
+       this->SaveImageAsMHD(img, fullpath);
        //Adding to deque
        this->m_ImgRedoDeque.push_back(imageInfo);
 }
 //virtual
-void Image3DDequeUR::loadUndoImageToPMemory(const unsigned int& index) {
+void Image3DDequeUR::LoadUndoImageToPMemory(const unsigned int& index) {
        creaImageIO::ImageReader reader;
        std::string fullPath = this->m_globalPath
-                       + this->m_ImgUndoDeque[index].getImageName();
-       this->m_ImgUndoDeque[index].setImage(reader.ReadImage(fullPath));
+                       + this->m_ImgUndoDeque[index].GetImageName();
+       this->m_ImgUndoDeque[index].SetImage(reader.ReadImage(fullPath));
 }
 //virtual
-void Image3DDequeUR::removeUndoImageFromPMemory(const unsigned int& index) {
-       this->m_ImgUndoDeque[index].removeImageFromMemory();
+void Image3DDequeUR::RemoveUndoImageFromPMemory(const unsigned int& index) {
+       this->m_ImgUndoDeque[index].RemoveImageFromMemory();
 }
 //virtual
-void Image3DDequeUR::loadRedoImageToPMemory(const unsigned int& index) {
+void Image3DDequeUR::LoadRedoImageToPMemory(const unsigned int& index) {
        creaImageIO::ImageReader reader;
        std::string fullPath = this->m_globalPath
-                       + this->m_ImgRedoDeque[index].getImageName();
-       this->m_ImgRedoDeque[index].setImage(reader.ReadImage(fullPath));
+                       + this->m_ImgRedoDeque[index].GetImageName();
+       this->m_ImgRedoDeque[index].SetImage(reader.ReadImage(fullPath));
 }
 //virtual
-void Image3DDequeUR::removeRedoImageFromPMemory(const unsigned int& index) {
-       this->m_ImgRedoDeque[index].removeImageFromMemory();
+void Image3DDequeUR::RemoveRedoImageFromPMemory(const unsigned int& index) {
+       this->m_ImgRedoDeque[index].RemoveImageFromMemory();
 }
 //virtual
-void Image3DDequeUR::saveImageAsMHD(ImageType* img,
+void Image3DDequeUR::SaveImageAsMHD(ImageType* img,
                const std::string& filename) {
        vtkMetaImageWriter* w = vtkMetaImageWriter::New();
        w->SetInput(img);
@@ -81,64 +81,64 @@ void Image3DDequeUR::saveImageAsMHD(ImageType* img,
 }
 
 //virtual
-ImageInfoUR Image3DDequeUR::undo() {
+ImageInfoUR Image3DDequeUR::Undo() {
        ImageInfoUR imgRet;
        if (this->m_currentUndoPos < (this->m_ImgUndoDeque.size() + 1)) {
-               this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].removeImageFromMemory();
+               this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].RemoveImageFromMemory();
        } //fi
        if (this->m_currentUndoPos != -1) {
                //removing from memory
                if ((this->m_currentUndoPos + 1) < this->m_ImgUndoDeque.size()) {
-                       this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].removeImageFromMemory();
+                       this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].RemoveImageFromMemory();
                } //fi
                ImageInfoUR imgRet =
                                this->m_ImgUndoDeque[(unsigned int) m_currentUndoPos];
                this->m_currentUndoPos--;
                //adding to memory
                if (this->m_currentUndoPos != -1) {
-                       this->loadUndoImageToPMemory((unsigned int) m_currentUndoPos);
+                       this->LoadUndoImageToPMemory((unsigned int) m_currentUndoPos);
                } //fi
        } //fi
        return (imgRet);
 }
 //virtual
-ImageInfoUR Image3DDequeUR::redo() {
+ImageInfoUR Image3DDequeUR::Redo() {
        ImageInfoUR imgRet;
        if (this->m_currentUndoPos >= (this->m_ImgRedoDeque.size() - 1)
                        && (this->m_ImgRedoDeque.size() > 0)) {
-               this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos)].removeImageFromMemory();
+               this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos)].RemoveImageFromMemory();
                this->m_currentUndoPos++;
-               this->loadUndoImageToPMemory((unsigned int) m_currentUndoPos);
+               this->LoadUndoImageToPMemory((unsigned int) m_currentUndoPos);
                imgRet = this->m_ImgRedoDeque.back();
                this->m_ImgRedoDeque.pop_back();
                if (this->m_ImgRedoDeque.size() > 0) {
-                       loadRedoImageToPMemory(
+                       LoadRedoImageToPMemory(
                                        (unsigned int) (this->m_ImgRedoDeque.size() - 1));
                } //fi
        } //fi
        return (imgRet);
 }
 
-void Image3DDequeUR::cleanContainers() {
+void Image3DDequeUR::CleanContainers() {
        for (unsigned int i = 0; i < this->m_ImgUndoDeque.size(); i++) {
-               this->m_ImgUndoDeque[i].removeImageFromMemory();
+               this->m_ImgUndoDeque[i].RemoveImageFromMemory();
        } //rof
        for (unsigned int i = 0; i < this->m_ImgRedoDeque.size(); i++) {
-               this->m_ImgRedoDeque[i].removeImageFromMemory();
+               this->m_ImgRedoDeque[i].RemoveImageFromMemory();
        } //rof
        this->m_ImgRedoDeque.clear();
        this->m_ImgUndoDeque.clear();
 }
 
-void Image3DDequeUR::setGlobalPath(const std::string& globalPath) {
+void Image3DDequeUR::SetGlobalPath(const std::string& globalPath) {
        this->m_globalPath = globalPath;
 }
 
-std::string Image3DDequeUR::getGlobalPath() {
+std::string Image3DDequeUR::GetGlobalPath() {
        return (this->m_globalPath);
 }
 
-std::string Image3DDequeUR::getImageName() {
+std::string Image3DDequeUR::GetImageName() {
        //Giving a name to an image using the date and time
        time_t rawtime;
        struct tm * timeinfo;
index 39c04682f5b8b9195190bf0f042153d3ba58b912..ef0ca63d85368793843383ecc5a7225d08871e98 100644 (file)
@@ -13,8 +13,7 @@
 #include "vtkMetaImageWriter.h"
 #include "creaImageIOImageReader.h"
 
-class Image3DDequeUR : public ImageDequeUR
-{
+class Image3DDequeUR: public ImageDequeUR {
 private:
        ImageInfoDeque m_ImgUndoDeque;
        ImageInfoDeque m_ImgRedoDeque;
@@ -23,20 +22,19 @@ private:
 public:
        Image3DDequeUR();
        virtual ~Image3DDequeUR();
-       virtual void addImageToUndoContainer(ImageType* img, const RegionS& region);
-       virtual void addImageToRedoContainer(ImageType* img, const RegionS& region);
-       virtual void loadUndoImageToPMemory( const unsigned int& index );
-       virtual void removeUndoImageFromPMemory( const unsigned int& index );
-       virtual void loadRedoImageToPMemory( const unsigned int& index );
-       virtual void removeRedoImageFromPMemory( const unsigned int& index );
-       virtual void saveImageAsMHD( ImageType* img, const std::string& filename );
-       virtual ImageInfoUR undo( );
-       virtual ImageInfoUR redo( );
-       void cleanContainers();
-       void setGlobalPath( const std::string& globalPath );
-       std::string getGlobalPath( );
-       std::string getImageName( );
+       virtual void AddImageToUndoContainer(ImageType* img, const RegionS& region);
+       virtual void AddImageToRedoContainer(ImageType* img, const RegionS& region);
+       virtual void LoadUndoImageToPMemory(const unsigned int& index);
+       virtual void RemoveUndoImageFromPMemory(const unsigned int& index);
+       virtual void LoadRedoImageToPMemory(const unsigned int& index);
+       virtual void RemoveRedoImageFromPMemory(const unsigned int& index);
+       virtual void SaveImageAsMHD(ImageType* img, const std::string& filename);
+       virtual ImageInfoUR Undo();
+       virtual ImageInfoUR Redo();
+       void CleanContainers();
+       void SetGlobalPath(const std::string& globalPath);
+       std::string GetGlobalPath();
+       std::string GetImageName();
 };
 
-
 #endif /* IMAGE3DDEQUEUR_H_ */
index 46b72bd71b1db053001bcbc9fee16ce5a5c3ce7e..04207c4131f50c54cc1e4f30bdc6f340455e39c6 100644 (file)
@@ -23,17 +23,15 @@ class ImageDequeUR {
 public:
        ImageDequeUR();
        virtual ~ImageDequeUR();
-       virtual void addImageToUndoContainer(ImageType* img, const RegionS& region);
-       virtual void addImageToRedoContainer(ImageType* img, const RegionS& region);
-       virtual void loadUndoImageToPMemory( const unsigned int& index );
-       virtual void removeUndoImageFromPMemory( const unsigned int& index );
-       virtual void loadRedoImageToPMemory( const unsigned int& index );
-       virtual void removeRedoImageFromPMemory( const unsigned int& index );
-       virtual void saveImageAsMHD( ImageType* img, const std::string& filename );
-       virtual ImageInfoUR undo( );
-       virtual ImageInfoUR redo( );
-private:
-       void cleanContainerFromIndex(const unsigned int& index);
+       virtual void AddImageToUndoContainer(ImageType* img, const RegionS& region);
+       virtual void AddImageToRedoContainer(ImageType* img, const RegionS& region);
+       virtual void LoadUndoImageToPMemory(const unsigned int& index);
+       virtual void RemoveUndoImageFromPMemory(const unsigned int& index);
+       virtual void LoadRedoImageToPMemory(const unsigned int& index);
+       virtual void RemoveRedoImageFromPMemory(const unsigned int& index);
+       virtual void SaveImageAsMHD(ImageType* img, const std::string& filename);
+       virtual ImageInfoUR Undo();
+       virtual ImageInfoUR Redo();
 };
 
 #endif /* IMAGEDEQUE_H_ */
index f2275ea6e3ee7f5b144aa190e60255107c259321..d637125b0b887de61b346595e1034fab6449aa07 100644 (file)
@@ -6,47 +6,37 @@
  */
 #include "imageInfoUR.h"
 
-ImageInfoUR::ImageInfoUR()
-{
+ImageInfoUR::ImageInfoUR() {
        this->m_Image = NULL;
 }
 
-ImageInfoUR::~ImageInfoUR()
-{
-       this->removeImageFromMemory();
+ImageInfoUR::~ImageInfoUR() {
+       this->RemoveImageFromMemory();
 }
 
-void ImageInfoUR::setImageName(const std::string &imgName)
-{
+void ImageInfoUR::SetImageName(const std::string &imgName) {
        this->m_ImageName = imgName;
 }
-void ImageInfoUR::setRegion(const RegionStructUR &region)
-{
+void ImageInfoUR::SetRegion(const RegionStructUR &region) {
        this->m_Region = region;
 }
-void ImageInfoUR::setStatus(const bool& onMemory)
-{
+void ImageInfoUR::SetStatus(const bool& onMemory) {
        this->m_OnMemory = onMemory;
 }
-void ImageInfoUR::setImage(vtkImageData* img)
-{
+void ImageInfoUR::SetImage(vtkImageData* img) {
        this->m_Image = img;
-       this->setStatus(true);
+       this->SetStatus(true);
 }
-std::string ImageInfoUR::getImageName()
-{
-       return( this->m_ImageName );
+std::string ImageInfoUR::GetImageName() {
+       return (this->m_ImageName);
 }
-RegionStructUR ImageInfoUR::getRegion()
-{
-       return( this->m_Region );
+RegionStructUR ImageInfoUR::GetRegion() {
+       return (this->m_Region);
 }
-bool ImageInfoUR::getStatus()
-{
-       return( this->m_OnMemory );
+bool ImageInfoUR::GetStatus() {
+       return (this->m_OnMemory);
 }
-void ImageInfoUR::removeImageFromMemory()
-{
+void ImageInfoUR::RemoveImageFromMemory() {
        this->m_Image->Delete();
-       this->setStatus(false);
+       this->SetStatus(false);
 }
index 1cf91f3f2f7d8a539f8f3c020fa406b6b95da007..52d8af93d695fe0715aa30710de597a477e84974 100644 (file)
@@ -13,7 +13,7 @@
 #include <vtkImageData.h>
 #include "regionStructUR.h"
 
-class ImageInfoUR{
+class ImageInfoUR {
 private:
        vtkImageData* m_Image;
        std::string m_ImageName;
@@ -22,15 +22,14 @@ private:
 public:
        ImageInfoUR();
        virtual ~ImageInfoUR();
-       void setImageName( const std::string &imgName );
-       void setRegion( const RegionStructUR &region );
-       void setStatus( const bool& onMemory );
-       void setImage( vtkImageData* img );
-       std::string getImageName( );
-       RegionStructUR getRegion( );
-       bool getStatus( );
-       void removeImageFromMemory();
+       void SetImageName(const std::string &imgName);
+       void SetRegion(const RegionStructUR &region);
+       void SetStatus(const bool& onMemory);
+       void SetImage(vtkImageData* img);
+       std::string GetImageName();
+       RegionStructUR GetRegion();
+       bool GetStatus();
+       void RemoveImageFromMemory();
 };
 
-
 #endif /* IMAGEINFO_H_ */
index 5433a6db1f6c82fae427cf607ad94acdd1aec74a..94344ab763ff1b224c6b3bc660a6bc6a0c4779e6 100644 (file)
@@ -7,59 +7,62 @@
 
 #include "imageUndoRedo.h"
 
-ImageUndoRedo::ImageUndoRedo(ImageType* current) {
-
-       this->m_CurrentImage = current;
-       this->m_CurrentImage->Update();
-       this->m_OriginalImage = ImageType::New();
-       this->m_OriginalImage->ShallowCopy(m_CurrentImage);
+ImageUndoRedo::ImageUndoRedo() {
+       this->m_ImagesDeque = new IDequeType();
 }
 //virtual
 ImageUndoRedo::~ImageUndoRedo() {
 
 }
 //virtual
-void ImageUndoRedo::undo() {
-       ImageInfoUR imageInfo = this->m_ImagesDeque->undo();
-       this->setRedoImage(imageInfo.getRegion());
-       this->drawUR(imageInfo);
+void ImageUndoRedo::Undo() {
+       ImageInfoUR imageInfo = this->m_ImagesDeque->Undo();
+       this->SetRedoImage(imageInfo.GetRegion());
+       this->DrawUR(imageInfo);
 }
 //virtual
-void ImageUndoRedo::redo() {
-       ImageInfoUR imageInfo = this->m_ImagesDeque->undo();
-       this->drawUR(imageInfo);
-       imageInfo.removeImageFromMemory();
+void ImageUndoRedo::Redo() {
+       ImageInfoUR imageInfo = this->m_ImagesDeque->Redo();
+       this->DrawUR(imageInfo);
+       imageInfo.RemoveImageFromMemory();
+}
+void ImageUndoRedo::SetImage(vtkImageData *image)
+{
+       this->m_CurrentImage = image;
+       this->m_CurrentImage->Update();
+       this->m_OriginalImage = ImageType::New();
+       this->m_OriginalImage->ShallowCopy(m_CurrentImage);
 }
 //virtual
-void ImageUndoRedo::setUndoImage(const RegionSType& region) {
+void ImageUndoRedo::SetUndoImage(const RegionSType& region) {
        vtkExtractVOI* extract;
        extract->New();
        extract->SetVOI(region.minX, region.maxX, region.minY, region.maxY,
                        region.minZ, region.maxZ);
        extract->SetSampleRate(1, 1, 1);
        extract->SetInput(this->m_OriginalImage);
-       this->m_ImagesDeque->addImageToUndoContainer(extract->GetOutput(), region);
+       this->m_ImagesDeque->AddImageToUndoContainer(extract->GetOutput(), region);
        extract->Delete();
 }
 //virtual
-void ImageUndoRedo::setRedoImage(const RegionSType& region) {
+void ImageUndoRedo::SetRedoImage(const RegionSType& region) {
        vtkExtractVOI* extract;
        extract->New();
        extract->SetVOI(region.minX, region.maxX, region.minY, region.maxY,
                        region.minZ, region.maxZ);
        extract->SetSampleRate(1, 1, 1);
        extract->SetInput(this->m_CurrentImage);
-       this->m_ImagesDeque->addImageToUndoContainer(extract->GetOutput(), region);
+       this->m_ImagesDeque->AddImageToUndoContainer(extract->GetOutput(), region);
        extract->Delete();
 }
-void ImageUndoRedo::setOriginalImage(ImageType* img) {
+void ImageUndoRedo::SetOriginalImage(ImageType* img) {
        this->m_OriginalImage = img;
 }
-void ImageUndoRedo::setCurrentImage(ImageType* img) {
+void ImageUndoRedo::SetCurrentImage(ImageType* img) {
        this->m_CurrentImage = img;
 }
 //virtual
-void ImageUndoRedo::drawUR(ImageInfoUR imageInfo) {
+void ImageUndoRedo::DrawUR(ImageInfoUR imageInfo) {
 
 }
 
index 3c13e1a9dc0034e2eb21828ee66c1eb739ad5935..41c54c4dccde5dde29739264517deef5aefa3265 100644 (file)
@@ -20,16 +20,17 @@ private:
        ImageType* m_CurrentImage;
 
 public:
-       ImageUndoRedo(ImageType* current);
+       ImageUndoRedo();
        virtual ~ImageUndoRedo();
-       virtual void undo();
-       virtual void redo();
-       virtual void setUndoImage(const RegionSType& region);
-       virtual void setRedoImage(const RegionSType& region);
-       void setOriginalImage(ImageType* img);
-       void setCurrentImage(ImageType* img);
+       virtual void Undo();
+       virtual void Redo();
+       virtual void SetImage(vtkImageData *image);
+       virtual void SetUndoImage(const RegionSType& region);
+       virtual void SetRedoImage(const RegionSType& region);
+       void SetOriginalImage(ImageType* img);
+       void SetCurrentImage(ImageType* img);
 private:
-       virtual void drawUR(ImageInfoUR imageInfo);
+       virtual void DrawUR(ImageInfoUR imageInfo);
 
 };
 
index e971416f2f3dc7b864f96be0519f686a1b0e5aa8..d14ba32ef34e33bdd8bb5559793f037bcf143247 100644 (file)
@@ -22,12 +22,13 @@ class ManagerUR {
 public:
        ManagerUR();
        virtual ~ManagerUR();
-       virtual void undo();
-       virtual void redo();
-       virtual void setUndoImage(const RegionSType& region);
-       virtual void setRedoImage(const RegionSType& region);
+       virtual void SetImage(vtkImageData *image);
+       virtual void Undo();
+       virtual void Redo();
+       virtual void SetUndoImage(const RegionSType& region);
+       virtual void SetRedoImage(const RegionSType& region);
 private:
-       virtual void drawUR(ImageInfoUR imageInfo);
+       virtual void DrawUR(ImageInfoUR imageInfo);
 
 };
 
index 4d9a6201b069fe15d09906492e7eb88e81e7eb66..a1483399af7dc726e4644232b9fd2ebb8ef78855 100644 (file)
@@ -1,41 +1,35 @@
-
 #include "vtkInteractorManualPaint.h"
 
-
 #include "wxVtk2DBaseView.h"
 #include "wxVTKRenderWindowInteractor.h"
 
-
-vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc)
-{
-    _manualPaintControler   = mpc;
-       _state                  = false;
-       _stateKey               = false;
+vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc) {
+       _manualPaintControler = mpc;
+       _state = false;
+       _stateKey = false;
 }
 
 //---------------------------------------------------------------------------
-vtkInteractorManualPaint::~vtkInteractorManualPaint()
-{
+vtkInteractorManualPaint::~vtkInteractorManualPaint() {
 }
 
 //---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnChar()
-{
-       vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor();
-       
-       if  (interactor->GetKeyCode()==97)
-       {
-               _stateKey=!_stateKey;
+bool vtkInteractorManualPaint::OnChar() {
+       vtkRenderWindowInteractor *interactor =
+                       _vtkInteractorStyleBaseView->GetInteractor();
+
+       if (interactor->GetKeyCode() == 97) {
+               _stateKey = !_stateKey;
        }
        return true;
 }
-       
+
 //---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnLeftButtonDown()
-{
-       vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor();   
-       if ( interactor->GetControlKey()==1 ){
-        _state  =   true;
+bool vtkInteractorManualPaint::OnLeftButtonDown() {
+       vtkRenderWindowInteractor *interactor =
+                       _vtkInteractorStyleBaseView->GetInteractor();
+       if (interactor->GetControlKey() == 1) {
+               _state = true;
 //        wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
 //        _Z      =   wxvtk2Dbaseview->GetActualSlice();
        }
@@ -43,45 +37,44 @@ bool vtkInteractorManualPaint::OnLeftButtonDown()
 }
 
 //---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnLeftButtonUp()
-{
+bool vtkInteractorManualPaint::OnLeftButtonUp() {
+       _manualPaintControler->SetImageUndo();
        _state = false;
        return true;
 }
 
 //---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnMouseMove ()
-{
-       if ((_state==true) || (_stateKey==true))
-       {
-        wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
-        wxVTKRenderWindowInteractor *wxVTKiren          = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor();
-        int px,py;
-        wxVTKiren->GetEventPosition(px,py);
+bool vtkInteractorManualPaint::OnMouseMove() {
+       if ((_state == true) || (_stateKey == true)) {
+               wxVtk2DBaseView *wxvtk2Dbaseview =
+                               (wxVtk2DBaseView*) _vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
+               wxVTKRenderWindowInteractor *wxVTKiren =
+                               wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor();
+               int px, py;
+               wxVTKiren->GetEventPosition(px, py);
 
 //        int     typeView = 1;
-        double  X        = (double)px;
-        double  Y        = (double)py;
-        double  Z        =  wxvtk2Dbaseview->GetActualSlice();
+               double X = (double) px;
+               double Y = (double) py;
+               double Z = wxvtk2Dbaseview->GetActualSlice();
 //        wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true, typeView);
-        wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true);
+               wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z, true);
 
-        _manualPaintControler->PaintImage((int)X,(int)Y,(int)Z);
-        this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
+               _manualPaintControler->PaintImage((int) X, (int) Y, (int) Z);
+               this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
 
-/*
-        wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified();
-        wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->Modified();
-        wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->SetDisplayExtent(0, 50+_auxZ, 0, 50,_Z, _Z );
-        wxvtk2Dbaseview->Refresh();
-        wxvtk2Dbaseview->RefreshView();
-//        wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ);
-        _auxZ=(_auxZ+1)%2;
-        wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render();
-        this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
-*/
-       }// if _state
+               /*
+                wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified();
+                wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->Modified();
+                wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->SetDisplayExtent(0, 50+_auxZ, 0, 50,_Z, _Z );
+                wxvtk2Dbaseview->Refresh();
+                wxvtk2Dbaseview->RefreshView();
+                //        wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ);
+                _auxZ=(_auxZ+1)%2;
+                wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render();
+                this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
+                */
+       } // if _state
        return true;
 }
 
-
index e8f8d2c523e3cf90657b437f59d052d2ad1c134d..22b1400f3933618d04a03b3283ecd92501a6cc3e 100644 (file)
-
 #include "wxManualPaintPanel.h"
 #include <wx/radiobox.h>
 
-wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
- : wxPanel(parent, -1)
-{
+wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent) :
+               wxPanel(parent, -1) {
 
-    wxPanel    *panel                              = this;
-    wxSizer *sizer                                 = NULL;
+       wxPanel *panel = this;
+       wxSizer *sizer = NULL;
 
        // Widget interface
-       wxStaticText    *tittleText                 = new wxStaticText(panel, -1, _T("             Manual Paint"));
-                     _txtBrushSize      = new wxStaticText(panel, -1, wxString(_T("  Brush size  ")));
-                     _sldBrushSize      = new wxSlider(panel, -1, 1, 1, 20, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
-       wxStaticText    *txtGrayLevel       = new wxStaticText(panel, -1, wxString(_T("  Gray Level  ")));
-                     _sldGrayLevel      = new wxSlider(panel, -1, 0, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
-                     _graylevelCtrl     = new wxTextCtrl(panel , -1);
-                     _txtToleranceFill  = new wxStaticText(panel, -1, wxString(_T("  Tolerance fill  ")));
-                     _sldToleranceFill  = new wxSlider(panel, -1, 50, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
-                     _tolerancefillCtrl = new wxTextCtrl(panel , -1,_T("50") );
-                     _txtDistanceFill   = new wxStaticText(panel, -1, wxString(_T("  Distance fill  ")));
-                     _sldDistanceFill   = new wxSlider(panel, -1, 500, 1, 500, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
-                     _distancefillCtrl  = new wxTextCtrl(panel , -1,_T("500") );
-                     //DFCH -- BarSlices
-                     double range[2];
-                     GetScalarRange( range );
-                     int min = 0;//range[0];
-                     int max = 6000;//range[1];
-                     _mBarSlices = new mBarRange( panel, 70, 65 );
-                     _mBarSlices->SetMin( 0 );
-                     _mBarSlices->SetStart( 0 );
-                     _mBarSlices->SetOrientation( true );
-                     _mBarSlices->setActiveStateTo( true );
-                     _mBarSlices->setVisibleLabels( true );
-                     _mBarSlices->setDeviceEndMargin( 10 );
-                     _mBarSlices->setDeviceBlitStart( 10, 10 );
-                     _mBarSlices->setIfWithActualDrawed( false );
-                     _mBarSlices->setRepresentedValues( min, max );
-                     _mBarSlices->SetStart( min );
-                     _mBarSlices->SetEnd( max );
-                     //DFCH -- End BarSlices
+       wxStaticText *tittleText = new wxStaticText(panel, -1,
+                       _T("             Manual Paint"));
+       _txtBrushSize = new wxStaticText(panel, -1, wxString(_T("  Brush size  ")));
+       _sldBrushSize = new wxSlider(panel, -1, 1, 1, 20, wxDefaultPosition,
+                       wxDefaultSize, wxSL_LABELS);
+       wxStaticText *txtGrayLevel = new wxStaticText(panel, -1,
+                       wxString(_T("  Gray Level  ")));
+       _sldGrayLevel = new wxSlider(panel, -1, 0, 0, 50, wxDefaultPosition,
+                       wxDefaultSize, wxSL_LABELS);
+       _graylevelCtrl = new wxTextCtrl(panel, -1);
+       _txtToleranceFill = new wxStaticText(panel, -1,
+                       wxString(_T("  Tolerance fill  ")));
+       _sldToleranceFill = new wxSlider(panel, -1, 50, 0, 50, wxDefaultPosition,
+                       wxDefaultSize, wxSL_LABELS);
+       _tolerancefillCtrl = new wxTextCtrl(panel, -1, _T("50"));
+       _txtDistanceFill = new wxStaticText(panel, -1,
+                       wxString(_T("  Distance fill  ")));
+       _sldDistanceFill = new wxSlider(panel, -1, 500, 1, 500, wxDefaultPosition,
+                       wxDefaultSize, wxSL_LABELS);
+       _distancefillCtrl = new wxTextCtrl(panel, -1, _T("500"));
+       //DFCH -- BarSlices
+       double range[2];
+       GetScalarRange(range);
+       int min = 0; //range[0];
+       int max = 6000; //range[1];
+       _mBarSlices = new mBarRange(panel, 70, 65);
+       _mBarSlices->SetMin(0);
+       _mBarSlices->SetStart(0);
+       _mBarSlices->SetOrientation(true);
+       _mBarSlices->setActiveStateTo(true);
+       _mBarSlices->setVisibleLabels(true);
+       _mBarSlices->setDeviceEndMargin(10);
+       _mBarSlices->setDeviceBlitStart(10, 10);
+       _mBarSlices->setIfWithActualDrawed(false);
+       _mBarSlices->setRepresentedValues(min, max);
+       _mBarSlices->SetStart(min);
+       _mBarSlices->SetEnd(max);
+       //DFCH -- End BarSlices
 
        wxString lst2D3D[2];
-       lst2D3D[0]=_T("2D");
-       lst2D3D[1]=_T("3D");
-                    _rb2D3D         = new wxRadioBox(panel, -1, _T("2D / 3D"), wxDefaultPosition, wxSize(270,45), 2 , lst2D3D,  2, wxRA_SPECIFY_COLS);
-    _rb2D3D->SetSelection(1);
+       lst2D3D[0] = _T("2D");
+       lst2D3D[1] = _T("3D");
+       _rb2D3D = new wxRadioBox(panel, -1, _T("2D / 3D"), wxDefaultPosition,
+                       wxSize(270, 45), 2, lst2D3D, 2, wxRA_SPECIFY_COLS);
+       _rb2D3D->SetSelection(1);
 
        wxString lstBrushForm[2];
-       lstBrushForm[0]=_T("rectangle/cube");
-       lstBrushForm[1]=_T("circle/sphere");
-                    _rbBrushForm    = new wxRadioBox(panel, -1, _T("Brush form"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushForm,  2, wxRA_SPECIFY_COLS);
+       lstBrushForm[0] = _T("rectangle/cube");
+       lstBrushForm[1] = _T("circle/sphere");
+       _rbBrushForm = new wxRadioBox(panel, -1, _T("Brush form"),
+                       wxDefaultPosition, wxSize(270, 45), 2, lstBrushForm, 2,
+                       wxRA_SPECIFY_COLS);
 
-    _txtToleranceFill->Disable();
-    _sldToleranceFill->Disable();
-    _tolerancefillCtrl->Disable();
+       _txtToleranceFill->Disable();
+       _sldToleranceFill->Disable();
+       _tolerancefillCtrl->Disable();
 
-    _txtDistanceFill->Disable();
-    _sldDistanceFill->Disable();
-    _distancefillCtrl->Disable();
+       _txtDistanceFill->Disable();
+       _sldDistanceFill->Disable();
+       _distancefillCtrl->Disable();
 
        wxString lstBrushTool[2];
-       lstBrushTool[0]=_T("Brush");
-       lstBrushTool[1]=_T("Fill");
-                    _rbBrushTool    = new wxRadioBox(panel, -1, _T("Brush tool"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushTool,  2, wxRA_SPECIFY_COLS);
-
-       wxButton     *btnCopy           = new wxButton( panel, -1, _T("Copy"));
-    btnCopy->Disable();
-       wxButton     *btnUndo           = new wxButton( panel, -1, _T("Undo"));
-    btnUndo->Disable();
-
-    Connect(_sldBrushSize->GetId()      , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) (&wxManualPaintPanel::OnBrushSize));
-
-    Connect(_sldGrayLevel->GetId()      , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &wxManualPaintPanel::OnSldGrayLevel);
-    Connect(_graylevelCtrl->GetId()     , wxEVT_COMMAND_TEXT_UPDATED       , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtGrayLevel);
-
-    Connect(_sldToleranceFill->GetId()  , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &wxManualPaintPanel::OnSldToleranceFill);
-    Connect(_tolerancefillCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED       , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtToleranceFill);
-
-    Connect(_sldDistanceFill->GetId()   , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &wxManualPaintPanel::OnSldDistanceFill);
-    Connect(_distancefillCtrl->GetId()  , wxEVT_COMMAND_TEXT_UPDATED       , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtDistanceFill);
-
-    Connect(_rb2D3D->GetId()            , wxEVT_COMMAND_RADIOBOX_SELECTED      , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::On2D3D);
-    Connect(_rbBrushForm->GetId()       , wxEVT_COMMAND_RADIOBOX_SELECTED      , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnBrushForm);
-    Connect(_rbBrushTool->GetId()       , wxEVT_COMMAND_RADIOBOX_SELECTED      , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnBrushTool);
-       Connect(btnCopy->GetId()                , wxEVT_COMMAND_BUTTON_CLICKED      , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCopy);
-       Connect(btnUndo->GetId()                , wxEVT_COMMAND_BUTTON_CLICKED      , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnUndo);
-
-       Connect(_mBarSlices->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onBarrange );
+       lstBrushTool[0] = _T("Brush");
+       lstBrushTool[1] = _T("Fill");
+       _rbBrushTool = new wxRadioBox(panel, -1, _T("Brush tool"),
+                       wxDefaultPosition, wxSize(270, 45), 2, lstBrushTool, 2,
+                       wxRA_SPECIFY_COLS);
+
+       wxButton *btnCopy = new wxButton(panel, -1, _T("Copy"));
+       btnCopy->Disable();
+       wxButton *btnUndo = new wxButton(panel, -1, _T("Undo"));
+       btnUndo->Disable();
+
+       Connect(
+                       _sldBrushSize->GetId(),
+                       wxEVT_SCROLL_THUMBRELEASE,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxScrollEvent&)) (&wxManualPaintPanel::OnBrushSize));
+
+Connect        (
+                       _sldGrayLevel->GetId(),
+                       wxEVT_SCROLL_THUMBRELEASE,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxScrollEvent&)) &wxManualPaintPanel::OnSldGrayLevel);Connect
+       (
+                       _graylevelCtrl->GetId(),
+                       wxEVT_COMMAND_TEXT_UPDATED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtGrayLevel);
+
+Connect        (
+                       _sldToleranceFill->GetId(),
+                       wxEVT_SCROLL_THUMBRELEASE,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxScrollEvent&)) &wxManualPaintPanel::OnSldToleranceFill);Connect
+       (
+                       _tolerancefillCtrl->GetId(),
+                       wxEVT_COMMAND_TEXT_UPDATED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtToleranceFill);
+
+Connect        (
+                       _sldDistanceFill->GetId(),
+                       wxEVT_SCROLL_THUMBRELEASE,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxScrollEvent&)) &wxManualPaintPanel::OnSldDistanceFill);Connect
+       (
+                       _distancefillCtrl->GetId(),
+                       wxEVT_COMMAND_TEXT_UPDATED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtDistanceFill);
+
+Connect        (
+                       _rb2D3D->GetId(),
+                       wxEVT_COMMAND_RADIOBOX_SELECTED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::On2D3D);Connect
+       (
+                       _rbBrushForm->GetId(),
+                       wxEVT_COMMAND_RADIOBOX_SELECTED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnBrushForm);Connect
+       (
+                       _rbBrushTool->GetId(),
+                       wxEVT_COMMAND_RADIOBOX_SELECTED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnBrushTool);Connect
+       (
+                       btnCopy->GetId(),
+                       wxEVT_COMMAND_BUTTON_CLICKED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnCopy);Connect
+       (
+                       btnUndo->GetId(),
+                       wxEVT_COMMAND_BUTTON_CLICKED,
+                       (wxObjectEventFunction) (void(wxPanel::*)(
+                                       wxCommandEvent&)) &wxManualPaintPanel::OnUndo);
+
+Connect        (
+                       _mBarSlices->GetId(),
+                       wxEVT_TSBAR,
+                       (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onBarrange);
 //                     Connect(modBarRange->GetId(),98765,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
-       Connect(_mBarSlices->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction)  &wxManualPaintPanel::onActualChange_Bar );
-       Connect(_mBarSlices->GetId(),wxEVT_TSBAR_START,(wxObjectEventFunction) (wxCommandEventFunction)  &wxManualPaintPanel::onStartChange_Bar );
-       Connect(_mBarSlices->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction)  &wxManualPaintPanel::onEndChange_Bar );
-       Connect(_mBarSlices->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction)  &wxManualPaintPanel::onSelectionEnd );
-       Connect(_mBarSlices->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction)  &wxManualPaintPanel::onMovedBar );
-
-
-
-       wxFlexGridSizer *sizer1         = new wxFlexGridSizer(1);
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(tittleText);
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(_rbBrushTool, 1, wxGROW );
-
-    wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer(2);
-    sizerGrayLevel->Add(txtGrayLevel);
-    sizerGrayLevel->Add(_graylevelCtrl);
-    sizer1->Add(sizerGrayLevel, 1, wxGROW);
-    sizer1->Add(_sldGrayLevel, 1, wxGROW );
-
-    sizer1->Add( new wxStaticText( this, -1, _T( "Selected Range" ) ), 1, wxGROW );
-    sizer1->Add( _mBarSlices, 1, wxGROW );
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(_rb2D3D, 1, wxGROW );
-
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(_txtBrushSize);
-    sizer1->Add(_sldBrushSize, 1, wxGROW );
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(_rbBrushForm, 1, wxGROW );
-
-    wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer(2);
-    sizerTolerance->Add(_txtToleranceFill);
-    sizerTolerance->Add(_tolerancefillCtrl);
-    sizer1->Add( sizerTolerance );
-    sizer1->Add(_sldToleranceFill, 1, wxGROW );
-
-    wxFlexGridSizer *sizerDistance = new wxFlexGridSizer(2);
-    sizerDistance->Add(_txtDistanceFill);
-    sizerDistance->Add(_distancefillCtrl);
-    sizer1->Add( sizerDistance );
-    sizer1->Add(_sldDistanceFill, 1, wxGROW );
-
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(btnCopy, 1, wxGROW );
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(btnUndo, 1, wxGROW );
-
-    sizer = sizer1;
-    panel->SetSizer(sizer);
-    panel->SetAutoLayout(true);
-    panel->Layout();
+       Connect(
+                       _mBarSlices->GetId(),
+                       wxEVT_TSBAR_ACTUAL,
+                       (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onActualChange_Bar);
+       Connect(
+                       _mBarSlices->GetId(),
+                       wxEVT_TSBAR_START,
+                       (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onStartChange_Bar);
+       Connect(
+                       _mBarSlices->GetId(),
+                       wxEVT_TSBAR_END,
+                       (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onEndChange_Bar);
+       Connect(
+                       _mBarSlices->GetId(),
+                       wxEVT_SELECTION_END,
+                       (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onSelectionEnd);
+       Connect(
+                       _mBarSlices->GetId(),
+                       wxEVT_TSBAR_MOVED,
+                       (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onMovedBar);
+
+       wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1);
+
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(tittleText);
+
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(_rbBrushTool, 1, wxGROW);
+
+       wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer(2);
+       sizerGrayLevel->Add(txtGrayLevel);
+       sizerGrayLevel->Add(_graylevelCtrl);
+       sizer1->Add(sizerGrayLevel, 1, wxGROW);
+       sizer1->Add(_sldGrayLevel, 1, wxGROW);
+
+       sizer1->Add(new wxStaticText(this, -1, _T( "Selected Range" )), 1, wxGROW);
+       sizer1->Add(_mBarSlices, 1, wxGROW);
+
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(_rb2D3D, 1, wxGROW);
+
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(_txtBrushSize);
+       sizer1->Add(_sldBrushSize, 1, wxGROW);
+
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(_rbBrushForm, 1, wxGROW);
+
+       wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer(2);
+       sizerTolerance->Add(_txtToleranceFill);
+       sizerTolerance->Add(_tolerancefillCtrl);
+       sizer1->Add(sizerTolerance);
+       sizer1->Add(_sldToleranceFill, 1, wxGROW);
+
+       wxFlexGridSizer *sizerDistance = new wxFlexGridSizer(2);
+       sizerDistance->Add(_txtDistanceFill);
+       sizerDistance->Add(_distancefillCtrl);
+       sizer1->Add(sizerDistance);
+       sizer1->Add(_sldDistanceFill, 1, wxGROW);
+
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(btnCopy, 1, wxGROW);
+       sizer1->Add(new wxStaticText(panel, -1, _T("  ")));
+       sizer1->Add(btnUndo, 1, wxGROW);
+
+       sizer = sizer1;
+       panel->SetSizer(sizer);
+       panel->SetAutoLayout(true);
+       panel->Layout();
 }
 
 //---------------------------------------------------------------------------
-wxManualPaintPanel::~wxManualPaintPanel()
-{
+wxManualPaintPanel::~wxManualPaintPanel() {
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event)
-{
-    SetBrushSize( _sldBrushSize->GetValue() );
+void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event) {
+       SetBrushSize(_sldBrushSize->GetValue());
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event)
-{
-    SetGrayLevel( (double)(_sldGrayLevel->GetValue()) );
+void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event) {
+       SetGrayLevel((double) (_sldGrayLevel->GetValue()));
 
-    wxString text;
-    text.Printf( wxT("%d"), _sldGrayLevel->GetValue() );
-    _graylevelCtrl->SetValue(text);
+       wxString text;
+       text.Printf(wxT("%d"), _sldGrayLevel->GetValue());
+       _graylevelCtrl->SetValue(text);
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event)
-{
-    double graylevel;
-    wxString text=_graylevelCtrl->GetValue();
-    if (text.ToDouble(&graylevel))
-    {
-        SetGrayLevel( graylevel );
-    }
+void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event) {
+       double graylevel;
+       wxString text = _graylevelCtrl->GetValue();
+       if (text.ToDouble(&graylevel)) {
+               SetGrayLevel(graylevel);
+       }
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnSldDistanceFill(wxScrollEvent& event)
-{
-    SetDistanceFill( (double)(_sldDistanceFill->GetValue()) );
+void wxManualPaintPanel::OnSldDistanceFill(wxScrollEvent& event) {
+       SetDistanceFill((double) (_sldDistanceFill->GetValue()));
 
-    wxString text;
-    text.Printf( wxT("%d"), _sldDistanceFill->GetValue() );
-    _distancefillCtrl->SetValue(text);
+       wxString text;
+       text.Printf(wxT("%d"), _sldDistanceFill->GetValue());
+       _distancefillCtrl->SetValue(text);
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnCtrTxtDistanceFill(wxCommandEvent &event)
-{
-    double distancefill;
-    wxString text=_distancefillCtrl->GetValue();
-    if (text.ToDouble(&distancefill))
-    {
-        SetDistanceFill( distancefill );
-    }
+void wxManualPaintPanel::OnCtrTxtDistanceFill(wxCommandEvent &event) {
+       double distancefill;
+       wxString text = _distancefillCtrl->GetValue();
+       if (text.ToDouble(&distancefill)) {
+               SetDistanceFill(distancefill);
+       }
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnSldToleranceFill(wxScrollEvent& event)
-{
-    SetToleranceFill( (double)(_sldToleranceFill->GetValue()) );
+void wxManualPaintPanel::OnSldToleranceFill(wxScrollEvent& event) {
+       SetToleranceFill((double) (_sldToleranceFill->GetValue()));
 
-    wxString text;
-    text.Printf( wxT("%d"), _sldToleranceFill->GetValue() );
-    _tolerancefillCtrl->SetValue(text);
+       wxString text;
+       text.Printf(wxT("%d"), _sldToleranceFill->GetValue());
+       _tolerancefillCtrl->SetValue(text);
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnCtrTxtToleranceFill(wxCommandEvent &event)
-{
-    double tolerance;
-    wxString text=_tolerancefillCtrl->GetValue();
-    if (text.ToDouble(&tolerance))
-    {
-        SetToleranceFill( tolerance );
-    }
+void wxManualPaintPanel::OnCtrTxtToleranceFill(wxCommandEvent &event) {
+       double tolerance;
+       wxString text = _tolerancefillCtrl->GetValue();
+       if (text.ToDouble(&tolerance)) {
+               SetToleranceFill(tolerance);
+       }
 }
 
-
-
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::DisableControls()
-{
-    _txtBrushSize->Disable();
-    _sldBrushSize->Disable();
-    _rbBrushForm->Disable();
-
-    _txtToleranceFill->Disable();
-    _sldToleranceFill->Disable();
-    _tolerancefillCtrl->Disable();
-
-    _txtDistanceFill->Disable();
-    _sldDistanceFill->Disable();
-    _distancefillCtrl->Disable();
+void wxManualPaintPanel::DisableControls() {
+       _txtBrushSize->Disable();
+       _sldBrushSize->Disable();
+       _rbBrushForm->Disable();
+
+       _txtToleranceFill->Disable();
+       _sldToleranceFill->Disable();
+       _tolerancefillCtrl->Disable();
+
+       _txtDistanceFill->Disable();
+       _sldDistanceFill->Disable();
+       _distancefillCtrl->Disable();
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::On2D3D(wxCommandEvent &event)
-{
-    Set2D3D( _rb2D3D->GetSelection() );
+void wxManualPaintPanel::On2D3D(wxCommandEvent &event) {
+       Set2D3D(_rb2D3D->GetSelection());
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
-{
-    SetBrushForm( _rbBrushForm->GetSelection() );
+void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event) {
+       SetBrushForm(_rbBrushForm->GetSelection());
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event)
-{
-    DisableControls();
-    SetTool( _rbBrushTool->GetSelection() );
-
-    if (_rbBrushTool->GetSelection()==0)  //Brush tool
-    {
-        _txtBrushSize->Enable();
-        _sldBrushSize->Enable();
-        _rbBrushForm->Enable();
-    }
-
-    if (_rbBrushTool->GetSelection()==1)  //Fill tool
-    {
-        _txtToleranceFill->Enable();
-        _sldToleranceFill->Enable();
-        _tolerancefillCtrl->Enable();
-
-        _txtDistanceFill->Enable();
-        _sldDistanceFill->Enable();
-        _distancefillCtrl->Enable();
-    }
+void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event) {
+       DisableControls();
+       SetTool(_rbBrushTool->GetSelection());
+
+       if (_rbBrushTool->GetSelection() == 0) //Brush tool
+                       {
+               _txtBrushSize->Enable();
+               _sldBrushSize->Enable();
+               _rbBrushForm->Enable();
+       }
+
+       if (_rbBrushTool->GetSelection() == 1) //Fill tool
+                       {
+               _txtToleranceFill->Enable();
+               _sldToleranceFill->Enable();
+               _tolerancefillCtrl->Enable();
+
+               _txtDistanceFill->Enable();
+               _sldDistanceFill->Enable();
+               _distancefillCtrl->Enable();
+       }
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnCopy(wxCommandEvent &event)
-{
+void wxManualPaintPanel::OnCopy(wxCommandEvent &event) {
 }
 
 //---------------------------------------------------------------------------
-void wxManualPaintPanel::OnUndo(wxCommandEvent &event)
-{
+void wxManualPaintPanel::OnUndo(wxCommandEvent &event) {
+       this->_manualPaintModel->Undo();
 }
 
 //--------------------------------------------------------------------------------------------------------------------------------
 // Min-Max Barrange received events
 //--------------------------------------------------------------------------------------------------------------------------------
-void wxManualPaintPanel :: onBarrange(wxCommandEvent& event)
-{
+void wxManualPaintPanel::onBarrange(wxCommandEvent& event) {
 }
-void wxManualPaintPanel :: onActualChange_Bar(wxCommandEvent& event)
-{
+void wxManualPaintPanel::onActualChange_Bar(wxCommandEvent& event) {
        /*mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual());
-       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/
+        mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/
 }
-void wxManualPaintPanel :: onStartChange_Bar(wxCommandEvent& event)
-{
-       SetRangeMin( _mBarSlices->GetStart() );
+void wxManualPaintPanel::onStartChange_Bar(wxCommandEvent& event) {
+       SetRangeMin(_mBarSlices->GetStart());
 }
 
-void wxManualPaintPanel :: onEndChange_Bar(wxCommandEvent& event)
-{
-       SetRangeMax( _mBarSlices->GetEnd() );
+void wxManualPaintPanel::onEndChange_Bar(wxCommandEvent& event) {
+       SetRangeMax(_mBarSlices->GetEnd());
 }
 
-void wxManualPaintPanel :: onSelectionEnd(wxCommandEvent& event)
-{
+void wxManualPaintPanel::onSelectionEnd(wxCommandEvent& event) {
 }
 
-void wxManualPaintPanel :: onMovedBar(wxCommandEvent& event)
-{
+void wxManualPaintPanel::onMovedBar(wxCommandEvent& event) {
 }
- //--------------------------------------------------------------------------
- //-------------------------------------------------------------------------
- //--------------------------------------------------------------------------
- //--------------------------------------------------------------------------
-
-
+//--------------------------------------------------------------------------
+//-------------------------------------------------------------------------
+//--------------------------------------------------------------------------
+//--------------------------------------------------------------------------
 
index 4a2afc72e7a309b032fbefed12470d356be2ecfa..909759870ca012ede8fc3dad2beb40ad3d227517 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "ManualPaintPanel.h"
 
+
 #include "mBarRange.h" //DFCH
 #include "creaWx.h" //DFCH