X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..eddb32504316bfc92624a2a9b7cc62fd4543face:/include/wx/cocoa/frame.h?ds=sidebyside diff --git a/include/wx/cocoa/frame.h b/include/wx/cocoa/frame.h index 5c3a64c870..5c479efc91 100644 --- a/include/wx/cocoa/frame.h +++ b/include/wx/cocoa/frame.h @@ -13,7 +13,7 @@ #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_