]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/xrc/xh_sizer.h
we need our own imaglist implementation because in wxmac wxIcon does not inherit...
[wxWidgets.git] / include / wx / xrc / xh_sizer.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: 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#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
15#pragma interface "xh_sizer.h"
16#endif
17
18#include "wx/xrc/xmlres.h"
19#include "wx/sizer.h"
20#include "wx/gbsizer.h"
21
22
23class WXDLLEXPORT wxSizer;
24
25class WXDLLIMPEXP_XRC wxSizerXmlHandler : public wxXmlResourceHandler
26{
27DECLARE_DYNAMIC_CLASS(wxSizerXmlHandler)
28public:
29 wxSizerXmlHandler();
30 virtual wxObject *DoCreateResource();
31 virtual bool CanHandle(wxXmlNode *node);
32
33private:
34 bool m_isInside;
35 bool m_isGBS;
36
37 wxSizer *m_parentSizer;
38
39 bool IsSizerNode(wxXmlNode *node);
40
41 wxObject* Handle_sizeritem();
42 wxObject* Handle_spacer();
43 wxObject* Handle_sizer();
44 wxSizer* Handle_wxBoxSizer();
45 wxSizer* Handle_wxStaticBoxSizer();
46 wxSizer* Handle_wxGridSizer();
47 wxSizer* Handle_wxFlexGridSizer();
48 wxSizer* Handle_wxGridBagSizer();
49
50 void SetGrowables(wxFlexGridSizer* fsizer, const wxChar* param, bool rows);
51 wxGBPosition GetGBPos(const wxString& param);
52 wxGBSpan GetGBSpan(const wxString& param);
53 wxSizerItem* MakeSizerItem();
54 void SetSizerItemAttributes(wxSizerItem* sitem);
55 void AddSizerItem(wxSizerItem* sitem);
56};
57
58
59class WXDLLIMPEXP_XRC wxStdDialogButtonSizerXmlHandler
60 : public wxXmlResourceHandler
61{
62public:
63 wxStdDialogButtonSizerXmlHandler();
64 virtual wxObject *DoCreateResource();
65 virtual bool CanHandle(wxXmlNode *node);
66
67private:
68 bool m_isInside;
69 wxStdDialogButtonSizer *m_parentSizer;
70
71 DECLARE_DYNAMIC_CLASS(wxStdDialogButtonSizerXmlHandler)
72};
73
74
75#endif // _WX_XH_SIZER_H_