]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMViewPanel.h
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasIRMViewPanel.h
1 #ifndef WXMARACASIRMVIEWPANEL_H_
2 #define WXMARACASIRMVIEWPANEL_H_
3
4 #include "wx/wx.h"
5
6 class wxMaracasIRMViewPanel : public wxPanel{
7 public:
8         wxMaracasIRMViewPanel(wxWindow* parent, int propid)
9                 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
10                         createPanel();
11                         _propid = propid;
12         }       
13         //virtual ~wxMaracasIRMViewPanel();
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)&wxMaracasIRMViewPanel::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)&wxMaracasIRMViewPanel::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         **      Adds a new control to the panel (sizer, radiob, etc)
49         **/
50         virtual void addControl(wxSizer* sizer){
51                 if(sizercontrols!=NULL){
52                         sizercontrols->Add(sizer, wxGROW);
53                 }
54         }
55
56         /**
57         **      Hides or show the controls in the panel
58         **/
59         virtual void onActionButtonPressedHide( wxCommandEvent& event ){
60                 wxList list = sizercontrols->GetChildren();             
61                 int i;
62                 for(i=0; i<list.size();i++){
63                         sizercontrols->Show(i,show);
64                 }
65                 show = !show;
66                 sizercontrols->Layout();
67                 this->Layout();
68         }
69
70     /**
71         **      The user must implement this function to remove the panel from the 
72         **/
73         //virtual void onActionButtonPressedEliminate( wxCommandEvent& event )=0;
74
75         /**
76         **      The user must implement this function to add the necessary controls to the panel
77         **/
78         virtual void createControls( )=0;
79         /**
80         ** returns the id of the panel
81         **/
82         int getPropId(){
83                 return _propid;
84         }
85
86 private:
87         wxBoxSizer* sizercontrols;
88         bool show;
89 protected:
90         int _propid;
91
92 };
93
94 #endif /*WXMARACASIRMVIEWPANEL_H_*/