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