]> git.saurik.com Git - wxWidgets.git/blob - include/wx/xrc/xh_sizer.h
support SDK < 10.6, fixes #14902
[wxWidgets.git] / include / wx / xrc / xh_sizer.h
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$
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
21 class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler
22 {
23 DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler)
24
25 public:
26 wxSizerXmlHandler();
27 virtual wxObject *DoCreateResource();
28 virtual bool CanHandle(wxXmlNode *node);
29
30 protected:
31 virtual wxSizer* DoCreateSizer(const wxString& name);
32 virtual bool IsSizerNode(wxXmlNode *node) const;
33
34 private:
35 bool m_isInside;
36 bool m_isGBS;
37
38 wxSizer *m_parentSizer;
39
40
41 wxObject* Handle_sizeritem();
42 wxObject* Handle_spacer();
43 wxObject* Handle_sizer();
44 wxSizer* Handle_wxBoxSizer();
45 #if wxUSE_STATBOX
46 wxSizer* Handle_wxStaticBoxSizer();
47 #endif
48 wxSizer* Handle_wxGridSizer();
49 wxFlexGridSizer* Handle_wxFlexGridSizer();
50 wxGridBagSizer* Handle_wxGridBagSizer();
51 wxSizer* Handle_wxWrapSizer();
52
53 bool ValidateGridSizerChildren();
54 void SetFlexibleMode(wxFlexGridSizer* fsizer);
55 void SetGrowables(wxFlexGridSizer* fsizer, const wxChar* param, bool rows);
56 wxGBPosition GetGBPos(const wxString& param);
57 wxGBSpan GetGBSpan(const wxString& param);
58 wxSizerItem* MakeSizerItem();
59 void SetSizerItemAttributes(wxSizerItem* sitem);
60 void AddSizerItem(wxSizerItem* sitem);
61 };
62
63 #if wxUSE_BUTTON
64
65 class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler
66 : public wxXmlResourceHandler
67 {
68 DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler)
69
70 public:
71 wxStdDialogButtonSizerXmlHandler();
72 virtual wxObject *DoCreateResource();
73 virtual bool CanHandle(wxXmlNode *node);
74
75 private:
76 bool m_isInside;
77 wxStdDialogButtonSizer *m_parentSizer;
78 };
79
80 #endif // wxUSE_BUTTON
81
82 #endif // wxUSE_XRC
83
84 #endif // _WX_XH_SIZER_H_