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 36891 2006-01-16 14:59:55Z MR $ 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) wxFrameNameStr[]; 21WXDLLEXPORT_DATA(extern const wxChar) wxToolBarNameStr[]; 22 23class WXDLLEXPORT wxMenuBar; 24class WXDLLEXPORT wxStatusBar; 25class WXDLLEXPORT wxMacToolTip ; 26 27class WXDLLEXPORT wxFrame: public wxFrameBase 28{ 29public: 30 // construction 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 // implementation only from now on 56 // ------------------------------- 57 58 // override some more virtuals 59 virtual bool Enable(bool enable = TRUE) ; 60 61 // get the origin of the client area (which may be different from (0, 0) 62 // if the frame has a toolbar) in client coordinates 63 virtual wxPoint GetClientAreaOrigin() const; 64 65 // event handlers 66 void OnActivate(wxActivateEvent& event); 67 void OnSysColourChanged(wxSysColourChangedEvent& event); 68 69 // Toolbar 70#if wxUSE_TOOLBAR 71 virtual wxToolBar* CreateToolBar(long style = -1, 72 wxWindowID id = -1, 73 const wxString& name = wxToolBarNameStr); 74 75 virtual void PositionToolBar(); 76#endif // wxUSE_TOOLBAR 77 78 // Status bar 79#if wxUSE_STATUSBAR 80 virtual wxStatusBar* OnCreateStatusBar(int number = 1, 81 long style = wxST_SIZEGRIP, 82 wxWindowID id = 0, 83 const wxString& name = wxStatusLineNameStr); 84 85 virtual void PositionStatusBar(); 86#endif // wxUSE_STATUSBAR 87 88 // tooltip management 89#if wxUSE_TOOLTIPS 90 wxMacToolTip* GetToolTipCtrl() const { return m_hwndToolTip; } 91 void SetToolTipCtrl(wxMacToolTip *tt) { m_hwndToolTip = tt; } 92 wxMacToolTip* m_hwndToolTip ; 93#endif // tooltips 94 95 // called by wxWindow whenever it gets focus 96 void SetLastFocus(wxWindow *win) { m_winLastFocused = win; } 97 wxWindow *GetLastFocus() const { return m_winLastFocused; } 98 99protected: 100 // common part of all ctors 101 void Init(); 102 103 // override base class virtuals 104 virtual void DoGetClientSize(int *width, int *height) const; 105 virtual void DoSetClientSize(int width, int height); 106 107 virtual void DetachMenuBar(); 108 virtual void AttachMenuBar(wxMenuBar *menubar); 109 110protected: 111 // the last focused child: we restore focus to it on activation 112 wxWindow *m_winLastFocused; 113 114private: 115 DECLARE_EVENT_TABLE() 116 DECLARE_DYNAMIC_CLASS(wxFrame) 117}; 118 119#endif 120 // _WX_FRAME_H_ 121