]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/NSWindow.h
glcanvas fix and toplevel event handler exposed
[wxWidgets.git] / include / wx / cocoa / NSWindow.h
index 3bf28f62e03dda5c3d84d20d6d1ee7ce26733732..65f702041b81afdf9f7611c3dc6d2cd2764f7eaa 100644 (file)
 WX_DECLARE_OBJC_HASHMAP(NSWindow);
 
 class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxTopLevelWindowCocoa;
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem);
+DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate);
 
 class wxCocoaNSWindow
 {
@@ -34,9 +38,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:
-    static struct objc_object *sm_cocoaDelegate;
+    wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw = NULL);
+    virtual ~wxCocoaNSWindow();
+    WX_wxNSWindowDelegate m_cocoaDelegate;
+    wxTopLevelWindowCocoa *m_wxTopLevelWindowCocoa;
 };
 
 #endif // _WX_COCOA_NSWINDOW_H_