X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78c67cb6425acb3b93d48a7a14f554bcd32ed72a..6edd8829ef3d6f29a73590d99abb121942e77100:/include/wx/cocoa/NSWindow.h?ds=sidebyside

diff --git a/include/wx/cocoa/NSWindow.h b/include/wx/cocoa/NSWindow.h
index 927b80b70e..2a8e1a2e7a 100644
--- a/include/wx/cocoa/NSWindow.h
+++ b/include/wx/cocoa/NSWindow.h
@@ -4,9 +4,9 @@
 // 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_NSWINDOW_H__
@@ -17,19 +17,39 @@
 
 WX_DECLARE_OBJC_HASHMAP(NSWindow);
 
-class wxCocoaNSWindow
+class WXDLLIMPEXP_FWD_CORE wxMenuBar;
+class WXDLLIMPEXP_FWD_CORE wxTopLevelWindowCocoa;
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem);
+DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate);
+
+class WXDLLIMPEXP_CORE wxCocoaNSWindow
 {
 /* NSWindow is a rather special case and requires some extra attention */
     WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSWindow)
 public:
     void AssociateNSWindow(WX_NSWindow cocoaNSWindow);
     void DisassociateNSWindow(WX_NSWindow cocoaNSWindow);
-    virtual void Cocoa_close(void) = 0;
-    virtual bool Cocoa_windowShouldClose(void) = 0;
-    virtual void CocoaNotification_DidBecomeKey(void) { }
-    virtual void CocoaNotification_DidResignKey(void) { }
+    virtual bool Cocoa_canBecomeKeyWindow(bool &WXUNUSED(canBecome))
+    {   return false; }
+    virtual bool Cocoa_canBecomeMainWindow(bool &WXUNUSED(canBecome))
+    {   return false; }
+    virtual bool CocoaDelegate_windowShouldClose(void) = 0;
+    virtual void CocoaDelegate_windowWillClose(void) = 0;
+    virtual void CocoaDelegate_windowDidBecomeKey(void) { }
+    virtual void CocoaDelegate_windowDidResignKey(void) { }
+    virtual void CocoaDelegate_windowDidBecomeMain(void) { }
+    virtual void CocoaDelegate_windowDidResignMain(void) { }
+    virtual void CocoaDelegate_wxMenuItemAction(WX_NSMenuItem menuItem) = 0;
+    virtual bool CocoaDelegate_validateMenuItem(WX_NSMenuItem menuItem) = 0;
+    virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
+    inline wxTopLevelWindowCocoa* GetWxTopLevelWindowCocoa()
+    {   return m_wxTopLevelWindowCocoa; }
 protected:
-    static struct objc_object *sm_cocoaDelegate;
+    wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw = NULL);
+    virtual ~wxCocoaNSWindow();
+    WX_wxNSWindowDelegate m_cocoaDelegate;
+    wxTopLevelWindowCocoa *m_wxTopLevelWindowCocoa;
 };
 
 #endif // _WX_COCOA_NSWINDOW_H_