X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..22a35096a0a9c3fe4d3d32b8d68a361126ef9677:/include/wx/cocoa/frame.h diff --git a/include/wx/cocoa/frame.h b/include/wx/cocoa/frame.h index 5c3a64c870..971e872e47 100644 --- a/include/wx/cocoa/frame.h +++ b/include/wx/cocoa/frame.h @@ -6,14 +6,14 @@ // Created: 2003/03/16 // RCS-ID: $Id: // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_COCOA_FRAME_H_ #define _WX_COCOA_FRAME_H_ class WXDLLEXPORT wxMenuBar; -class WXDLLEXPORT wxMenuItem; +class WXDLLEXPORT wxStatusBar; class WXDLLEXPORT wxFrame: public wxFrameBase { @@ -50,24 +50,58 @@ protected: // ------------------------------------------------------------------------ // Cocoa specifics // ------------------------------------------------------------------------ +public: + virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win); + // Returns the NSView for non-client drawing + virtual WX_NSView GetNonClientNSView(); + + // Helper function to position status/tool bars + // Also called by native toolbar to force a size update + void UpdateFrameNSView(); + + virtual void CocoaDelegate_wxMenuItemAction(WX_NSMenuItem menuItem); + virtual bool CocoaDelegate_validateMenuItem(WX_NSMenuItem menuItem); protected: - virtual void Cocoa_wxMenuItemAction(wxMenuItem& item); + virtual void CocoaSetWxWindowSize(int width, int height); + + virtual void CocoaReplaceView(WX_NSView oldView, WX_NSView newView); + // frameNSView is used whenever a statusbar/generic toolbar are present + WX_NSView m_frameNSView; // ------------------------------------------------------------------------ // Implementation // ------------------------------------------------------------------------ public: - void AttachMenuBar(wxMenuBar *mbar); - void DetachMenuBar(); + virtual void AttachMenuBar(wxMenuBar *mbar); + virtual void DetachMenuBar(); + virtual void SetMenuBar(wxMenuBar *menubar); // implementation only from now on // ------------------------------- // override some more virtuals - virtual bool Show( bool show = true ); // get the origin of the client area (which may be different from (0, 0) // if the frame has a toolbar) in client coordinates virtual wxPoint GetClientAreaOrigin() const; + + // create the main status bar by calling OnCreateStatusBar() + virtual wxStatusBar* CreateStatusBar(int number = 1, + long style = wxST_SIZEGRIP, + wxWindowID winid = 0, + const wxString& name = + wxStatusLineNameStr); + // sets the main status bar + void SetStatusBar(wxStatusBar *statBar); +#if wxUSE_TOOLBAR + // create main toolbar bycalling OnCreateToolBar() + virtual wxToolBar* CreateToolBar(long style = -1, + wxWindowID winid = -1, + const wxString& name = wxToolBarNameStr); + // sets the main tool bar + virtual void SetToolBar(wxToolBar *toolbar); +#endif //wxUSE_TOOLBAR +protected: + void PositionStatusBar(); }; #endif // _WX_COCOA_FRAME_H_