2 #include "wxManualPaintPanel.h"
3 #include <wx/radiobox.h>
5 wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent)
10 wxSizer *sizer = NULL;
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);
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);
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);
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();
38 wxButton *btnCopy = new wxButton( panel, -1, _T("Copy"));
40 wxButton *btnUndo = new wxButton( panel, -1, _T("Undo"));
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);
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);
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 );
75 panel->SetSizer(sizer);
76 panel->SetAutoLayout(true);
80 //---------------------------------------------------------------------------
81 wxManualPaintPanel::~wxManualPaintPanel()
85 //---------------------------------------------------------------------------
86 void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event)
88 SetBrushSize( _sldBrushSize->GetValue() );
91 //---------------------------------------------------------------------------
92 void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event)
94 SetGrayLevel( (double)(_sldGrayLevel->GetValue()) );
97 text.Printf( wxT("%d"), _sldGrayLevel->GetValue() );
98 _graylevelCtrl->SetValue(text);
101 //---------------------------------------------------------------------------
102 void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event)
105 wxString text=_graylevelCtrl->GetValue();
106 if (text.ToDouble(&graylevel))
108 SetGrayLevel( graylevel );
114 //---------------------------------------------------------------------------
115 void wxManualPaintPanel::On2D3D(wxCommandEvent &event)
117 Set2D3D( _rb2D3D->GetSelection() );
120 //---------------------------------------------------------------------------
121 void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
123 printf("EED wxManualPaintPanel::OnBrushForm BrushForm=%d \n", _rbBrushForm->GetSelection());
124 SetBrushForm( _rbBrushForm->GetSelection() );
127 //---------------------------------------------------------------------------
128 void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event)
130 SetBrushTool( _rbBrushTool->GetSelection() );
133 //---------------------------------------------------------------------------
134 void wxManualPaintPanel::OnCopy(wxCommandEvent &event)
138 //---------------------------------------------------------------------------
139 void wxManualPaintPanel::OnUndo(wxCommandEvent &event)