]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp
#2864 creaMaracasVisu Feature New Normal - Manual Paint , modifies external image...
[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("          key A : Enable/Disable   ") ) );
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(  new wxStaticText( this, -1, _T("             ") ) );
65         //end of blank space
66         this->_gConfigSizer->Add( _rbBrushTool, 1, wxGROW );
67         //2D/3D Radio Button
68         this->_gConfigSizer->Add( _rb2D3D, 1, wxGROW );
69         //RangeBar
70         this->_gConfigSizer->Add(
71                 new wxStaticText( this, -1, _T( "Select Range" ) ), 1, wxGROW );
72         this->_gConfigSizer->Add( _mBarSlices, 1, wxGROW );
73         //GrayLevel Slider
74         this->_gConfigSizer->Add( _txtGrayLevel );
75         wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer( 2, wxHORIZONTAL );
76         sizerGrayLevel->Add( _sldGrayLevel, 1, wxGROW );
77         sizerGrayLevel->Add( _graylevelCtrl, 1,
78                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
79         this->_gConfigSizer->Add( sizerGrayLevel, 1, wxGROW );
80
81         //Brush
82         this->_brushSizer = new wxFlexGridSizer( 1 );
83         //giving blank space
84         this->_brushSizer->Add( new wxStaticText( this, -1, _T("             ") ) );
85         //end of blank space
86         this->_brushSizer->Add(
87                 new wxStaticText( this, -1, _T("Brush Settings") ) );
88         //BrushSize Slider
89         this->_brushSizer->Add( _txtBrushSize );
90         wxFlexGridSizer *sizersdlBrushSize = new wxFlexGridSizer( 2, wxHORIZONTAL );
91         sizersdlBrushSize->Add( _sldBrushSize, 1, wxGROW );
92         sizersdlBrushSize->Add( _BrushSizeCtrl, 1,
93                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
94         this->_brushSizer->Add( sizersdlBrushSize );
95         //BrushForm RadioButton
96         this->_brushSizer->Add( _rbBrushForm, 1, wxGROW );
97         //Fill
98         this->_FillSizer = new wxFlexGridSizer( 1 );
99         //giving blank space
100         this->_FillSizer->Add( new wxStaticText( this, -1, _T("             ") ) );
101         //end of blank space
102         this->_FillSizer->Add( new wxStaticText( this, -1, _T("Fill Settings") ) );
103         //ToleranceFill
104         this->_FillSizer->Add( _txtToleranceFill );
105         wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer( 2 );
106         sizerTolerance->Add( _sldToleranceFill, 1, wxGROW );
107         sizerTolerance->Add( _tolerancefillCtrl, 1,
108                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
109         this->_FillSizer->Add( sizerTolerance, 1, wxGROW );
110         //Distance Fill
111         this->_FillSizer->Add( _txtDistanceFill );
112         wxFlexGridSizer *sizerDistance = new wxFlexGridSizer( 2 );
113         sizerDistance->Add( _sldDistanceFill, 1, wxGROW );
114         sizerDistance->Add( _distancefillCtrl, 1,
115                 wxALIGN_BOTTOM | wxALIGN_LEFT | wxALL, 5 );
116         this->_FillSizer->Add( sizerDistance );
117
118         sizer->Add( _activeCB );
119         sizer->Add( editButtonsText );
120         sizer->Add( _buttonsSizer );
121         sizer->Add( _gConfigSizer );
122         sizer->Add( _brushSizer );
123         sizer->Add( _FillSizer );
124
125         this->ConnectComponents( ); //DFCH
126         this->_FillSizer->Show( false );
127
128         this->SetSizer( sizer );
129         this->SetAutoLayout( true );
130         this->Layout( );
131
132 }
133
134 //---------------------------------------------------------------------------
135 wxManualPaintPanel::~wxManualPaintPanel( )
136 {
137 }
138
139 //--------------------------------------------------------------------------
140 void wxManualPaintPanel::ConfigureActiveCBButton( )
141 {
142    _activeCB = new wxCheckBox (this, -1, _T("Active") );
143    _activeCB->SetValue(true);
144    SetActive( _activeCB->GetValue() );
145 }
146
147
148 //Panel Config
149 //--------------------------------------------------------------------------
150 void wxManualPaintPanel::ConfigureBrushToolRadioButton( )
151 {
152         wxString lstBrushForm[ 2 ];
153         lstBrushForm[ 0 ] = _T("rectangle/cube");
154         lstBrushForm[ 1 ] = _T("circle/sphere");
155         _rbBrushForm = new wxRadioBox( this, -1, _T("Brush form"),
156                 wxDefaultPosition, wxSize( 270, 45 ), 2, lstBrushForm, 2,
157                 wxRA_SPECIFY_COLS );
158 }
159
160 //--------------------------------------------------------------------------
161 void wxManualPaintPanel::Configure2D3DRadioButton( )
162 {
163         wxString lst2D3D[ 2 ];
164         lst2D3D[ 0 ] = _T("2D");
165         lst2D3D[ 1 ] = _T("3D");
166         _rb2D3D = new wxRadioBox( this, -1, _T("2D / 3D"), wxDefaultPosition,
167                 wxSize( 270, 45 ), 2, lst2D3D, 2, wxRA_SPECIFY_COLS );
168         _rb2D3D->SetSelection( 1 );
169
170 }
171
172 //--------------------------------------------------------------------------
173 void wxManualPaintPanel::ConfigureBrushFormRadioButton( )
174 {
175         wxString lstBrushTool[ 2 ];
176         lstBrushTool[ 0 ] = _T("Brush");
177         lstBrushTool[ 1 ] = _T("Fill");
178         _rbBrushTool = new wxRadioBox( this, -1, _T("Brush tool"),
179                 wxDefaultPosition, wxSize( 270, 45 ), 2, lstBrushTool, 2,
180                 wxRA_SPECIFY_COLS );
181 }
182
183 //--------------------------------------------------------------------------
184 void wxManualPaintPanel::ConfigureRangeBar( )
185 {
186         //DFCH -- BarSlices
187         double range[ 2 ];
188         GetScalarRange( range );
189         int min = 0; //range[0];
190         int max = 6000; //range[1];
191         _mBarSlices = new mBarRange( this, 70, 65 );
192         _mBarSlices->SetMin( 0 );
193         _mBarSlices->SetStart( 0 );
194         _mBarSlices->SetOrientation( true );
195         _mBarSlices->setActiveStateTo( true );
196         _mBarSlices->setVisibleLabels( true );
197         _mBarSlices->setDeviceEndMargin( 10 );
198         _mBarSlices->setDeviceBlitStart( 10, 10 );
199         _mBarSlices->setIfWithActualDrawed( false );
200         _mBarSlices->setRepresentedValues( min, max );
201         _mBarSlices->SetStart( min );
202         _mBarSlices->SetEnd( max );
203         _mBarSlices->Update( );
204
205         SetRangeMin( min );
206         SetRangeMax( max );
207
208         //DFCH -- End BarSlices
209 }
210 //--------------------------------------------------------------------------
211 void wxManualPaintPanel::ConfigureGrayLevelSld( )
212 {
213         _txtGrayLevel = new wxStaticText( this, -1,
214         wxString( _T("  Gray Level  ") ) );
215         _sldGrayLevel = new wxSlider( this, -1, 0, 0, 255, wxDefaultPosition,
216         wxDefaultSize, wxSL_LABELS );
217         _sldGrayLevel->SetMinSize( wxSize( 200, -1 ) );
218         _sldGrayLevel->SetMaxSize( wxSize( 200, -1 ) );
219         _graylevelCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
220         wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, 0 );
221 }
222 //--------------------------------------------------------------------------
223 void wxManualPaintPanel::ConfigureBrushSizeSld( )
224 {
225         _txtBrushSize = new wxStaticText( this, -1,
226         wxString( _T("  Brush size  ") ) );
227         _sldBrushSize = new wxSlider( this, -1, 1, 1, 50, wxDefaultPosition,
228         wxDefaultSize, wxSL_LABELS );
229         _BrushSizeCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
230         wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, 0 );
231         _sldBrushSize->SetMinSize( wxSize( 200, -1 ) );
232         _sldBrushSize->SetMaxSize( wxSize( 200, -1 ) );
233 }
234 //--------------------------------------------------------------------------
235 void wxManualPaintPanel::ConfigureDistanceFillSld( )
236 {
237         _txtDistanceFill = new wxStaticText( this, -1,
238         wxString( _T("  Distance fill  ") ) );
239         _sldDistanceFill = new wxSlider( this, -1, 50, 1, 500, wxDefaultPosition,
240         wxDefaultSize, wxSL_LABELS );
241         _sldDistanceFill->SetMinSize( wxSize( 200, -1 ) );
242         _sldDistanceFill->SetMaxSize( wxSize( 200, -1 ) );
243         _distancefillCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
244         wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 500, 50 );
245         _txtDistanceFill->Disable( );
246         _sldDistanceFill->Disable( );
247         _distancefillCtrl->Disable( );
248 }
249 //--------------------------------------------------------------------------
250 void wxManualPaintPanel::ConfigureTolFillSld( )
251 {
252         _txtToleranceFill = new wxStaticText( this, -1,
253                 wxString( _T("  Tolerance fill  ") ) );
254         _sldToleranceFill = new wxSlider( this, -1, 125, 0, 255, wxDefaultPosition,
255                 wxDefaultSize, wxSL_LABELS );
256         _sldToleranceFill->SetMinSize( wxSize( 200, -1 ) );
257         _sldToleranceFill->SetMaxSize( wxSize( 200, -1 ) );
258         _tolerancefillCtrl = new wxSpinCtrl( this, wxID_ANY, wxEmptyString,
259                 wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, 50 );
260         _txtToleranceFill->Disable( );
261         _sldToleranceFill->Disable( );
262         _tolerancefillCtrl->Disable( );
263
264 }
265 //--------------------------------------------------------------------------
266 void wxManualPaintPanel::ConfigureEditButtons( )
267 {
268         _btnCopy = new wxButton( this, -1, _T("Copy") );
269         _btnCopy->Disable( );
270         _btnUndo = new wxButton( this, -1, _T("Undo") );
271         _btnRedo = new wxButton( this, -1, _T("Redo") );
272         //btnUndo->Disable();
273 }
274 //--------------------------------------------------------------------------
275
276 /*
277  * The following function allows the management of the events
278  */
279 void wxManualPaintPanel::ConnectComponents( ) //DFCH
280 {
281         this->Connect(_sldBrushSize->GetId( ),
282                 wxEVT_SCROLL_THUMBRELEASE,
283                 (wxObjectEventFunction) (void(wxPanel::*)(
284                 wxScrollEvent& )) (&wxManualPaintPanel::OnBrushSize) );this ->Connect (_sldGrayLevel->GetId(),
285                 wxEVT_SCROLL_THUMBRELEASE,
286                 (wxObjectEventFunction) (void(wxPanel::*)( wxScrollEvent&)) &wxManualPaintPanel::OnSldGrayLevel);
287
288                 this->Connect(  _graylevelCtrl->GetId(),
289                                 wxEVT_COMMAND_TEXT_UPDATED,
290                                 (wxObjectEventFunction) (void(wxPanel::*)(
291                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtGrayLevel);
292
293                 this->Connect (
294                                 _sldToleranceFill->GetId(),
295                                 wxEVT_SCROLL_THUMBRELEASE,
296                                 (wxObjectEventFunction) (void(wxPanel::*)(
297                                                                 wxScrollEvent&)) &wxManualPaintPanel::OnSldToleranceFill);this->Connect
298                 (
299                                 _tolerancefillCtrl->GetId(),
300                                 wxEVT_COMMAND_TEXT_UPDATED,
301                                 (wxObjectEventFunction) (void(wxPanel::*)(
302                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtToleranceFill);
303
304                 this->Connect (
305                                 _sldDistanceFill->GetId(),
306                                 wxEVT_SCROLL_THUMBRELEASE,
307                                 (wxObjectEventFunction) (void(wxPanel::*)(
308                                                                 wxScrollEvent&)) &wxManualPaintPanel::OnSldDistanceFill);this->Connect
309                 (
310                                 _distancefillCtrl->GetId(),
311                                 wxEVT_COMMAND_TEXT_UPDATED,
312                                 (wxObjectEventFunction) (void(wxPanel::*)(
313                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtDistanceFill);
314
315                 this->Connect (
316                                 _rb2D3D->GetId(),
317                                 wxEVT_COMMAND_RADIOBOX_SELECTED,
318                                 (wxObjectEventFunction) (void(wxPanel::*)(
319                                                                 wxCommandEvent&)) &wxManualPaintPanel::On2D3D);this->Connect
320                 (
321                                 _rbBrushForm->GetId(),
322                                 wxEVT_COMMAND_RADIOBOX_SELECTED,
323                                 (wxObjectEventFunction) (void(wxPanel::*)(
324                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnBrushForm);this->Connect
325                 (
326                                 _rbBrushTool->GetId(),
327                                 wxEVT_COMMAND_RADIOBOX_SELECTED,
328                                 (wxObjectEventFunction) (void(wxPanel::*)(
329                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnBrushTool);this->Connect
330                 (
331                                 _btnCopy->GetId(),
332                                 wxEVT_COMMAND_BUTTON_CLICKED,
333                                 (wxObjectEventFunction) (void(wxPanel::*)(
334                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCopy);
335
336                 this->Connect (
337                                 _btnUndo->GetId(),
338                                 wxEVT_COMMAND_BUTTON_CLICKED,
339                                 (wxObjectEventFunction) (void(wxPanel::*)(
340                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnUndo);
341                 this->Connect(_btnRedo->GetId(),
342                                 wxEVT_COMMAND_BUTTON_CLICKED,
343                                 (wxObjectEventFunction) (void(wxPanel::*)(
344                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnRedo); //DFCH
345
346                 this->Connect(
347                                 _mBarSlices->GetId(),
348                                 wxEVT_TSBAR,
349                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onBarrange);
350                 //                      Connect(modBarRange->GetId(),98765,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
351                 this->Connect(
352                                 _mBarSlices->GetId(),
353                                 wxEVT_TSBAR_ACTUAL,
354                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onActualChange_Bar);
355                 this->Connect(
356                                 _mBarSlices->GetId(),
357                                 wxEVT_TSBAR_START,
358                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onStartChange_Bar);
359                 this->Connect(
360                                 _mBarSlices->GetId(),
361                                 wxEVT_TSBAR_END,
362                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onEndChange_Bar);
363                 this->Connect(
364                                 _mBarSlices->GetId(),
365                                 wxEVT_SELECTION_END,
366                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onSelectionEnd);
367                 this->Connect(
368                                 _mBarSlices->GetId(),
369                                 wxEVT_TSBAR_MOVED,
370                                 (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onMovedBar);
371                 this->Connect
372                 (
373                                 _BrushSizeCtrl->GetId(),
374                                 wxEVT_COMMAND_TEXT_UPDATED,
375                                 (wxObjectEventFunction) (void(wxPanel::*)(
376                                                                 wxCommandEvent&)) &wxManualPaintPanel::OnCtrBrushSize);
377                 this->Connect
378                 (
379                         _activeCB->GetId(),
380                         wxEVT_COMMAND_CHECKBOX_CLICKED, 
381                         (wxObjectEventFunction) (void (wxPanel::*)(wxCommandEvent&))&wxManualPaintPanel::OnActive);
382
383         }
384
385
386   //-------------------------------------------------------------------------
387   void wxManualPaintPanel::OnActive(wxCommandEvent& event)
388   {
389         printf("EED wxManualPaintPanel::OnActive \n");
390         SetActive( _activeCB->GetValue() );
391   }
392
393
394 //---------------------------------------------------------------------------
395 void wxManualPaintPanel::OnBrushSize( wxScrollEvent& event )
396 {
397         SetBrushSize( this->_sldBrushSize->GetValue( ) );
398         wxString text;
399         text.Printf( wxT("%d"), this->_sldBrushSize->GetValue( ) );
400         _BrushSizeCtrl->SetValue( text );
401 }
402
403 //---------------------------------------------------------------------------
404 void wxManualPaintPanel::OnSldGrayLevel( wxScrollEvent& event )
405 {
406         SetGrayLevel( (double) ( _sldGrayLevel->GetValue( )) );
407
408         wxString text;
409         text.Printf( wxT("%d"), _sldGrayLevel->GetValue( ) );
410         _graylevelCtrl->SetValue( text );
411 }
412
413 //---------------------------------------------------------------------------
414 void wxManualPaintPanel::OnCtrTxtGrayLevel( wxCommandEvent &event )
415 {
416         int graylevel = this->_graylevelCtrl->GetValue( );
417         this->_sldGrayLevel->SetValue( graylevel );
418         SetGrayLevel( graylevel );
419 }
420
421 //---------------------------------------------------------------------------
422 void wxManualPaintPanel::OnSldDistanceFill( wxScrollEvent& event )
423 {
424         SetDistanceFill( (double) ( _sldDistanceFill->GetValue( )) );
425
426         wxString text;
427         text.Printf( wxT("%d"), _sldDistanceFill->GetValue( ) );
428         _distancefillCtrl->SetValue( text );
429 }
430
431 //---------------------------------------------------------------------------
432 void wxManualPaintPanel::OnCtrTxtDistanceFill( wxCommandEvent &event )
433 {
434         int distancefill = this->_distancefillCtrl->GetValue( );
435         this->_sldDistanceFill->SetValue( distancefill );
436         SetDistanceFill( distancefill );
437 }
438 //---------------------------------------------------------------------------
439 void wxManualPaintPanel::OnCtrBrushSize( wxCommandEvent &event )
440 {
441         int brushSize = _BrushSizeCtrl->GetValue( );
442         this->_sldBrushSize->SetValue( brushSize );
443         SetBrushSize( brushSize );
444 }
445
446 //---------------------------------------------------------------------------
447 void wxManualPaintPanel::OnSldToleranceFill( wxScrollEvent& event )
448 {
449         SetToleranceFill( (double) ( _sldToleranceFill->GetValue( )) );
450
451         wxString text;
452         text.Printf( wxT("%d"), _sldToleranceFill->GetValue( ) );
453         _tolerancefillCtrl->SetValue( text );
454 }
455
456 //---------------------------------------------------------------------------
457 void wxManualPaintPanel::OnCtrTxtToleranceFill( wxCommandEvent &event )
458 {
459         int tolerance = _tolerancefillCtrl->GetValue( );
460         this->_sldToleranceFill->SetValue( tolerance );
461         SetToleranceFill( tolerance );
462 }
463
464 //---------------------------------------------------------------------------
465 void wxManualPaintPanel::DisableControls( )
466 {
467         _txtBrushSize->Disable( );
468         _sldBrushSize->Disable( );
469         _rbBrushForm->Disable( );
470
471         _txtToleranceFill->Disable( );
472         _sldToleranceFill->Disable( );
473         _tolerancefillCtrl->Disable( );
474
475         _txtDistanceFill->Disable( );
476         _sldDistanceFill->Disable( );
477         _distancefillCtrl->Disable( );
478 }
479
480 //---------------------------------------------------------------------------
481 void wxManualPaintPanel::On2D3D( wxCommandEvent &event )
482 {
483         Set2D3D( _rb2D3D->GetSelection( ) );
484 }
485
486 //---------------------------------------------------------------------------
487 void wxManualPaintPanel::OnBrushForm( wxCommandEvent &event )
488 {
489         SetBrushForm( _rbBrushForm->GetSelection( ) );
490 }
491
492 //---------------------------------------------------------------------------
493 void wxManualPaintPanel::OnBrushTool( wxCommandEvent &event )
494 {
495         DisableControls( );
496         SetTool( _rbBrushTool->GetSelection( ) );
497
498         if( _rbBrushTool->GetSelection( ) == 0 ) //Brush tool
499         {
500                 _txtBrushSize->Enable( );
501                 _sldBrushSize->Enable( );
502                 _rbBrushForm->Enable( );
503                 _brushSizer->Show( true );
504                 _FillSizer->Show( false );
505                 this->Layout( );
506         }
507
508         if( _rbBrushTool->GetSelection( ) == 1 ) //Fill tool
509         {
510                 _txtToleranceFill->Enable( );
511                 _sldToleranceFill->Enable( );
512                 _tolerancefillCtrl->Enable( );
513
514                 _txtDistanceFill->Enable( );
515                 _sldDistanceFill->Enable( );
516                 _distancefillCtrl->Enable( );
517                 _FillSizer->Show( true );
518                 _brushSizer->Show( false );
519                 this->Layout( );
520         }
521 }
522
523 //---------------------------------------------------------------------------
524 void wxManualPaintPanel::OnCopy( wxCommandEvent &event )
525 {
526 }
527
528 //---------------------------------------------------------------------------
529 void wxManualPaintPanel::OnUndo( wxCommandEvent &event )
530 {
531         this->_manualPaintModel->Undo( );
532 }
533
534 //---------------------------------------------------------------------------
535 void wxManualPaintPanel::OnRedo( wxCommandEvent &event )
536 {
537         this->_manualPaintModel->Redo( );
538 }
539
540 //--------------------------------------------------------------------------------------------------------------------------------
541 // Min-Max Barrange received events
542 //--------------------------------------------------------------------------------------------------------------------------------
543 void wxManualPaintPanel::onBarrange( wxCommandEvent& event )
544 {
545 }
546 void wxManualPaintPanel::onActualChange_Bar( wxCommandEvent& event )
547 {
548         /*mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual());
549          mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/
550 }
551 void wxManualPaintPanel::onStartChange_Bar( wxCommandEvent& event )
552 {
553         SetRangeMin( _mBarSlices->GetStart( ) );
554 }
555
556 void wxManualPaintPanel::onEndChange_Bar( wxCommandEvent& event )
557 {
558         SetRangeMax( _mBarSlices->GetEnd( ) );
559 }
560
561 void wxManualPaintPanel::onSelectionEnd( wxCommandEvent& event )
562 {
563 }
564
565 void wxManualPaintPanel::onMovedBar( wxCommandEvent& event )
566 {
567 }
568 //-------------------------------------------------------------------------
569 //--------------------------------------------------------------------------
570 //--------------------------------------------------------------------------
571