1///////////////////////////////////////////////////////////////////////////// 2// Name: frame.h 3// Purpose: wxFrame class 4// Author: Stefan Csomor 5// Modified by: 6// Created: 1998-01-01 7// RCS-ID: $Id: frame.h 41228 2006-09-14 19:37:19Z SC $ 8// Copyright: (c) Stefan Csomor 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_FRAME_H_ 13#define _WX_FRAME_H_ 14 15#include "wx/window.h" 16#include "wx/toolbar.h" 17#include "wx/accel.h" 18#include "wx/icon.h" 19 20WXDLLEXPORT_DATA(extern const wxChar) wxToolBarNameStr[]; 21 22class WXDLLEXPORT wxMenuBar; 23class WXDLLEXPORT wxStatusBar; 24class WXDLLEXPORT wxMacToolTip ; 25 26class WXDLLEXPORT wxFrame: public wxFrameBase 27{ 28public: 29 // construction 30 wxFrame() { Init(); } 31 wxFrame(wxWindow *parent, 32 wxWindowID id, 33 const wxString& title, 34 const wxPoint& pos = wxDefaultPosition, 35 const wxSize& size = wxDefaultSize, 36 long style = wxDEFAULT_FRAME_STYLE, 37 const wxString& name = wxFrameNameStr) 38 { 39 Init(); 40 41 Create(parent, id, title, pos, size, style, name); 42 } 43 44 bool Create(wxWindow *parent, 45 wxWindowID id, 46 const wxString& title, 47 const wxPoint& pos = wxDefaultPosition, 48 const wxSize& size = wxDefaultSize, 49 long style = wxDEFAULT_FRAME_STYLE, 50 const wxString& name = wxFrameNameStr); 51 52 virtual ~wxFrame(); 53 54 // implementation only from now on 55 // ------------------------------- 56 57 // get the origin of the client area (which may be different from (0, 0) 58 // if the frame has a toolbar) in client coordinates 59 virtual wxPoint GetClientAreaOrigin() const; 60 61 // override some more virtuals 62 virtual bool Enable(bool enable = TRUE) ; 63 64 // event handlers 65 void OnActivate(wxActivateEvent& event); 66 void OnSysColourChanged(wxSysColourChangedEvent& event); 67 68 // Toolbar 69#if wxUSE_TOOLBAR 70 virtual wxToolBar* CreateToolBar(long style = -1, 71 wxWindowID id = -1, 72 const wxString& name = wxToolBarNameStr); 73 74 virtual void SetToolBar(wxToolBar *toolbar); 75#endif // wxUSE_TOOLBAR 76 77 // Status bar 78#if wxUSE_STATUSBAR 79 virtual wxStatusBar* OnCreateStatusBar(int number = 1, 80 long style = wxST_SIZEGRIP, 81 wxWindowID id = 0, 82 const wxString& name = wxStatusLineNameStr); 83#endif // wxUSE_STATUSBAR 84 85 // called by wxWindow whenever it gets focus 86 void SetLastFocus(wxWindow *win) { m_winLastFocused = win; } 87 wxWindow *GetLastFocus() const { return m_winLastFocused; } 88 89 void PositionBars(); 90 91protected: 92 // common part of all ctors 93 void Init(); 94 95#if wxUSE_TOOLBAR 96 virtual void PositionToolBar(); 97#endif 98#if wxUSE_STATUSBAR 99 virtual void PositionStatusBar(); 100#endif 101 102 // override base class virtuals 103 virtual void DoGetClientSize(int *width, int *height) const; 104 virtual void DoSetClientSize(int width, int height); 105 106 virtual void DetachMenuBar(); 107 virtual void AttachMenuBar(wxMenuBar *menubar); 108 109protected: 110 // the last focused child: we restore focus to it on activation 111 wxWindow *m_winLastFocused; 112 113 virtual bool MacIsChildOfClientArea( const wxWindow* child ) const ; 114 115private: 116 DECLARE_EVENT_TABLE() 117 DECLARE_DYNAMIC_CLASS(wxFrame) 118}; 119 120#endif 121 // _WX_FRAME_H_ 122