]> Creatis software - creaMaracasVisu.git/commitdiff
Manual paint changes for tolerance range widget (Still not working) DFCH
authorDiego Caceres <Diego.Caceres@creatis.insa-lyon.fr>
Mon, 8 Aug 2011 16:38:07 +0000 (16:38 +0000)
committerDiego Caceres <Diego.Caceres@creatis.insa-lyon.fr>
Mon, 8 Aug 2011 16:38:07 +0000 (16:38 +0000)
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.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/ManualPaintPanel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.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 a7b79aa92c0b7366a726dd474eebbc9614411eea..b61cf00f12932e10401f623d2d8a4d9492498d82 100644 (file)
@@ -154,4 +154,30 @@ void BrushFilter::SetBrushTool( int brushtool )
     _brushtool = brushtool;
 }
 
+//---------------------------------------------------------------------------
+void BrushFilter::SetRangeMin( unsigned int min )
+{
+       std::cout<<"pechaaan   Min: " << min <<std::endl;
+       _RangeMin  = min;
+}
+
+//---------------------------------------------------------------------------
+void BrushFilter::SetRangeMax( unsigned int max )
+{
+       std::cout<<"pechaaan   Max: " << max <<std::endl;
+       _RangeMax  = max;
+}
+
+//---------------------------------------------------------------------------
+unsigned int BrushFilter::GetRangeMin( )
+{
+       return( _RangeMin );
+}
+
+//---------------------------------------------------------------------------
+unsigned int BrushFilter::GetRangeMax(  )
+{
+       return( _RangeMax );
+}
+
 
index a39cd6edb4742d61b8c85509cc200dcd82f48621..d5b86dac323465160d7f616dcd657fb0c1938486 100644 (file)
@@ -11,6 +11,10 @@ public:
     void SetBrushSize( int brushsize );
     void SetBrushForm( int brushform );
     void SetBrushTool( int brushtool );
+    void SetRangeMin( unsigned int min );//DFCH
+    void SetRangeMax( unsigned int max );//DFCH
+    unsigned int GetRangeMin( ); //DFCH
+    unsigned int GetRangeMax( ); //DFCH
     void FindMinMaxBrush(int &minxX,int &maxX,int &minY,int &maxY,int &minZ,int &maxZ,int &size);
     virtual void Run();
 
@@ -19,6 +23,9 @@ private:
     int             _brushsize;
     int             _brushform;
     int             _brushtool;
+    unsigned int    _RangeMin;
+    unsigned int    _RangeMax;
+
 
 
 protected:
index d88e1b157560546dade5592473e98993075f3d03..c27634363f1820fabda718992bbcea383d1e21ed 100644 (file)
@@ -236,4 +236,28 @@ void FillFilter::SetDistanceFill(int distancefill)
     _distancefill = distancefill;
 }
 
+//---------------------------------------------------------------------------
+void FillFilter::SetRangeMin( unsigned int min )
+{
+       std::cout<<"pechaaan   Min: " << min <<std::endl;
+       _RangeMin  = min;
+}
+
+//---------------------------------------------------------------------------
+void FillFilter::SetRangeMax( unsigned int max )
+{
+       std::cout<<"pechaaan   Max: " << max <<std::endl;
+       _RangeMax  = max;
+}
 
+//---------------------------------------------------------------------------
+unsigned int FillFilter::GetRangeMin( )
+{
+       return( _RangeMin );
+}
+
+//---------------------------------------------------------------------------
+unsigned int FillFilter::GetRangeMax(  )
+{
+       return( _RangeMax );
+}
index e6c7188787871f4c67c2dc87bb008a99b5d45e27..4b0d29b73d519afa994d20532359acdc6baf0314 100644 (file)
@@ -13,6 +13,10 @@ public:
 
     void SetToleranceFill(double tolerancefill);
     void SetDistanceFill(int distancefill);
+    void SetRangeMin( unsigned int min );//DFCH
+    void SetRangeMax( unsigned int max );//DFCH
+    unsigned int GetRangeMin( ); //DFCH
+    unsigned int GetRangeMax( ); //DFCH
     virtual void SetImage(vtkImageData *image);
 
 private:
@@ -33,7 +37,8 @@ private:
     bool             _auxGrayLevelValidationFill;
     long int        _countProgressingFill;
     long int        _limitRecursionFill;
