]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / wxManualPaintPanel.cpp
1
2 #include "wxManualPaintPanel.h"
3 #include <wx/radiobox.h>
4
5 wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
6  : wxPanel(parent, -1)
7 {
8
9     wxPanel     *panel                  = this;
10     wxSizer *sizer                      = NULL;
11
12         // Widget interface
13         wxStaticText    *tittleText             = new wxStaticText(panel, -1, _T("             Manual Paint"));
14         wxStaticText    *txtBrushSize   = new wxStaticText(panel, -1, wxString(_T("  Brush size  ")));
15                      _sldBrushSize  = new wxSlider(panel, -1, 1, 1, 20, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
16         wxStaticText    *txtGrayLevel   = new wxStaticText(panel, -1, wxString(_T("  Gray Level  ")));
17                      _sldGrayLevel  = new wxSlider(panel, -1, 0, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
18                      _graylevelCtrl = new wxTextCtrl(panel , -1);
19
20         wxString lst2D3D[2];
21         lst2D3D[0]=_T("2D circle");
22         lst2D3D[1]=_T("3D sphere");
23                     _rb2D3D         = new wxRadioBox(panel, -1, _T("2D / 3D"), wxDefaultPosition, wxSize(270,45), 2 , lst2D3D,  2, wxRA_SPECIFY_COLS);
24     _rb2D3D->SetSelection(1);
25     _rb2D3D->Disable();
26
27         wxString lstBrushForm[2];
28         lstBrushForm[0]=_T("rectangle/cube");
29         lstBrushForm[1]=_T("circle/sphere");
30                     _rbBrushForm    = new wxRadioBox(panel, -1, _T("Brush form"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushForm,  2, wxRA_SPECIFY_COLS);
31
32         wxString lstBrushTool[2];
33         lstBrushTool[0]=_T("Pensil");
34         lstBrushTool[1]=_T("Fill");
35                     _rbBrushTool    = new wxRadioBox(panel, -1, _T("Brush tool"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushTool,  2, wxRA_SPECIFY_COLS);
36     _rbBrushTool->Disable();
37
38         wxButton     *btnCopy           = new wxButton( panel, -1, _T("Copy"));
39     btnCopy->Disable();
40         wxButton     *btnUndo           = new wxButton( panel, -1, _T("Undo"));
41     btnUndo->Disable();
42
43     Connect(_sldBrushSize->GetId()  , wxEVT_SCROLL_THUMBRELEASE         , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushSize);
44     Connect(_sldGrayLevel->GetId()  , wxEVT_SCROLL_THUMBRELEASE         , (wxObjectEventFunction) &wxManualPaintPanel::OnSldGrayLevel);
45     Connect(_graylevelCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED            , (wxObjectEventFunction) &wxManualPaintPanel::OnCtrTxtGrayLevel);
46
47     Connect(_rb2D3D->GetId()        , wxEVT_COMMAND_RADIOBOX_SELECTED   , (wxObjectEventFunction) &wxManualPaintPanel::On2D3D);
48     Connect(_rbBrushForm->GetId()   , wxEVT_COMMAND_RADIOBOX_SELECTED   , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushForm);
49     Connect(_rbBrushTool->GetId()   , wxEVT_COMMAND_RADIOBOX_SELECTED   , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushTool);
50         Connect(btnCopy->GetId()            , wxEVT_COMMAND_BUTTON_CLICKED      , (wxObjectEventFunction) &wxManualPaintPanel::OnCopy);
51         Connect(btnUndo->GetId()            , wxEVT_COMMAND_BUTTON_CLICKED      , (wxObjectEventFunction) &wxManualPaintPanel::OnUndo);
52
53         wxFlexGridSizer *sizer1         = new wxFlexGridSizer(1);
54     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
55     sizer1->Add(tittleText);
56     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
57     sizer1->Add(txtBrushSize);
58     sizer1->Add(_sldBrushSize, 1, wxGROW );
59     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
60     sizer1->Add(txtGrayLevel);
61     sizer1->Add(_sldGrayLevel, 1, wxGROW );
62     sizer1->Add(_graylevelCtrl);
63     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
64     sizer1->Add(_rb2D3D, 1, wxGROW );
65     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
66     sizer1->Add(_rbBrushForm, 1, wxGROW );
67     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
68     sizer1->Add(_rbBrushTool, 1, wxGROW );
69     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
70     sizer1->Add(btnCopy, 1, wxGROW );
71     sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
72     sizer1->Add(btnUndo, 1, wxGROW );
73
74     sizer = sizer1;
75     panel->SetSizer(sizer);
76     panel->SetAutoLayout(true);
77     panel->Layout();
78 }
79
80 //---------------------------------------------------------------------------
81 wxManualPaintPanel::~wxManualPaintPanel()
82 {
83 }
84
85 //---------------------------------------------------------------------------
86 void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event)
87 {
88     SetBrushSize( _sldBrushSize->GetValue() );
89 }
90
91 //---------------------------------------------------------------------------
92 void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event)
93 {
94     SetGrayLevel( (double)(_sldGrayLevel->GetValue()) );
95
96     wxString text;
97     text.Printf( wxT("%d"), _sldGrayLevel->GetValue() );
98     _graylevelCtrl->SetValue(text);
99 }
100
101 //---------------------------------------------------------------------------
102 void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event)
103 {
104     double graylevel;
105     wxString text=_graylevelCtrl->GetValue();
106     if (text.ToDouble(&graylevel))
107     {
108         SetGrayLevel( graylevel );
109     }
110 }
111
112
113
114 //---------------------------------------------------------------------------
115 void wxManualPaintPanel::On2D3D(wxCommandEvent &event)
116 {
117     Set2D3D( _rb2D3D->GetSelection() );
118 }
119
120 //---------------------------------------------------------------------------
121 void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
122 {
123     printf("EED wxManualPaintPanel::OnBrushForm BrushForm=%d \n", _rbBrushForm->GetSelection());
124     SetBrushForm( _rbBrushForm->GetSelection() );
125 }
126
127 //---------------------------------------------------------------------------
128 void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event)
129 {
130     SetBrushTool( _rbBrushTool->GetSelection() );
131 }
132
133 //---------------------------------------------------------------------------
134 void wxManualPaintPanel::OnCopy(wxCommandEvent &event)
135 {
136 }
137
138 //---------------------------------------------------------------------------
139 void wxManualPaintPanel::OnUndo(wxCommandEvent &event)
140 {
141 }