]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingPanel.h
8725b371e44560c7af8cd1417b59efa690e6e075
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasSurfaceRenderingPanel.h
1 #ifndef WXMARACASSURFACERENDERINGPANEL_H_
2 #define WXMARACASSURFACERENDERINGPANEL_H_
3
4 #include "wx/wx.h"
5
6 class wxMaracasSurfaceRenderingPanel : public wxPanel{
7 public:
8         wxMaracasSurfaceRenderingPanel(wxWindow* parent, int propid)
9                 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
10                         createPanel();
11                         _propid = propid;
12         }       
13         //virtual ~wxMaracasSurfaceRenderingPanel();
14         virtual void createPanel(){
15                 show = false;
16         /*wxBoxSizer* sizerButtons = new wxBoxSizer(wxVERTICAL);
17
18                 wxButton* b = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, 
19                                                                 wxDefaultValidator, wxString(_T("-"))); 
20                 Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingPanel::onActionButtonPressedHide);
21                 wxButton* b1 = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, 
22                                                                 wxDefaultValidator, wxString(_T("x"))); 
23                 Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingPanel::onActionButtonPressedEliminate);
24
25                 sizerButtons->Add(b, wxFIXED_MINSIZE);
26                 sizerButtons->Add(b1, wxFIXED_MINSIZE);*/
27
28                 sizercontrols = new wxBoxSizer(wxVERTICAL);
29
30                 wxBoxSizer* sizerpanel = new wxBoxSizer(wxHORIZONTAL);
31
32                 //sizerpanel->Add(sizerButtons,wxGROW);
33                 sizerpanel->Add(sizercontrols,wxGROW);
34         
35                 this->SetSizer(sizerpanel, true);               
36                 this->SetAutoLayout( true );
37         }
38
39         /**
40         **      Adds a new control to the panel (sizer, radiob, etc)
41         **/
42         virtual void addControl(wxWindow* win){
43                 if(sizercontrols!=NULL){
44                         sizercontrols->Add(win, wxGROW);
45                 }
46         }
47
48         /**
49         **      Adds a new control to the panel (sizer, radiob, etc)
50         **/
51         virtual void addControl(wxSizer* sizer){
52                 if(sizercontrols!=NULL){
53                         sizercontrols->Add(sizer, wxGROW);
54                 }
55         }
56
57         /**
58         **      Hides or show the controls in the panel
59         **/
60         virtual void onActionButtonPressedHide( wxCommandEvent& event ){
61                 wxList list = sizercontrols->GetChildren();             
62                 int i;
63                 for(i=0; i<list.size();i++){
64                         sizercontrols->Show(i,show);
65                 }
66                 show = !show;
67                 sizercontrols->Layout();
68                 this->Layout();
69         }
70
71     /**
72         **      The user must implement this function to remove the panel from the 
73         **/
74         //virtual void onActionButtonPressedEliminate( wxCommandEvent& event )=0;
75
76         /**
77         **      The user must implement this function to add the necessary controls to the panel
78         **/
79         virtual void createControls( )=0;
80         
81         /**
82         ** returns the id of the panel
83         **/
84         int getPropId(){
85                 return _propid;
86         }
87
88 private:
89         wxBoxSizer* sizercontrols;
90         bool show;
91 protected:
92         int _propid;
93
94 };
95
96 #endif /*WXMARACASSURFACERENDERINGPANEL_H_*/