]> git.saurik.com Git - wxWidgets.git/blame - include/wx/xrc/xh_sizer.h
improve best size calculation; notably account for wxDP_ALLOWNONE
[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
b5dbe15d 21class WXDLLIMPEXP_FWD_CORE wxSizer;
56d2f750 22
30dc3455 23class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler
56d2f750 24{
dd47af27
VZ
25 DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler)
26
eb8671f2
VS
27public:
28 wxSizerXmlHandler();
29 virtual wxObject *DoCreateResource();
30 virtual bool CanHandle(wxXmlNode *node);
31
32private:
33 bool m_isInside;
0d077b41 34 bool m_isGBS;
f80ea77b 35
eb8671f2 36 wxSizer *m_parentSizer;
ea89ec17 37
eb8671f2 38 bool IsSizerNode(wxXmlNode *node);
0d077b41
RD
39
40 wxObject* Handle_sizeritem();
41 wxObject* Handle_spacer();
42 wxObject* Handle_sizer();
43 wxSizer* Handle_wxBoxSizer();
627ddac9 44#if wxUSE_STATBOX
0d077b41 45 wxSizer* Handle_wxStaticBoxSizer();
627ddac9 46#endif
0d077b41
RD
47 wxSizer* Handle_wxGridSizer();
48 wxSizer* Handle_wxFlexGridSizer();
49 wxSizer* Handle_wxGridBagSizer();
13a38887 50 wxSizer* Handle_wxWrapSizer();
0d077b41
RD
51
52 void SetGrowables(wxFlexGridSizer* fsizer, const wxChar* param, bool rows);
53 wxGBPosition GetGBPos(const wxString& param);
54 wxGBSpan GetGBSpan(const wxString& param);
55 wxSizerItem* MakeSizerItem();
56 void SetSizerItemAttributes(wxSizerItem* sitem);
f80ea77b 57 void AddSizerItem(wxSizerItem* sitem);
56d2f750
VS
58};
59
dd47af27 60#if wxUSE_BUTTON
56d2f750 61
172541f6
VS
62class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler
63 : public wxXmlResourceHandler
64{
dd47af27
VZ
65 DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler)
66
172541f6
VS
67public:
68 wxStdDialogButtonSizerXmlHandler();
69 virtual wxObject *DoCreateResource();
70 virtual bool CanHandle(wxXmlNode *node);
71
72private:
73 bool m_isInside;
74 wxStdDialogButtonSizer *m_parentSizer;
172541f6
VS
75};
76
dd47af27
VZ
77#endif // wxUSE_BUTTON
78
79#endif // wxUSE_XRC
172541f6
VS
80
81#endif // _WX_XH_SIZER_H_