added OnSysColourChanged() (modified patch 1103439)
[wxWidgets.git] / include / wx / univ / frame.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/univ/frame.h
3 // Purpose: wxFrame class for wxUniversal
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 19.05.01
7 // RCS-ID: $Id$
8 // Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_UNIV_FRAME_H_
13 #define _WX_UNIV_FRAME_H_
14
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "univframe.h"
17 #endif
18
19 // ----------------------------------------------------------------------------
20 // wxFrame
21 // ----------------------------------------------------------------------------
22
23 class WXDLLEXPORT wxFrame : public wxFrameBase
24 {
25 public:
26 wxFrame() {}
27 wxFrame(wxWindow *parent,
28 wxWindowID id,
29 const wxString& title,
30 const wxPoint& pos = wxDefaultPosition,
31 const wxSize& size = wxDefaultSize,
32 long style = wxDEFAULT_FRAME_STYLE,
33 const wxString& name = wxFrameNameStr)
34 {
35 Create(parent, id, title, pos, size, style, name);
36 }
37
38 bool Create(wxWindow *parent,
39 wxWindowID id,
40 const wxString& title,
41 const wxPoint& pos = wxDefaultPosition,
42 const wxSize& size = wxDefaultSize,
43 long style = wxDEFAULT_FRAME_STYLE,
44 const wxString& name = wxFrameNameStr);
45
46 virtual wxPoint GetClientAreaOrigin() const;
47 virtual bool Enable(bool enable = true);
48
49 #if wxUSE_STATUSBAR
50 virtual wxStatusBar* CreateStatusBar(int number = 1,
51 long style = wxST_SIZEGRIP,
52 wxWindowID id = 0,
53 const wxString& name = wxStatusLineNameStr);
54 #endif // wxUSE_STATUSBAR
55
56 #if wxUSE_TOOLBAR
57 // create main toolbar bycalling OnCreateToolBar()
58 virtual wxToolBar* CreateToolBar(long style = -1,
59 wxWindowID id = wxID_ANY,
60 const wxString& name = wxToolBarNameStr);
61 virtual void PositionToolBar();
62 #endif // wxUSE_TOOLBAR
63
64 virtual int GetMinWidth() const;
65 virtual int GetMinHeight() const;
66
67 // sends wxSizeEvent to itself (used after attaching xxxBar)
68 virtual void SendSizeEvent();
69
70 protected:
71 void OnSize(wxSizeEvent& event);
72 void OnSysColourChanged(wxSysColourChangedEvent& event);
73
74 virtual void DoGetClientSize(int *width, int *height) const;
75 virtual void DoSetClientSize(int width, int height);
76
77 #if wxUSE_MENUS
78 // override to update menu bar position when the frame size changes
79 virtual void PositionMenuBar();
80 virtual void DetachMenuBar();
81 virtual void AttachMenuBar(wxMenuBar *menubar);
82 #endif // wxUSE_MENUS
83
84 #if wxUSE_STATUSBAR
85 // override to update statusbar position when the frame size changes
86 virtual void PositionStatusBar();
87 #endif // wxUSE_MENUS
88
89 DECLARE_EVENT_TABLE()
90 DECLARE_DYNAMIC_CLASS(wxFrame)
91 };
92
93 #endif // _WX_UNIV_FRAME_H_