1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/gtk1/frame.h 3 // Purpose: 4 // Author: Robert Roebling 5 // Copyright: (c) 1998 Robert Roebling, Julian Smart 6 // Licence: wxWindows licence 7 ///////////////////////////////////////////////////////////////////////////// 8 9 #ifndef __GTKFRAMEH__ 10 #define __GTKFRAMEH__ 11 12 //----------------------------------------------------------------------------- 13 // classes 14 //----------------------------------------------------------------------------- 15 16 class WXDLLIMPEXP_FWD_CORE wxMDIChildFrame; 17 class WXDLLIMPEXP_FWD_CORE wxMDIClientWindow; 18 class WXDLLIMPEXP_FWD_CORE wxMenu; 19 class WXDLLIMPEXP_FWD_CORE wxMenuBar; 20 class WXDLLIMPEXP_FWD_CORE wxToolBar; 21 class WXDLLIMPEXP_FWD_CORE wxStatusBar; 22 23 //----------------------------------------------------------------------------- 24 // wxFrame 25 //----------------------------------------------------------------------------- 26 27 class WXDLLIMPEXP_CORE wxFrame : public wxFrameBase 28 { 29 public: 30 // construction wxFrame()31 wxFrame() { Init(); } 32 wxFrame(wxWindow *parent, 33 wxWindowID id, 34 const wxString& title, 35 const wxPoint& pos = wxDefaultPosition, 36 const wxSize& size = wxDefaultSize, 37 long style = wxDEFAULT_FRAME_STYLE, 38 const wxString& name = wxFrameNameStr) 39 { 40 Init(); 41 42 Create(parent, id, title, pos, size, style, name); 43 } 44 45 bool Create(wxWindow *parent, 46 wxWindowID id, 47 const wxString& title, 48 const wxPoint& pos = wxDefaultPosition, 49 const wxSize& size = wxDefaultSize, 50 long style = wxDEFAULT_FRAME_STYLE, 51 const wxString& name = wxFrameNameStr); 52 53 virtual ~wxFrame(); 54 55 #if wxUSE_STATUSBAR 56 virtual void PositionStatusBar(); 57 58 virtual wxStatusBar* CreateStatusBar(int number = 1, 59 long style = wxSTB_DEFAULT_STYLE, 60 wxWindowID id = 0, 61 const wxString& name = wxStatusLineNameStr); 62 63 void SetStatusBar(wxStatusBar *statbar); 64 #endif // wxUSE_STATUSBAR 65 66 #if wxUSE_TOOLBAR 67 virtual wxToolBar* CreateToolBar(long style = -1, 68 wxWindowID id = -1, 69 const wxString& name = wxToolBarNameStr); 70 void SetToolBar(wxToolBar *toolbar); 71 #endif // wxUSE_TOOLBAR 72 GetClientAreaOrigin()73 wxPoint GetClientAreaOrigin() const { return wxPoint(0, 0); } 74 75 // implementation from now on 76 // -------------------------- 77 78 // GTK callbacks 79 virtual void GtkOnSize( int x, int y, int width, int height ); 80 virtual void OnInternalIdle(); 81 82 bool m_menuBarDetached; 83 int m_menuBarHeight; 84 bool m_toolBarDetached; 85 86 protected: 87 // common part of all ctors 88 void Init(); 89 90 // override wxWindow methods to take into account tool/menu/statusbars 91 virtual void DoSetClientSize(int width, int height); 92 virtual void DoGetClientSize( int *width, int *height ) const; 93 94 #if wxUSE_MENUS_NATIVE 95 96 virtual void DetachMenuBar(); 97 virtual void AttachMenuBar(wxMenuBar *menubar); 98 99 public: 100 // Menu size is dynamic now, call this whenever it might change. 101 void UpdateMenuBarSize(); 102 103 #endif // wxUSE_MENUS_NATIVE 104 105 DECLARE_DYNAMIC_CLASS(wxFrame) 106 }; 107 108 #endif // __GTKFRAMEH__ 109