]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/frame.h
Use wxObjcAutoRefFromAlloc for sm_cocoaTarget.
[wxWidgets.git] / include / wx / cocoa / frame.h
index d20f4ed16f111f5f2c728cb34ed7b7a0d506fe28..971e872e47056746b3255c99a91dce134e701ce9 100644 (file)
@@ -6,14 +6,13 @@
 // 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 
@@ -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_