X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasIRMViewPanel.h;fp=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasIRMViewPanel.h;h=f3a3bb2d515823c755aa2fa4b9239dc9acd88cfc;hb=a4ee3758aa0477f677fb981e2c4d6e29995e8db8;hp=0000000000000000000000000000000000000000;hpb=cc20770ee090848c31a8f18c277d89f2b904e087;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMViewPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMViewPanel.h new file mode 100644 index 0000000..f3a3bb2 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMViewPanel.h @@ -0,0 +1,94 @@ +#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_*/