X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..d642db66a5efc82d374b813022c72ba88bc50839:/include/wx/cocoa/frame.h?ds=sidebyside diff --git a/include/wx/cocoa/frame.h b/include/wx/cocoa/frame.h index 5c3a64c870..417f57080d 100644 --- a/include/wx/cocoa/frame.h +++ b/include/wx/cocoa/frame.h @@ -4,18 +4,18 @@ // Author: David Elliott // Modified by: // Created: 2003/03/16 -// RCS-ID: $Id: +// 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 WXDLLIMPEXP_FWD_CORE wxMenuBar; +class WXDLLIMPEXP_FWD_CORE wxStatusBar; -class WXDLLEXPORT wxFrame: public wxFrameBase +class WXDLLIMPEXP_CORE wxFrame: public wxFrameBase { DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxFrame) @@ -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 = wxSTB_DEFAULT_STYLE, + 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 = wxID_ANY, + 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_