X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e668651137922bee36b5773d638aa696e78854d1..21f60945831a6edad0f2101b6053a2c8213d5296:/include/wx/cocoa/NSWindow.h diff --git a/include/wx/cocoa/NSWindow.h b/include/wx/cocoa/NSWindow.h index 15a0ac7996..3bf28f62e0 100644 --- a/include/wx/cocoa/NSWindow.h +++ b/include/wx/cocoa/NSWindow.h @@ -17,19 +17,26 @@ WX_DECLARE_OBJC_HASHMAP(NSWindow); +class WXDLLEXPORT wxMenuBar; + class wxCocoaNSWindow { /* NSWindow is a rather special case and requires some extra attention */ WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSWindow) public: void AssociateNSWindow(WX_NSWindow cocoaNSWindow); - inline void DisassociateNSWindow(WX_NSWindow cocoaNSWindow) - { - sm_cocoaHash.erase(cocoaNSWindow); - } - virtual void Cocoa_close(void) = 0; - virtual bool Cocoa_windowShouldClose(void) = 0; - virtual void Cocoa_wxMenuItemAction(wxMenuItem& item) = 0; + void DisassociateNSWindow(WX_NSWindow cocoaNSWindow); + 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 wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win); +protected: + static struct objc_object *sm_cocoaDelegate; }; #endif // _WX_COCOA_NSWINDOW_H_