X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2fc2d511d0f095ab5de3713cff6042832f886d15..ced55544160feffbf02445e73ce4693285940c0a:/include/wx/cocoa/NSWindow.h diff --git a/include/wx/cocoa/NSWindow.h b/include/wx/cocoa/NSWindow.h index f67430f868..761b28ee08 100644 --- a/include/wx/cocoa/NSWindow.h +++ b/include/wx/cocoa/NSWindow.h @@ -17,6 +17,11 @@ WX_DECLARE_OBJC_HASHMAP(NSWindow); +class WXDLLEXPORT wxMenuBar; + +DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem); +DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate); + class wxCocoaNSWindow { /* NSWindow is a rather special case and requires some extra attention */ @@ -24,12 +29,21 @@ class wxCocoaNSWindow 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_canBecomeMainWindow(bool &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); protected: - static void *sm_cocoaObserver; + wxCocoaNSWindow(); + virtual ~wxCocoaNSWindow(); + WX_wxNSWindowDelegate m_cocoaDelegate; }; #endif // _WX_COCOA_NSWINDOW_H_