* Some new feature in wxObject*Stream (objects aren't duplicated)
[wxWidgets.git] / utils / serialize / serwnd.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: serwnd.h
3 // Purpose: Serialization: wxWindow classes
4 // Author: Guilhem Lavaux
5 // Modified by:
6 // Created: July 1998
7 // RCS-ID: $Id$
8 // Copyright: (c) 1998 Guilhem Lavaux
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _SERIALIZE_SERWND_H_
13 #define _SERIALIZE_SERWND_H_
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include <wx/window.h>
20 #include <wx/serbase.h>
21
22 class WXSERIAL(wxWindow) : public WXSERIAL(wxObject)
23 {
24 DECLARE_DYNAMIC_CLASS( wxWindow_Serialize )
25 public:
26 WXSERIAL(wxWindow)() { }
27 virtual ~WXSERIAL(wxWindow)() { };
28
29 void StoreObject(wxObjectOutputStream& s);
30 void LoadObject(wxObjectInputStream& s);
31
32 public:
33 int m_x, m_y, m_w, m_h;
34 bool m_shown, m_auto_layout;
35 wxWindowID m_id;
36 wxString m_name, m_title, m_label;
37 wxWindow *m_parent;
38 wxValidator *m_validator;
39 wxColour m_bg_colour, m_fg_colour;
40 long m_style;
41 };
42
43 DECLARE_SERIAL_CLASS(wxIndividualLayoutConstraint, wxObject)
44 DECLARE_SERIAL_CLASS(wxLayoutConstraints, wxObject)
45 DECLARE_ALIAS_SERIAL_CLASS(wxValidator, wxObject)
46 DECLARE_SERIAL_CLASS(wxFrame, wxWindow)
47 DECLARE_SERIAL_CLASS(wxPanel, wxWindow)
48 DECLARE_SERIAL_CLASS(wxDialog, wxWindow)
49 DECLARE_SERIAL_CLASS(wxMenuBar, wxWindow)
50 DECLARE_SERIAL_CLASS(wxMenuItem, wxObject)
51 DECLARE_SERIAL_CLASS(wxMenu, wxObject)
52 DECLARE_SERIAL_CLASS(wxMDIParentFrame, wxFrame)
53 DECLARE_SERIAL_CLASS(wxMDIChildFrame, wxFrame)
54 DECLARE_SERIAL_CLASS(wxMDIClientWindow, wxFrame)
55
56 #endif