X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d077b41ee2af9273f77397a340d436d9229bd32..a4f6fe43c33bd7933645d110ad2719871dab043d:/include/wx/xrc/xh_sizer.h diff --git a/include/wx/xrc/xh_sizer.h b/include/wx/xrc/xh_sizer.h index 7159605584..d38f778d95 100644 --- a/include/wx/xrc/xh_sizer.h +++ b/include/wx/xrc/xh_sizer.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_sizer.h +// Name: wx/xrc/xh_sizer.h // Purpose: XML resource handler for wxBoxSizer // Author: Vaclav Slavik // Created: 2000/04/24 @@ -11,49 +11,74 @@ #ifndef _WX_XH_SIZER_H_ #define _WX_XH_SIZER_H_ -#if defined(__GNUG__) && !defined(__APPLE__) -#pragma interface "xh_sizer.h" -#endif - #include "wx/xrc/xmlres.h" -#include "wx/sizer.h" -#include "wx/gbsizer.h" +#if wxUSE_XRC -class WXDLLEXPORT wxSizer; +#include "wx/sizer.h" +#include "wx/gbsizer.h" class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler { -DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler) + DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler) + public: wxSizerXmlHandler(); virtual wxObject *DoCreateResource(); virtual bool CanHandle(wxXmlNode *node); +protected: + virtual wxSizer* DoCreateSizer(const wxString& name); + virtual bool IsSizerNode(wxXmlNode *node) const; + private: bool m_isInside; bool m_isGBS; - + wxSizer *m_parentSizer; - bool IsSizerNode(wxXmlNode *node); wxObject* Handle_sizeritem(); wxObject* Handle_spacer(); wxObject* Handle_sizer(); wxSizer* Handle_wxBoxSizer(); +#if wxUSE_STATBOX wxSizer* Handle_wxStaticBoxSizer(); +#endif wxSizer* Handle_wxGridSizer(); - wxSizer* Handle_wxFlexGridSizer(); - wxSizer* Handle_wxGridBagSizer(); + wxFlexGridSizer* Handle_wxFlexGridSizer(); + wxGridBagSizer* Handle_wxGridBagSizer(); + wxSizer* Handle_wxWrapSizer(); + bool ValidateGridSizerChildren(); + void SetFlexibleMode(wxFlexGridSizer* fsizer); void SetGrowables(wxFlexGridSizer* fsizer, const wxChar* param, bool rows); wxGBPosition GetGBPos(const wxString& param); wxGBSpan GetGBSpan(const wxString& param); wxSizerItem* MakeSizerItem(); void SetSizerItemAttributes(wxSizerItem* sitem); - void AddSizerItem(wxSizerItem* sitem); + void AddSizerItem(wxSizerItem* sitem); +}; + +#if wxUSE_BUTTON + +class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler + : public wxXmlResourceHandler +{ + DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler) + +public: + wxStdDialogButtonSizerXmlHandler(); + virtual wxObject *DoCreateResource(); + virtual bool CanHandle(wxXmlNode *node); + +private: + bool m_isInside; + wxStdDialogButtonSizer *m_parentSizer; }; +#endif // wxUSE_BUTTON + +#endif // wxUSE_XRC -#endif // _WX_XH_BOXSIZER_H_ +#endif // _WX_XH_SIZER_H_