-
+    unsigned int    _RangeMin;
+    unsigned int    _RangeMax;
     void    SetAuxImageFill(int px,int py, int pz);
 
 protected:
index ee34a4a27638d75ab615250b4bf78a9dce7de7dc..ae9a7e3c6a3637bc95bd581b3c75286100f17df0 100644 (file)
@@ -59,6 +59,20 @@ void ManualPaintModel::SetGrayLevel( double graylevel )
     _fillfilter->SetGrayLevel(graylevel);
 }
 
+//---------------------------------------------------------------------------
+void ManualPaintModel::SetRangeMin( unsigned int min )
+{
+       _brushfilter->SetRangeMin(min);
+       _fillfilter->SetRangeMin(min);
+}
+
+//---------------------------------------------------------------------------
+void ManualPaintModel::SetRangeMax( unsigned int max )
+{
+       _brushfilter->SetRangeMax(max);
+       _fillfilter->SetRangeMax(max);
+}
+
 //---------------------------------------------------------------------------
 void ManualPaintModel::SetDirection(int direction)
 {
index ca60e18b7d807b4cb6a26f6b1ebe31901fe905ca..c3199bbe1f82171836732789fc8f8cd73a909dc5 100644 (file)
@@ -20,6 +20,8 @@ public:
     void SetToleranceFill(double tolerancefill);
     void SetDistanceFill(int distancefill);
     void PaintImage(int px,int py, int pz);
+    void SetRangeMin( unsigned int min );
+    void SetRangeMax( unsigned int max );
 
 
 private:
index 4f9cc81880edd9ab9a390045cfb72a98650a0dbb..6a108da966827c2dedfca729a4fb6605dfb95484 100644 (file)
@@ -32,6 +32,28 @@ void ManualPaintPanel::SetBrushSize( int brushsize )
     }
 }
 
+//---------------------------------------------------------------------------
+void ManualPaintPanel::SetRangeMin( unsigned int min )
+{
+    if (_manualPaintModel!=NULL)
+    {
+       SetRangeMin( min );
+    } else {
+       printf("ERROR  in  ManualPaintPanel  _manualPaintModel not set.\n");
+    }
+}
+
+//---------------------------------------------------------------------------
+void ManualPaintPanel::SetRangeMax( unsigned int max )
+{
+    if (_manualPaintModel!=NULL)
+    {
+       SetRangeMax( max );
+    } else {
+       printf("ERROR  in  ManualPaintPanel  _manualPaintModel not set.\n");
+    }
+}
+
 //---------------------------------------------------------------------------
 void ManualPaintPanel::SetGrayLevel( double graylevel )
 {
index 78561315a2755f476743de97ae707a343005418e..10e39de9152bd2726fe595243cd1a0fc2cffef8a 100644 (file)
@@ -16,6 +16,8 @@ public:
     void SetBrushForm(int brushform);
     void SetToleranceFill(double tolerancefill);
     void SetDistanceFill(int distancefill);
+    void SetRangeMin( unsigned int min );
+    void SetRangeMax( unsigned int max );
 
 private:
        ManualPaintModel        *_manualPaintModel;
index 4d9a6201b069fe15d09906492e7eb88e81e7eb66..65d918efffedb5c09b5e3d5fd5c0c380809d1366 100644 (file)
@@ -54,6 +54,7 @@ bool vtkInteractorManualPaint::OnMouseMove ()
 {
        if ((_state==true) || (_stateKey==true))
        {
+               std::cout<<"Pechaaaaaannnnnnn!!!!"<<std::endl;
         wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
         wxVTKRenderWindowInteractor *wxVTKiren          = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor();
         int px,py;
index 78f1d036f0ef660d83cd37d1279542b56aaa7bd0..03ca42da959504c241fd2301fb5307cb572800b0 100644 (file)
@@ -22,7 +22,22 @@ wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
                      _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
+                     int min = 0;
+                     int max = 100;
+                     _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");
@@ -70,6 +85,16 @@ wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
        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("  ")));
@@ -78,10 +103,14 @@ wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
     sizer1->Add(_rbBrushTool, 1, wxGROW );
 
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(txtGrayLevel);
+    wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer(2);
+    sizerGrayLevel->Add(txtGrayLevel);
+    sizerGrayLevel->Add(_graylevelCtrl);
+    sizer1->Add(sizerGrayLevel, 1, wxGROW);
     sizer1->Add(_sldGrayLevel, 1, wxGROW );
-    sizer1->Add(_graylevelCtrl);
+
+    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 );
@@ -94,16 +123,17 @@ wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
     sizer1->Add(_rbBrushForm, 1, wxGROW );
 
