X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/854e189f90dac9ba5e0239bca79aed64e8d6f46c..d51305e81eb593bedd92cda864671e15209c268f:/include/wx/xrc/xh_sizer.h diff --git a/include/wx/xrc/xh_sizer.h b/include/wx/xrc/xh_sizer.h index eb5e05c048..2647b5b8ce 100644 --- a/include/wx/xrc/xh_sizer.h +++ b/include/wx/xrc/xh_sizer.h @@ -11,16 +11,18 @@ #ifndef _WX_XH_SIZER_H_ #define _WX_XH_SIZER_H_ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "xh_sizer.h" #endif #include "wx/xrc/xmlres.h" +#include "wx/sizer.h" +#include "wx/gbsizer.h" class WXDLLEXPORT wxSizer; -class WXXMLDLLEXPORT wxSizerXmlHandler : public wxXmlResourceHandler +class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler { DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler) public: @@ -30,10 +32,44 @@ public: 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(); + wxSizer* Handle_wxStaticBoxSizer(); + wxSizer* Handle_wxGridSizer(); + wxSizer* Handle_wxFlexGridSizer(); + wxSizer* Handle_wxGridBagSizer(); + + 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); +}; + + +class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler + : public wxXmlResourceHandler +{ +public: + wxStdDialogButtonSizerXmlHandler(); + virtual wxObject *DoCreateResource(); + virtual bool CanHandle(wxXmlNode *node); + +private: + bool m_isInside; + wxStdDialogButtonSizer *m_parentSizer; + + DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler) }; -#endif // _WX_XH_BOXSIZER_H_ +#endif // _WX_XH_SIZER_H_