1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/xrc/xh_sizer.h 3// Purpose: XML resource handler for wxBoxSizer 4// Author: Vaclav Slavik 5// Created: 2000/04/24 6// RCS-ID: $Id: xh_sizer.h 49804 2007-11-10 01:09:42Z VZ $ 7// Copyright: (c) 2000 Vaclav Slavik 8// Licence: wxWindows licence 9///////////////////////////////////////////////////////////////////////////// 10 11#ifndef _WX_XH_SIZER_H_ 12#define _WX_XH_SIZER_H_ 13 14#include "wx/xrc/xmlres.h" 15 16#if wxUSE_XRC 17 18#include "wx/sizer.h" 19#include "wx/gbsizer.h" 20 21class WXDLLIMPEXP_FWD_CORE wxSizer; 22 23class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler 24{ 25 DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler) 26 27public: 28 wxSizerXmlHandler(); 29 virtual wxObject *DoCreateResource(); 30 virtual bool CanHandle(wxXmlNode *node); 31 32private: 33 bool m_isInside; 34 bool m_isGBS; 35 36 wxSizer *m_parentSizer; 37 38 bool IsSizerNode(wxXmlNode *node); 39 40 wxObject* Handle_sizeritem(); 41 wxObject* Handle_spacer(); 42 wxObject* Handle_sizer(); 43 wxSizer* Handle_wxBoxSizer(); 44#if wxUSE_STATBOX 45 wxSizer* Handle_wxStaticBoxSizer(); 46#endif 47 wxSizer* Handle_wxGridSizer(); 48 wxSizer* Handle_wxFlexGridSizer(); 49 wxSizer* Handle_wxGridBagSizer(); 50 51 void SetGrowables(wxFlexGridSizer* fsizer, const wxChar* param, bool rows); 52 wxGBPosition GetGBPos(const wxString& param); 53 wxGBSpan GetGBSpan(const wxString& param); 54 wxSizerItem* MakeSizerItem(); 55 void SetSizerItemAttributes(wxSizerItem* sitem); 56 void AddSizerItem(wxSizerItem* sitem); 57}; 58 59#if wxUSE_BUTTON 60 61class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler 62 : public wxXmlResourceHandler 63{ 64 DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler) 65 66public: 67 wxStdDialogButtonSizerXmlHandler(); 68 virtual wxObject *DoCreateResource(); 69 virtual bool CanHandle(wxXmlNode *node); 70 71private: 72 bool m_isInside; 73 wxStdDialogButtonSizer *m_parentSizer; 74}; 75 76#endif // wxUSE_BUTTON 77 78#endif // wxUSE_XRC 79 80#endif // _WX_XH_SIZER_H_ 81