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 wxRadioBox * 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 wxRadioBox * rbBrushForm = new wxRadioBox(panel, -1, _T("Brush form"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushForm, 2, wxRA_SPECIFY_COLS);
31 rbBrushForm->Disable();
33 wxString lstBrushTool[2];
34 lstBrushTool[0]=_T("Pensil");
35 lstBrushTool[1]=_T("Fill");
36 wxRadioBox *rbBrushTool = new wxRadioBox(panel, -1, _T("Brush tool"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushTool, 2, wxRA_SPECIFY_COLS);
37 rbBrushTool->Disable();
39 wxButton *btnCopy = new wxButton( panel, -1, _T("Copy"));
41 wxButton *btnUndo = new wxButton( panel, -1, _T("Undo"));
44 Connect(sldBrushSize->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushSize);
45 Connect(sldGrayLevel->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction) &wxManualPaintPanel::OnSldGrayLevel);
46 Connect(graylevelCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED , (wxObjectEventFunction) &wxManualPaintPanel::OnCtrTxtGrayLevel);
48 Connect(rb2D3D->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction) &wxManualPaintPanel::On2D3D);
49 Connect(rbBrushForm->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushForm);
50 Connect(rbBrushTool->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushTool);
51 Connect(btnCopy->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxManualPaintPanel::OnCopy);
52 Connect(btnUndo->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxManualPaintPanel::OnUndo);
54 wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1);
55 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
56 sizer1->Add(tittleText);
57 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
58 sizer1->Add(txtBrushSize);
59 sizer1->Add(sldBrushSize, 1, wxGROW );
60 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
61 sizer1->Add(txtGrayLevel);
62 sizer1->Add(sldGrayLevel, 1, wxGROW );
63 sizer1->Add(graylevelCtrl);
64 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
65 sizer1->Add(rb2D3D, 1, wxGROW );
66 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
67 sizer1->Add(rbBrushForm, 1, wxGROW );
68 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
69 sizer1->Add(rbBrushTool, 1, wxGROW );
70 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
71 sizer1->Add(btnCopy, 1, wxGROW );
72 sizer1->Add(new wxStaticText(panel,-1,_T(" ")));
73 sizer1->Add(btnUndo, 1, wxGROW );
76 panel->SetSizer(sizer);
77 panel->SetAutoLayout(true);
81 //---------------------------------------------------------------------------
82 wxManualPaintPanel::~wxManualPaintPanel()
86 //---------------------------------------------------------------------------
87 void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event)
89 printf("EED %p wxManualPaintPanel::OnBrushSize\n", this);
90 SetBrushSize( sldBrushSize->GetValue() );
93 //---------------------------------------------------------------------------
94 void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event)
96 printf("EED %p wxManualPaintPanel::OnGrayLevel\n", this);
97 SetGrayLevel( (double)(sldGrayLevel->GetValue()) );
100 text.Printf( wxT("%d"), sldGrayLevel->GetValue() );
101 graylevelCtrl->SetValue(text);
104 //---------------------------------------------------------------------------
105 void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event)
107 printf("EED %p wxManualPaintPanel::OnCtrTxtGrayLevel\n", this);
110 wxString text=graylevelCtrl->GetValue();
111 if (text.ToDouble(&graylevel))
113 SetGrayLevel( graylevel );
119 //---------------------------------------------------------------------------
120 void wxManualPaintPanel::On2D3D(wxCommandEvent &event)
124 //---------------------------------------------------------------------------
125 void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
129 //---------------------------------------------------------------------------
130 void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event)
134 //---------------------------------------------------------------------------
135 void wxManualPaintPanel::OnCopy(wxCommandEvent &event)
139 //---------------------------------------------------------------------------
140 void wxManualPaintPanel::OnUndo(wxCommandEvent &event)