-
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(_txtToleranceFill);
+    wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer(2);
+    sizerTolerance->Add(_txtToleranceFill);
+    sizerTolerance->Add(_tolerancefillCtrl);
+    sizer1->Add( sizerTolerance );
     sizer1->Add(_sldToleranceFill, 1, wxGROW );
-    sizer1->Add(_tolerancefillCtrl);
 
-    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
-    sizer1->Add(_txtDistanceFill);
+    wxFlexGridSizer *sizerDistance = new wxFlexGridSizer(2);
+    sizerDistance->Add(_txtDistanceFill);
+    sizerDistance->Add(_distancefillCtrl);
+    sizer1->Add( sizerDistance );
     sizer1->Add(_sldDistanceFill, 1, wxGROW );
-    sizer1->Add(_distancefillCtrl);
 
 
     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
@@ -255,3 +285,44 @@ void wxManualPaintPanel::OnCopy(wxCommandEvent &event)
 void wxManualPaintPanel::OnUndo(wxCommandEvent &event)
 {
 }
+
+//--------------------------------------------------------------------------------------------------------------------------------
+// Min-Max Barrange received events
+//--------------------------------------------------------------------------------------------------------------------------------
+void wxManualPaintPanel :: onBarrange(wxCommandEvent& event)
+{
+}
+void wxManualPaintPanel :: onActualChange_Bar(wxCommandEvent& event)
+{
+       /*mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual());
+       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/
+}
+void wxManualPaintPanel :: onStartChange_Bar(wxCommandEvent& event)
+{
+       SetRangeMax( _mBarSlices->GetStart() );
+       /*mbbtkSliderMinMax->bbSetOutputOutStart(modBarRange->GetStart());
+       mbbtkSliderMinMax->bbSetInputInMinShow(modBarRange->GetStart());
+       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutStart"));*/
+}
+
+void wxManualPaintPanel :: onEndChange_Bar(wxCommandEvent& event)
+{
+       SetRangeMax( _mBarSlices->GetEnd() );
+       /*mbbtkSliderMinMax->bbSetOutputOutEnd(modBarRange->GetEnd());
+       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutEnd"));*/
+}
+
+void wxManualPaintPanel :: onSelectionEnd(wxCommandEvent& event)
+{
+}
+
+void wxManualPaintPanel :: onMovedBar(wxCommandEvent& event)
+{
+}
+ //--------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+
+
+
index 1bf342e9466bf51bf7655945cc4d231e5c009df2..4a2afc72e7a309b032fbefed12470d356be2ecfa 100644 (file)
@@ -2,6 +2,10 @@
 #define _WX_MANUAL_PAINT_PANEL_H_
 
 #include "ManualPaintPanel.h"
+
+#include "mBarRange.h" //DFCH
+#include "creaWx.h" //DFCH
+
 #include <wx/wx.h>
 #include <wx/panel.h>
 
@@ -22,6 +26,16 @@ public:
     void OnCtrTxtToleranceFill(wxCommandEvent &event);
     void OnSldDistanceFill(wxScrollEvent& event);
     void OnCtrTxtDistanceFill(wxCommandEvent &event);
+    //This method changes the min/max in the Selected Range Widget
+    //--------------------------------------------------------------------------------------------------------------------------------
+    // Min-Max Barrange received events
+     //--------------------------------------------------------------------------------------------------------------------------------
+    void onBarrange(wxCommandEvent& event);
+    void onActualChange_Bar(wxCommandEvent& event);
+    void onStartChange_Bar(wxCommandEvent& event);
+    void onEndChange_Bar(wxCommandEvent& event);
+    void onSelectionEnd(wxCommandEvent& event);
+    void onMovedBar(wxCommandEvent& event);
 
 private:
     wxStaticText    *_txtBrushSize;
@@ -41,6 +55,8 @@ private:
     wxSlider        *_sldDistanceFill;
     wxTextCtrl      *_distancefillCtrl;
 
+    mBarRange * _mBarSlices; //DFCH
+