]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cocoa/frame.h
several patches and extensions
[wxWidgets.git] / include / wx / cocoa / frame.h
CommitLineData
fb896a32
DE
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/cocoa/frame.h
3// Purpose: wxFrame class
4// Author: David Elliott
5// Modified by:
6// Created: 2003/03/16
7// RCS-ID: $Id:
8// Copyright: (c) 2003 David Elliott
9// Licence: wxWindows license
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_COCOA_FRAME_H_
13#define _WX_COCOA_FRAME_H_
14
15class WXDLLEXPORT wxMenuBar;
16class WXDLLEXPORT wxMenuItem;
a58a6614 17class WXDLLEXPORT wxStatusBar;
fb896a32
DE
18
19class WXDLLEXPORT wxFrame: public wxFrameBase
20{
21 DECLARE_EVENT_TABLE()
22 DECLARE_DYNAMIC_CLASS(wxFrame)
23// ------------------------------------------------------------------------
24// initialization
25// ------------------------------------------------------------------------
26public:
27 wxFrame() { Init(); }
28 wxFrame(wxWindow *parent,
29 wxWindowID winid,
30 const wxString& title,
31 const wxPoint& pos = wxDefaultPosition,
32 const wxSize& size = wxDefaultSize,
33 long style = wxDEFAULT_FRAME_STYLE,
34 const wxString& name = wxFrameNameStr)
35 {
36 Init();
37 Create(parent, winid, title, pos, size, style, name);
38 }
39
40 virtual ~wxFrame();
41
42 bool Create(wxWindow *parent,
43 wxWindowID winid,
44 const wxString& title,
45 const wxPoint& pos = wxDefaultPosition,
46 const wxSize& size = wxDefaultSize,
47 long style = wxDEFAULT_FRAME_STYLE,
48 const wxString& name = wxFrameNameStr);
49protected:
50 void Init();
51// ------------------------------------------------------------------------
52// Cocoa specifics
53// ------------------------------------------------------------------------
54protected:
55 virtual void Cocoa_wxMenuItemAction(wxMenuItem& item);
448cbf1d
DE
56
57 // Helper function to position status/tool bars
58 void UpdateFrameNSView();
59
60 virtual void CocoaReplaceView(WX_NSView oldView, WX_NSView newView);
61 // frameNSView is used whenever a statusbar/generic toolbar are present
62 WX_NSView m_frameNSView;
fb896a32
DE
63// ------------------------------------------------------------------------
64// Implementation
65// ------------------------------------------------------------------------
66public:
67 void AttachMenuBar(wxMenuBar *mbar);
68 void DetachMenuBar();
69
70 // implementation only from now on
71 // -------------------------------
72
73 // override some more virtuals
74 virtual bool Show( bool show = true );
75
76 // get the origin of the client area (which may be different from (0, 0)
77 // if the frame has a toolbar) in client coordinates
78 virtual wxPoint GetClientAreaOrigin() const;
a58a6614 79
448cbf1d
DE
80 // create the main status bar by calling OnCreateStatusBar()
81 virtual wxStatusBar* CreateStatusBar(int number = 1,
82 long style = wxST_SIZEGRIP,
83 wxWindowID winid = 0,
84 const wxString& name =
85 wxStatusLineNameStr);
86 // sets the main status bar
87 void SetStatusBar(wxStatusBar *statBar);
88 // create main toolbar bycalling OnCreateToolBar()
89 virtual wxToolBar* CreateToolBar(long style = -1,
90 wxWindowID winid = -1,
91 const wxString& name = wxToolBarNameStr);
92 // sets the main tool bar
93 virtual void SetToolBar(wxToolBar *toolbar);
a58a6614 94protected:
a58a6614
DE
95 void PositionStatusBar();
96 // override base class virtuals
97 virtual void DoGetClientSize(int *width, int *height) const;
98 virtual void DoSetClientSize(int width, int height);
fb896a32
DE
99};
100
101#endif // _WX_COCOA_FRAME_H_