X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a58a6614646ea85d5cceb26f88e61a4a5a460149..2a45803fc3877afd0ae3ce356dfe216505165882:/include/wx/cocoa/frame.h diff --git a/include/wx/cocoa/frame.h b/include/wx/cocoa/frame.h index d20f4ed16f..417f57080d 100644 --- a/include/wx/cocoa/frame.h +++ b/include/wx/cocoa/frame.h @@ -4,19 +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 WXDLLEXPORT wxStatusBar; +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) @@ -51,32 +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: - // Catch the Cocoa size event - virtual void Cocoa_FrameChanged(void); void PositionStatusBar(); - // override base class virtuals - virtual void DoGetClientSize(int *width, int *height) const; - virtual void DoSetClientSize(int width, int height); }; #endif // _WX_COCOA_FRAME_H_