]> 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         wxRadioBox * 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         wxRadioBox * rbBrushForm = new wxRadioBox(panel, -1, _T("Brush form"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushForm,  2, wxRA_SPECIFY_COLS);
31     rbBrushForm->Disable();
32
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();
38
39         wxButton     *btnCopy       = new wxButton( panel, -1, _T("Copy"));
40     btnCopy->Disable();
41         wxButton     *btnUndo       = new wxButton( panel, -1, _T("Undo"));
42     btnUndo->Disable();
43
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);
47
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);
53
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 );
74
75     sizer = sizer1;
76     panel->SetSizer(sizer);
77     panel->SetAutoLayout(true);
78     panel->Layout();
79 }
80
81 //---------------------------------------------------------------------------
82 wxManualPaintPanel::~wxManualPaintPanel()
83 {
84 }
85
86 //---------------------------------------------------------------------------
87 void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event)
88 {
89     printf("EED %p wxManualPaintPanel::OnBrushSize\n", this);
90     SetBrushSize( sldBrushSize->GetValue() );
91 }
92
93 //---------------------------------------------------------------------------
94 void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event)
95 {
96     printf("EED %p wxManualPaintPanel::OnGrayLevel\n", this);
97     SetGrayLevel( (double)(sldGrayLevel->GetValue()) );
98
99     wxString text;
100     text.Printf( wxT("%d"), sldGrayLevel->GetValue() );
101     graylevelCtrl->SetValue(text);
102 }
103
104 //---------------------------------------------------------------------------
105 void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event)
106 {
107     printf("EED %p wxManualPaintPanel::OnCtrTxtGrayLevel\n", this);
108
109     double graylevel;
110     wxString text=graylevelCtrl->GetValue();
111     if (text.ToDouble(&graylevel))
112     {
113         SetGrayLevel( graylevel );
114     }
115 }
116
117
118
119 //---------------------------------------------------------------------------
120 void wxManualPaintPanel::On2D3D(wxCommandEvent &event)
121 {
122 }
123
124 //---------------------------------------------------------------------------
125 void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event)
126 {
127 }
128
129 //---------------------------------------------------------------------------
130 void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event)
131 {
132 }
133
134 //---------------------------------------------------------------------------
135 void wxManualPaintPanel::OnCopy(wxCommandEvent &event)
136 {
137 }
138
139 //---------------------------------------------------------------------------
140 void wxManualPaintPanel::OnUndo(wxCommandEvent &event)
141 {
142 }