X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a58a6614646ea85d5cceb26f88e61a4a5a460149..f194560ed883138350643eb556f766814c409afc:/include/wx/cocoa/frame.h

diff --git a/include/wx/cocoa/frame.h b/include/wx/cocoa/frame.h
index d20f4ed16f..5c479efc91 100644
--- a/include/wx/cocoa/frame.h
+++ b/include/wx/cocoa/frame.h
@@ -13,7 +13,6 @@
 #define _WX_COCOA_FRAME_H_
 
 class WXDLLEXPORT wxMenuBar;
-class WXDLLEXPORT wxMenuItem;
 class WXDLLEXPORT wxStatusBar;
 
 class WXDLLEXPORT wxFrame: public wxFrameBase 
@@ -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 = 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:
-    // 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_