]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp
DFCH: Undo/Redo 60% :) :)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / wxManualPaintPanel.cpp
index 4d9a5e7e08a095f9bc0481fce813613731ecafda..e8f8d2c523e3cf90657b437f59d052d2ad1c134d 100644 (file)
@@ -22,11 +22,28 @@ 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
+                     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 circle");
-       lst2D3D[1]=_T("3D sphere");
+       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);
 
@@ -53,22 +70,32 @@ wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
        wxButton     *btnUndo           = new wxButton( panel, -1, _T("Undo"));
     btnUndo->Disable();
 
-    Connect(_sldBrushSize->GetId()      , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushSize);
+    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(_sldGrayLevel->GetId()      , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction) &wxManualPaintPanel::OnSldGrayLevel);
-    Connect(_graylevelCtrl->GetId()     , wxEVT_COMMAND_TEXT_UPDATED       , (wxObjectEventFunction) &wxManualPaintPanel::OnCtrTxtGrayLevel);
+    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(_sldToleranceFill->GetId()  , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction) &wxManualPaintPanel::OnSldToleranceFill);
-    Connect(_tolerancefillCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED       , (wxObjectEventFunction) &wxManualPaintPanel::OnCtrTxtToleranceFill);
+       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 );
 
-    Connect(_sldDistanceFill->GetId()   , wxEVT_SCROLL_THUMBRELEASE            , (wxObjectEventFunction) &wxManualPaintPanel::OnSldDistanceFill);
-    Connect(_distancefillCtrl->GetId()  , wxEVT_COMMAND_TEXT_UPDATED       , (wxObjectEventFunction) &wxManualPaintPanel::OnCtrTxtDistanceFill);
 
-    Connect(_rb2D3D->GetId()            , wxEVT_COMMAND_RADIOBOX_SELECTED      , (wxObjectEventFunction) &wxManualPaintPanel::On2D3D);
-    Connect(_rbBrushForm->GetId()       , wxEVT_COMMAND_RADIOBOX_SELECTED      , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushForm);
-    Connect(_rbBrushTool->GetId()       , wxEVT_COMMAND_RADIOBOX_SELECTED      , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushTool);
-       Connect(btnCopy->GetId()                , wxEVT_COMMAND_BUTTON_CLICKED      , (wxObjectEventFunction) &wxManualPaintPanel::OnCopy);
-       Connect(btnUndo->GetId()                , wxEVT_COMMAND_BUTTON_CLICKED      , (wxObjectEventFunction) &wxManualPaintPanel::OnUndo);
 
        wxFlexGridSizer *sizer1         = new wxFlexGridSizer(1);
 
@@ -78,10 +105,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 +125,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("  ")));
@@ -218,7 +250,6 @@ void wxManualPaintPanel::On2D3D(wxCommandEvent &event)
 //---------------------------------------------------------------------------
 void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
 {
-    printf("EED wxManualPaintPanel::OnBrushForm BrushForm=%d \n", _rbBrushForm->GetSelection());
     SetBrushForm( _rbBrushForm->GetSelection() );
 }
 
@@ -226,7 +257,7 @@ void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
 void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event)
 {
     DisableControls();
-    SetBrushTool( _rbBrushTool->GetSelection() );
+    SetTool( _rbBrushTool->GetSelection() );
 
     if (_rbBrushTool->GetSelection()==0)  //Brush tool
     {
@@ -256,3 +287,39 @@ 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)
+{
+       SetRangeMin( _mBarSlices->GetStart() );
+}
+
+void wxManualPaintPanel :: onEndChange_Bar(wxCommandEvent& event)
+{
+       SetRangeMax( _mBarSlices->GetEnd() );
+}
+
+void wxManualPaintPanel :: onSelectionEnd(wxCommandEvent& event)
+{
+}
+
+void wxManualPaintPanel :: onMovedBar(wxCommandEvent& event)
+{
+}
+ //--------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+
+
+