]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk1/frame.h
ec5261621e5150802c0c573f8e5a4d87ec9ca20a
[wxWidgets.git] / include / wx / gtk1 / frame.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/frame.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling, Julian Smart
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10
11 #ifndef __GTKFRAMEH__
12 #define __GTKFRAMEH__
13
14 #ifdef __GNUG__
15 #pragma interface "frame.h"
16 #endif
17
18 //-----------------------------------------------------------------------------
19 // classes
20 //-----------------------------------------------------------------------------
21
22 class wxMDIChildFrame;
23 class wxMDIClientWindow;
24 class wxMenu;
25 class wxMenuBar;
26 class wxToolBar;
27 class wxStatusBar;
28
29 //-----------------------------------------------------------------------------
30 // wxFrameGTK
31 //-----------------------------------------------------------------------------
32
33 class wxFrameGTK : public wxFrameBase
34 {
35 public:
36 // construction
37 wxFrameGTK() { Init(); }
38 wxFrameGTK(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 Init();
47
48 Create(parent, id, title, pos, size, style, name);
49 }
50
51 bool Create(wxWindow *parent,
52 wxWindowID id,
53 const wxString& title,
54 const wxPoint& pos = wxDefaultPosition,
55 const wxSize& size = wxDefaultSize,
56 long style = wxDEFAULT_FRAME_STYLE,
57 const wxString& name = wxFrameNameStr);
58
59 virtual ~wxFrameGTK();
60
61 #if wxUSE_STATUSBAR
62 virtual void PositionStatusBar();
63
64 virtual wxStatusBar* CreateStatusBar(int number = 1,
65 long style = wxST_SIZEGRIP,
66 wxWindowID id = 0,
67 const wxString& name = wxStatusLineNameStr);
68 #endif // wxUSE_STATUSBAR
69
70 #if wxUSE_TOOLBAR
71 virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
72 wxWindowID id = -1,
73 const wxString& name = wxToolBarNameStr);
74 void SetToolBar(wxToolBar *toolbar);
75 #endif // wxUSE_TOOLBAR
76
77 // implementation from now on
78 // --------------------------
79
80 // GTK callbacks
81 virtual void GtkOnSize( int x, int y, int width, int height );
82 virtual void OnInternalIdle();
83
84 bool m_menuBarDetached;
85 bool m_toolBarDetached;
86
87 protected:
88 // common part of all ctors
89 void Init();
90
91 // override wxWindow methods to take into account tool/menu/statusbars
92 virtual void DoSetClientSize(int width, int height);
93 virtual void DoGetClientSize( int *width, int *height ) const;
94
95 #if wxUSE_MENUS_NATIVE
96 virtual void DetachMenuBar();
97 virtual void AttachMenuBar(wxMenuBar *menubar);
98 #endif // wxUSE_MENUS_NATIVE
99 };
100
101 #endif // __GTKFRAMEH__