WX_DECLARE_OBJC_HASHMAP(NSWindow);
class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxTopLevelWindowCocoa;
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem);
+DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate);
class wxCocoaNSWindow
{
virtual void CocoaDelegate_windowDidResignKey(void) { }
virtual void CocoaDelegate_windowDidBecomeMain(void) { }
virtual void CocoaDelegate_windowDidResignMain(void) { }
- virtual wxMenuBar* GetAppMenuBar();
+ 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_