]> git.saurik.com Git - wxWidgets.git/blame - include/wx/xrc/xh_sizer.h
Applied rowspan patch #15276 (dghart)
[wxWidgets.git] / include / wx / xrc / xh_sizer.h
CommitLineData
56d2f750 1/////////////////////////////////////////////////////////////////////////////
e8a793f0 2// Name: wx/xrc/xh_sizer.h
56d2f750
VS
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
999d9a9f 14#include "wx/xrc/xmlres.h"
dd47af27
VZ
15
16#if wxUSE_XRC
17
0d077b41
RD
18#include "wx/sizer.h"
19#include "wx/gbsizer.h"
56d2f750 20
30dc3455 21class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler
56d2f750 22{
dd47af27
VZ
23 DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler)
24
eb8671f2
VS
25public:
26 wxSizerXmlHandler();
27 virtual wxObject *DoCreateResource();
28 virtual bool CanHandle(wxXmlNode *node);
29
40730ad1
VZ
30protected:
31 virtual wxSizer* DoCreateSizer(const wxString& name);
32 virtual bool IsSizerNode(wxXmlNode *node) const;
33
eb8671f2
VS
34private:
35 bool m_isInside;
0d077b41 36 bool m_isGBS;
f80ea77b 37
eb8671f2 38 wxSizer *m_parentSizer;
ea89ec17 39
0d077b41
RD
40
41 wxObject* Handle_sizeritem();
42 wxObject* Handle_spacer();
43 wxObject* Handle_sizer();
44 wxSizer* Handle_wxBoxSizer();
627ddac9 45#if wxUSE_STATBOX
0d077b41 46 wxSizer* Handle_wxStaticBoxSizer();
627ddac9 47#endif
0d077b41 48 wxSizer* Handle_wxGridSizer();
5dd238c6 49 wxFlexGridSizer* Handle_wxFlexGridSizer();
1808bb47 50 wxGridBagSizer* Handle_wxGridBagSizer();
13a38887 51 wxSizer* Handle_wxWrapSizer();
0d077b41 52
afc0db8c 53 bool ValidateGridSizerChildren();
5a3eee0d 54 void SetFlexibleMode(wxFlexGridSizer* fsizer);
0d077b41
RD
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);
f80ea77b 60 void AddSizerItem(wxSizerItem* sitem);
56d2f750
VS
61};
62
dd47af27 63#if wxUSE_BUTTON
56d2f750 64
172541f6
VS
65class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler
66 : public wxXmlResourceHandler
67{
dd47af27
VZ
68 DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler)
69
172541f6
VS
70public:
71 wxStdDialogButtonSizerXmlHandler();
72 virtual wxObject *DoCreateResource();
73 virtual bool CanHandle(wxXmlNode *node);
74
75private:
76 bool m_isInside;
77 wxStdDialogButtonSizer *m_parentSizer;
172541f6
VS
78};
79
dd47af27
VZ
80#endif // wxUSE_BUTTON
81
82#endif // wxUSE_XRC
172541f6
VS
83
84#endif // _WX_XH_SIZER_H_