]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp
4e8a54c403cac5fd3bbddc25d0b06d9b7708d9bc
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / wxManualPaintPanel.cpp
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 #include "wxManualPaintPanel.h"
27 #include <wx/radiobox.h>
28
29 wxManualPaintPanel::wxManualPaintPanel( wxWindow * parent )
30                 : wxPanel( parent, -1 )
31 {
32         wxSizer *sizer = new wxFlexGridSizer( 1 );
33
34         // Widget interface
35         wxStaticText *tittleText = new wxStaticText( this, -1,
36                 _T("             Manual Paint") );
37         //Title
38         sizer->Add( tittleText );
39         //giving some blank spaces
40         sizer->Add( new wxStaticText( this, -1, _T("             ") ) );
41
42         this->ConfigureActiveCBButton( );
43         this->ConfigureBrushToolRadioButton( );
44         this->Configure2D3DRadioButton( );
45         this->ConfigureBrushFormRadioButton( );
46         this->ConfigureRangeBar( );
47         this->ConfigureGrayLevelSld( );
48         this->ConfigureBrushSizeSld( );
49         this->ConfigureDistanceFillSld( );
50         this->ConfigureTolFillSld( );
51         this->ConfigureEditButtons( );
52
53         //Buttons
54         wxStaticText *editButtonsText = new wxStaticText( this, -1,
55                 _T("Edit Buttons") );
56         this->_buttonsSizer = new wxFlexGridSizer( 4 );
57         this->_buttonsSizer->Add( _btnUndo, 1, wxGROW );
58         this->_buttonsSizer->Add( _btnRedo, 1, wxGROW );
59         this->_buttonsSizer->Add( _btnCopy, 1, wxGROW );
60
61         this->_gConfigSizer = new wxFlexGridSizer( 1 );
62         //BrushTool Radio Button
63         //giving blank space
64         this->_gConfigSizer->Add(
65                 new wxStaticText( this, -1, _T("             ") ) );
66         //end of blank space
67         this->_gConfigSizer->Add( _rbBrushTool, 1, wxGROW );
68         //2D/3D Radio Button
69         this->_gConfigSizer->Add( _rb2D3D, 1, wxGROW );
70         //RangeBar
71         this->_gConfigSizer->Add(
72                 new wxStaticText( this, -1, _T( "Select Range" ) ), 1, wxGROW );
73         this->_gConfigSizer->Add( _mBarSlices, 1, wxGROW );
74         //GrayLevel Slider
75         this->_gConfigSizer->Add( _txtGrayLevel );
76         wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer( 2, wxHORIZONTAL );
77         sizerGrayLevel->Add( _sldGrayLevel, 1, wxGROW );
78         sizerGrayLevel->Add( _graylevelCtrl, 1,
79                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
80         this->_gConfigSizer->Add( sizerGrayLevel, 1, wxGROW );
81
82         //Brush
83         this->_brushSizer = new wxFlexGridSizer( 1 );
84         //giving blank space
85         this->_brushSizer->Add( new wxStaticText( this, -1, _T("             ") ) );
86         //end of blank space
87         this->_brushSizer->Add(
88                 new wxStaticText( this, -1, _T("Brush Settings") ) );
89         //BrushSize Slider
90         this->_brushSizer->Add( _txtBrushSize );
91         wxFlexGridSizer *sizersdlBrushSize = new wxFlexGridSizer( 2, wxHORIZONTAL );
92         sizersdlBrushSize->Add( _sldBrushSize, 1, wxGROW );
93         sizersdlBrushSize->Add( _BrushSizeCtrl, 1,
94                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
95         this->_brushSizer->Add( sizersdlBrushSize );
96         //BrushForm RadioButton
97         this->_brushSizer->Add( _rbBrushForm, 1, wxGROW );
98         //Fill
99         this->_FillSizer = new wxFlexGridSizer( 1 );
100         //giving blank space
101         this->_FillSizer->Add( new wxStaticText( this, -1, _T("             ") ) );
102         //end of blank space
103         this->_FillSizer->Add( new wxStaticText( this, -1, _T("Fill Settings") ) );
104         //ToleranceFill
105         this->_FillSizer->Add( _txtToleranceFill );
106         wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer( 2 );
107         sizerTolerance->Add( _sldToleranceFill, 1, wxGROW );
108         sizerTolerance->Add( _tolerancefillCtrl, 1,
109                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
110         this->_FillSizer->Add( sizerTolerance, 1, wxGROW );
111         //Distance Fill
112         this->_FillSizer->Add( _txtDistanceFill );
113         wxFlexGridSizer *sizerDistance = new wxFlexGridSizer( 2 );
114         sizerDistance->Add( _sldDistanceFill, 1, wxGROW );
115         sizerDistance->Add( _distancefillCtrl, 1,
116                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
117         this->_FillSizer->Add( sizerDistance );
118
119         sizer->Add( _activeCB );
120         sizer->Add( editButtonsText );
121         sizer->Add( _buttonsSizer );
122         sizer->Add( _gConfigSizer );
123         sizer->Add( _brushSizer );
124         sizer->Add( _FillSizer );
125
126         this->ConnectComponents( ); //DFCH
127         this->_FillSizer->Show( false );
128
129         this->SetSizer( sizer );
130         this->SetAutoLayout( true );
131         this->Layout( );
132
133 }
134
135 //---------------------------------------------------------------------------
136 wxManualPaintPanel::~wxManualPaintPanel( )
137 {
138 }
139
140 //--------------------------------------------------------------------------
141 void wxManualPaintPanel::ConfigureActiveCBButton( )
142 {
143    _activeCB = new wxCheckBox (this, -1, _T("Active") );
144    _activeCB->SetValue(true);
145    SetActive( _activeCB->GetValue() );
146 }
147
148
149 //Panel Config
150 //--------------------------------------------------------------------------
151 void wxManualPaintPanel::ConfigureBrushToolRadioButton( )
152 {
153         wxString lstBrushForm[ 2 ];
154         lstBrushForm[ 0 ] = _T("rectangle/cube");
155         lstBrushForm[ 1 ] = _T("circle/sphere");
156         _rbBrushForm = new wxRadioBox( this, -1, _T("Brush form"),
157                 wxDefaultPosition, wxSize( 270, 45 ), 2, lstBrushForm, 2,
158                 wxRA_SPECIFY_COLS );
159 }
160
161 //--------------------------------------------------------------------------
162 void wxManualPaintPanel::Configure2D3DRadioButton( )
163 {
164         wxString lst2D3D[ 2 ];
165         lst2D3D[ 0 ] = _T("2D");
166         lst2D3D[ 1 ] = _T("3D");
167         _rb2D3D = new wxRadioBox( this, -1, _T("2D / 3D"), wxDefaultPosition,
168                 wxSize( 270, 45 ), 2, lst2D3D, 2, wxRA_SPECIFY_COLS );
169         _rb2D3D->SetSelection( 1 );
170
171 }
172
173 //--------------------------------------------------------------------------
174 void wxManualPaintPanel::ConfigureBrushFormRadioButton( )
175 {
176         wxString lstBrushTool[ 2 ];
177         lstBrushTool[ 0 ] = _T("Brush");
178         lstBrushTool[ 1 ] = _T("Fill");
179         _rbBrushTool = new wxRadioBox( this, -1, _T("Brush tool"),
180                 wxDefaultPosition, wxSize( 270, 45 ), 2, lstBrushTool, 2,
181                 wxRA_SPECIFY_COLS );
182 }
183
184 //--------------------------------------------------------------------------
185 void wxManualPaintPanel::ConfigureRangeBar( )
186 {
187         //DFCH -- BarSlices
188         double range[ 2 ];
189         GetScalarRange( range );
190         int min = 0; //range[0];
191         int max = 6000; //range[1];
192         _mBarSlices = new mBarRange( this, 70, 65 );
193         _mBarSlices->SetMin( 0 );
194         _mBarSlices->SetStart( 0 );
195         _mBarSlices->SetOrientation( true );
196         _mBarSlices->setActiveStateTo( true );
197         _mBarSlices->setVisibleLabels( true );
198         _mBarSlices->setDeviceEndMargin( 10 );
199         _mBarSlices->setDeviceBlitStart( 10, 10 );
200         _mBarSlices->setIfWithActualDrawed( false );
201         _mBarSlices->setRepresentedValues( min, max );
202         _mBarSlices->SetStart( min );
203         _mBarSlices->SetEnd( max );
204         _mBarSlices->Update( );
205
206         SetRangeMin( min );
207         SetRangeMax( max );
208
209         //DFCH -- End BarSlices
210 }
211 //--------------------------------------------------------------------------
212 void wxManualPaintPanel::ConfigureGrayLevelSld( )
213 {
214         _txtGrayLevel = new wxStaticText( this, -1,
215         wxString( _T("  Gray Level  ") ) );
216         _sldGrayLevel = new wxSlider( this, -1, 0, 0, 255, wxDefaultPosition,
217         wxDefaultSize, wxSL_LABELS );
218         _sldGrayLevel->SetMinSize( wxSize( 200, -1 ) );
219         _sldGrayLevel->SetMaxSize( wxSize( 200, -1 ) );
220         _graylevelCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
221         wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, 0 );
222 }
223 //--------------------------------------------------------------------------
224 void wxManualPaintPanel::ConfigureBrushSizeSld( )
225 {
226         _txtBrushSize = new wxStaticText( this, -1,
227         wxString( _T("  Brush size  ") ) );
228         _sldBrushSize = new wxSlider( this, -1, 1, 1, 50, wxDefaultPosition,
229         wxDefaultSize, wxSL_LABELS );
230         _BrushSizeCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
231         wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, 0 );
232         _sldBrushSize->SetMinSize( wxSize( 200, -1 ) );
233         _sldBrushSize->SetMaxSize( wxSize( 200, -1 ) );
234 }
235 //--------------------------------------------------------------------------
236 void wxManualPaintPanel::ConfigureDistanceFillSld( )
237 {
238         _txtDistanceFill = new wxStaticText( this, -1,
239         wxString( _T("  Distance fill  ") ) );
240         _sldDistanceFill = new wxSlider( this, -1, 50, 1, 500, wxDefaultPosition,
241         wxDefaultSize, wxSL_LABELS );
242         _sldDistanceFill->SetMinSize( wxSize( 200, -1 ) );
243         _sldDistanceFill->SetMaxSize( wxSize( 200, -1 ) );
244         _distancefillCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
245         wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 500, 50 );
246         _txtDistanceFill->Disable( );
247         _sldDistanceFill->Disable( );
248         _distancefillCtrl->Disable( );
249 }
250 //--------------------------------------------------------------------------
251 void wxManualPaintPanel::ConfigureTolFillSld( )
252 {
253         _txtToleranceFill = new wxStaticText( this, -1,
254                 wxString( _T("  Tolerance fill  ") ) );
255         _sldToleranceFill = new wxSlider( this, -1, 125, 0, 255, wxDefaultPosition,
256                 wxDefaultSize, wxSL_LABELS );
257         _sldToleranceFill->SetMinSize( wxSize( 200, -1 ) );
258         _sldToleranceFill->SetMaxSize( wxSize( 200, -1 ) );
259         _tolerancefillCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
260                 wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, 50 );
261         _txtToleranceFill->Disable( );
262         _sldToleranceFill->Disable( );
263         _tolerancefillCtrl->Disable( );
264
265 }
266 //--------------------------------------------------------------------------
267 void wxManualPaintPanel::ConfigureEditButtons( )
268 {
269         _btnCopy = new wxButton( this, -1, _T("Copy") );
270         _btnCopy->Disable( );
271         _btnUndo = new wxButton( this, -1, _T("Undo") );
272         _btnRedo = new wxButton( this, -1, _T("Redo") );
273         //btnUndo->Disable();
274 }
275 //--------------------------------------------------------------------------
276
277 /*
278  * The following function allows the management of the events
279  */
280 void wxManualPaintPanel::ConnectComponents( ) //DFCH
281 {
282         this->Connect(_sldBrushSize->GetId( ),
283                 wxEVT_SCROLL_THUMBRELEASE,
284                 (wxObjectEventFunction) (void(wxPanel::*)(
285                 wxScrollEvent& )) (&wxManualPaintPanel::OnBrushSize) );this ->Connect (_sldGrayLevel->GetId(),
286                 wxEVT_SCROLL_THUMBRELEASE,
287                 (wxObjectEventFunction) (void(wxPanel::*)( wxScrollEvent&)) &wxManualPaintPanel::OnSldGrayLevel);
288
289                 this->Connect(  _graylevelCtrl->GetId(),
290                                 wxEVT_COMMAND_TEXT_UPDATED,
291                                 (wxObjectEventFunction) (void(wxPanel::*)(
292                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtGrayLevel);
293
294                 this->Connect (
295                                 _sldToleranceFill->GetId(),
296                                 wxEVT_SCROLL_THUMBRELEASE,
297                                 (wxObjectEventFunction) (void(wxPanel::*)(
298                                                                 wxScrollEvent&)) &wxManualPaintPanel::OnSldToleranceFill);this->Connect
299                 (
300                                 _tolerancefillCtrl->GetId(),
301                                 wxEVT_COMMAND_TEXT_UPDATED,
302                                 (wxObjectEventFunction) (void(wxPanel::*)(
303                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtToleranceFill);
304
305                 this->Connect (
306                                 _sldDistanceFill->GetId(),
307                                 wxEVT_SCROLL_THUMBRELEASE,
308                                 (wxObjectEventFunction) (void(wxPanel::*)(
309                                                                 wxScrollEvent&)) &wxManualPaintPanel::OnSldDistanceFill);this->Connect
310                 (
311                                 _distancefillCtrl->GetId(),
312                                 wxEVT_COMMAND_TEXT_UPDATED,
313                                 (wxObjectEventFunction) (void(wxPanel::*)(
314                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtDistanceFill);
315
316                 this->Connect (
317                                 _rb2D3D->GetId(),
318                                 wxEVT_COMMAND_RADIOBOX_SELECTED,
319                                 (wxObjectEventFunction) (void(wxPanel::*)(
320                                                                 wxCommandEvent&)) &wxManualPaintPanel::On2D3D);this->Connect
321                 (
322                                 _rbBrushForm->GetId(),
323                                 wxEVT_COMMAND_RADIOBOX_SELECTED,
324                                 (wxObjectEventFunction) (void(wxPanel::*)(
325                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnBrushForm);this->Connect
326                 (
327                                 _rbBrushTool->GetId(),
328                                 wxEVT_COMMAND_RADIOBOX_SELECTED,
329                                 (wxObjectEventFunction) (void(wxPanel::*)(
330                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnBrushTool);this->Connect
331                 (
332                                 _btnCopy->GetId(),
333                                 wxEVT_COMMAND_BUTTON_CLICKED,
334                                 (wxObjectEventFunction) (void(wxPanel::*)(
335                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCopy);
336
337                 this->Connect (
338                                 _btnUndo->GetId(),
339                                 wxEVT_COMMAND_BUTTON_CLICKED,
340                                 (wxObjectEventFunction) (void(wxPanel::*)(
341                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnUndo);
342                 this->Connect(_btnRedo->GetId(),
343                                 wxEVT_COMMAND_BUTTON_CLICKED,
344                                 (wxObjectEventFunction) (void(wxPanel::*)(
345                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnRedo); //DFCH
346
347                 this->Connect(
348                                 _mBarSlices->GetId(),
349                                 wxEVT_TSBAR,
350                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onBarrange);
351                 //                      Connect(modBarRange->GetId(),98765,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
352                 this->Connect(
353                                 _mBarSlices->GetId(),
354                                 wxEVT_TSBAR_ACTUAL,
355                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onActualChange_Bar);
356                 this->Connect(
357                                 _mBarSlices->GetId(),
358                                 wxEVT_TSBAR_START,
359                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onStartChange_Bar);
360                 this->Connect(
361                                 _mBarSlices->GetId(),
362                                 wxEVT_TSBAR_END,
363                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onEndChange_Bar);
364                 this->Connect(
365                                 _mBarSlices->GetId(),
366                                 wxEVT_SELECTION_END,
367                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onSelectionEnd);
368                 this->Connect(
369                                 _mBarSlices->GetId(),
370                                 wxEVT_TSBAR_MOVED,
371                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onMovedBar);
372                 this->Connect
373                 (
374                                 _BrushSizeCtrl->GetId(),
375                                 wxEVT_COMMAND_TEXT_UPDATED,
376                                 (wxObjectEventFunction) (void(wxPanel::*)(
377                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrBrushSize);
378                 this->Connect
379                 (
380                         _activeCB->GetId(),
381                         wxEVT_COMMAND_CHECKBOX_CLICKED, 
382                         (wxObjectEventFunction) (void (wxPanel::*)(wxCommandEvent&))&wxManualPaintPanel::OnActive);
383
384         }
385
386
387   //-------------------------------------------------------------------------
388   void wxManualPaintPanel::OnActive(wxCommandEvent& event)
389   {
390         printf("EED wxManualPaintPanel::OnActive \n");
391         SetActive( _activeCB->GetValue() );
392   }
393
394
395 //---------------------------------------------------------------------------
396 void wxManualPaintPanel::OnBrushSize( wxScrollEvent& event )
397 {
398         SetBrushSize( this->_sldBrushSize->GetValue( ) );
399         wxString text;
400         text.Printf( wxT("%d"), this->_sldBrushSize->GetValue( ) );
401         _BrushSizeCtrl->SetValue( text );
402 }
403
404 //---------------------------------------------------------------------------
405 void wxManualPaintPanel::OnSldGrayLevel( wxScrollEvent& event )
406 {
407         SetGrayLevel( (double) ( _sldGrayLevel->GetValue( )) );
408
409         wxString text;
410         text.Printf( wxT("%d"), _sldGrayLevel->GetValue( ) );
411         _graylevelCtrl->SetValue( text );
412 }
413
414 //---------------------------------------------------------------------------
415 void wxManualPaintPanel::OnCtrTxtGrayLevel( wxCommandEvent &event )
416 {
417         int graylevel = this->_graylevelCtrl->GetValue( );
418         this->_sldGrayLevel->SetValue( graylevel );
419         SetGrayLevel( graylevel );
420 }
421
422 //---------------------------------------------------------------------------
423 void wxManualPaintPanel::OnSldDistanceFill( wxScrollEvent& event )
424 {
425         SetDistanceFill( (double) ( _sldDistanceFill->GetValue( )) );
426
427         wxString text;
428         text.Printf( wxT("%d"), _sldDistanceFill->GetValue( ) );
429         _distancefillCtrl->SetValue( text );
430 }
431
432 //---------------------------------------------------------------------------
433 void wxManualPaintPanel::OnCtrTxtDistanceFill( wxCommandEvent &event )
434 {
435         int distancefill = this->_distancefillCtrl->GetValue( );
436         this->_sldDistanceFill->SetValue( distancefill );
437         SetDistanceFill( distancefill );
438 }
439 //---------------------------------------------------------------------------
440 void wxManualPaintPanel::OnCtrBrushSize( wxCommandEvent &event )
441 {
442         int brushSize = _BrushSizeCtrl->GetValue( );
443         this->_sldBrushSize->SetValue( brushSize );
444         SetBrushSize( brushSize );
445 }
446
447 //---------------------------------------------------------------------------
448 void wxManualPaintPanel::OnSldToleranceFill( wxScrollEvent& event )
449 {
450         SetToleranceFill( (double) ( _sldToleranceFill->GetValue( )) );
451
452         wxString text;
453         text.Printf( wxT("%d"), _sldToleranceFill->GetValue( ) );
454         _tolerancefillCtrl->SetValue( text );
455 }
456
457 //---------------------------------------------------------------------------
458 void wxManualPaintPanel::OnCtrTxtToleranceFill( wxCommandEvent &event )
459 {
460         int tolerance = _tolerancefillCtrl->GetValue( );
461         this->_sldToleranceFill->SetValue( tolerance );
462         SetToleranceFill( tolerance );
463 }
464
465 //---------------------------------------------------------------------------
466 void wxManualPaintPanel::DisableControls( )
467 {
468         _txtBrushSize->Disable( );
469         _sldBrushSize->Disable( );
470         _rbBrushForm->Disable( );
471
472         _txtToleranceFill->Disable( );
473         _sldToleranceFill->Disable( );
474         _tolerancefillCtrl->Disable( );
475
476         _txtDistanceFill->Disable( );
477         _sldDistanceFill->Disable( );
478         _distancefillCtrl->Disable( );
479 }
480
481 //---------------------------------------------------------------------------
482 void wxManualPaintPanel::On2D3D( wxCommandEvent &event )
483 {
484         Set2D3D( _rb2D3D->GetSelection( ) );
485 }
486
487 //---------------------------------------------------------------------------
488 void wxManualPaintPanel::OnBrushForm( wxCommandEvent &event )
489 {
490         SetBrushForm( _rbBrushForm->GetSelection( ) );
491 }
492
493 //---------------------------------------------------------------------------
494 void wxManualPaintPanel::OnBrushTool( wxCommandEvent &event )
495 {
496         DisableControls( );
497         SetTool( _rbBrushTool->GetSelection( ) );
498
499         if( _rbBrushTool->GetSelection( ) == 0 ) //Brush tool
500         {
501                 _txtBrushSize->Enable( );
502                 _sldBrushSize->Enable( );
503                 _rbBrushForm->Enable( );
504                 _brushSizer->Show( true );
505                 _FillSizer->Show( false );
506                 this->Layout( );
507         }
508
509         if( _rbBrushTool->GetSelection( ) == 1 ) //Fill tool
510         {
511                 _txtToleranceFill->Enable( );
512                 _sldToleranceFill->Enable( );
513                 _tolerancefillCtrl->Enable( );
514
515                 _txtDistanceFill->Enable( );
516                 _sldDistanceFill->Enable( );
517                 _distancefillCtrl->Enable( );
518                 _FillSizer->Show( true );
519                 _brushSizer->Show( false );
520                 this->Layout( );
521         }
522 }
523
524 //---------------------------------------------------------------------------
525 void wxManualPaintPanel::OnCopy( wxCommandEvent &event )
526 {
527 }
528
529 //---------------------------------------------------------------------------
530 void wxManualPaintPanel::OnUndo( wxCommandEvent &event )
531 {
532         this->_manualPaintModel->Undo( );
533 }
534
535 //---------------------------------------------------------------------------
536 void wxManualPaintPanel::OnRedo( wxCommandEvent &event )
537 {
538         this->_manualPaintModel->Redo( );
539 }
540
541 //--------------------------------------------------------------------------------------------------------------------------------
542 // Min-Max Barrange received events
543 //--------------------------------------------------------------------------------------------------------------------------------
544 void wxManualPaintPanel::onBarrange( wxCommandEvent& event )
545 {
546 }
547 void wxManualPaintPanel::onActualChange_Bar( wxCommandEvent& event )
548 {
549         /*mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual());
550          mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/
551 }
552 void wxManualPaintPanel::onStartChange_Bar( wxCommandEvent& event )
553 {
554         SetRangeMin( _mBarSlices->GetStart( ) );
555 }
556
557 void wxManualPaintPanel::onEndChange_Bar( wxCommandEvent& event )
558 {
559         SetRangeMax( _mBarSlices->GetEnd( ) );
560 }
561
562 void wxManualPaintPanel::onSelectionEnd( wxCommandEvent& event )
563 {
564 }
565
566 void wxManualPaintPanel::onMovedBar( wxCommandEvent& event )
567 {
568 }
569 //-------------------------------------------------------------------------
570 //--------------------------------------------------------------------------
571 //--------------------------------------------------------------------------
572