#ifndef WXMARACASIRMVIEWPANEL_H_ #define WXMARACASIRMVIEWPANEL_H_ #include "wx/wx.h" class wxMaracasIRMViewPanel : public wxPanel{ public: wxMaracasIRMViewPanel(wxWindow* parent, int propid) : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){ createPanel(); _propid = propid; } //virtual ~wxMaracasIRMViewPanel(); virtual void createPanel(){ show = false; /*wxBoxSizer* sizerButtons = new wxBoxSizer(wxVERTICAL); wxButton* b = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, wxString(_T("-"))); Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewPanel::onActionButtonPressedHide); wxButton* b1 = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, wxString(_T("x"))); Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewPanel::onActionButtonPressedEliminate); sizerButtons->Add(b, wxFIXED_MINSIZE); sizerButtons->Add(b1, wxFIXED_MINSIZE);*/ sizercontrols = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizerpanel = new wxBoxSizer(wxHORIZONTAL); //sizerpanel->Add(sizerButtons,wxGROW); sizerpanel->Add(sizercontrols,wxGROW); this->SetSizer(sizerpanel, true); this->SetAutoLayout( true ); } /** ** Adds a new control to the panel (sizer, radiob, etc) **/ virtual void addControl(wxWindow* win){ if(sizercontrols!=NULL){ sizercontrols->Add(win, wxGROW); } } /** ** Adds a new control to the panel (sizer, radiob, etc) **/ virtual void addControl(wxSizer* sizer){ if(sizercontrols!=NULL){ sizercontrols->Add(sizer, wxGROW); } } /** ** Hides or show the controls in the panel **/ virtual void onActionButtonPressedHide( wxCommandEvent& event ){ wxList list = sizercontrols->GetChildren(); int i; for(i=0; iShow(i,show); } show = !show; sizercontrols->Layout(); this->Layout(); } /** ** The user must implement this function to remove the panel from the **/ //virtual void onActionButtonPressedEliminate( wxCommandEvent& event )=0; /** ** The user must implement this function to add the necessary controls to the panel **/ virtual void createControls( )=0; /** ** returns the id of the panel **/ int getPropId(){ return _propid; } private: wxBoxSizer* sizercontrols; bool show; protected: int _propid; }; #endif /*WXMARACASIRMVIEWPANEL_H_*/