DEBUGREPORT
[wxWidgets.git] / include / wx / cocoa / frame.h
index 5c3a64c8706d1b2247bf9b9e7d0b6ef4492ddf68..971e872e47056746b3255c99a91dce134e701ce9 100644 (file)
@@ -6,14 +6,14 @@
 // 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 
 {
@@ -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_