]> git.saurik.com Git - wxWidgets.git/blame - include/wx/xrc/xh_sizer.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[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
56d2f750
VS
6// Copyright: (c) 2000 Vaclav Slavik
7// Licence: wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef _WX_XH_SIZER_H_
11#define _WX_XH_SIZER_H_
12
999d9a9f 13#include "wx/xrc/xmlres.h"
dd47af27
VZ
14
15#if wxUSE_XRC
16
0d077b41
RD
17#include "wx/sizer.h"
18#include "wx/gbsizer.h"
56d2f750 19
30dc3455 20class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler
56d2f750 21{
dd47af27
VZ
22 DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler)
23
eb8671f2
VS
24public:
25 wxSizerXmlHandler();
26 virtual wxObject *DoCreateResource();
27 virtual bool CanHandle(wxXmlNode *node);
28
40730ad1
VZ
29protected:
30 virtual wxSizer* DoCreateSizer(const wxString& name);
31 virtual bool IsSizerNode(wxXmlNode *node) const;
32
eb8671f2
VS
33private:
34 bool m_isInside;
0d077b41 35 bool m_isGBS;
f80ea77b 36
eb8671f2 37 wxSizer *m_parentSizer;
ea89ec17 38
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 47 wxSizer* Handle_wxGridSizer();
5dd238c6 48 wxFlexGridSizer* Handle_wxFlexGridSizer();
1808bb47 49 wxGridBagSizer* Handle_wxGridBagSizer();
13a38887 50 wxSizer* Handle_wxWrapSizer();
0d077b41 51
afc0db8c 52 bool ValidateGridSizerChildren();
5a3eee0d 53 void SetFlexibleMode(wxFlexGridSizer* fsizer);
0d077b41
RD
54 void SetGrowables(wxFlexGridSizer* fsizer, const wxChar* param, bool rows);
55 wxGBPosition GetGBPos(const wxString& param);
56 wxGBSpan GetGBSpan(const wxString& param);
57 wxSizerItem* MakeSizerItem();
58 void SetSizerItemAttributes(wxSizerItem* sitem);
f80ea77b 59 void AddSizerItem(wxSizerItem* sitem);
56d2f750
VS
60};
61
dd47af27 62#if wxUSE_BUTTON
56d2f750 63
172541f6
VS
64class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler
65 : public wxXmlResourceHandler
66{
dd47af27
VZ
67 DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler)
68
172541f6
VS
69public:
70 wxStdDialogButtonSizerXmlHandler();
71 virtual wxObject *DoCreateResource();
72 virtual bool CanHandle(wxXmlNode *node);
73
74private:
75 bool m_isInside;
76 wxStdDialogButtonSizer *m_parentSizer;
172541f6
VS
77};
78
dd47af27
VZ
79#endif // wxUSE_BUTTON
80
81#endif // wxUSE_XRC
172541f6
VS
82
83#endif // _WX_XH_SIZER_H_