X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c6f73d05ccfcb08fc5d245ba49b73d8e0cd43d4d..613de0e89efab1cbf8463ea06e0cf0b2914fbce9:/include/wx/cocoa/NSWindow.h diff --git a/include/wx/cocoa/NSWindow.h b/include/wx/cocoa/NSWindow.h index 808656f442..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,18 +17,22 @@ WX_DECLARE_OBJC_HASHMAP(NSWindow); -class WXDLLEXPORT wxMenuBar; +class WXDLLIMPEXP_FWD_CORE wxMenuBar; +class WXDLLIMPEXP_FWD_CORE wxTopLevelWindowCocoa; +DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem); DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate); -class wxCocoaNSWindow +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 bool Cocoa_canBecomeMainWindow(bool &canBecome) + 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; @@ -36,11 +40,16 @@ public: 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: - wxCocoaNSWindow(); + wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw = NULL); virtual ~wxCocoaNSWindow(); WX_wxNSWindowDelegate m_cocoaDelegate; + wxTopLevelWindowCocoa *m_wxTopLevelWindowCocoa; }; #endif // _WX_COCOA_NSWINDOW_H_