]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/NSWindow.h
create wxPrintData instance on demand
[wxWidgets.git] / include / wx / cocoa / NSWindow.h
index 06d7aebf6c78171f0834da116e265630cfa49d6e..0b2491e70cb8b01e31c8711b9efc780979d3b335 100644 (file)
 
 WX_DECLARE_OBJC_HASHMAP(NSWindow);
 
+class WXDLLEXPORT wxMenuBar;
+
+DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate);
+
 class wxCocoaNSWindow
 {
 /* NSWindow is a rather special case and requires some extra attention */
@@ -24,16 +28,21 @@ class wxCocoaNSWindow
 public:
     void AssociateNSWindow(WX_NSWindow cocoaNSWindow);
     void DisassociateNSWindow(WX_NSWindow cocoaNSWindow);
-    virtual void Cocoa_close(void) = 0;
     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(struct objc_object *sender) = 0;
+    virtual bool CocoaDelegate_validateMenuItem(struct objc_object *sender) = 0;
+    virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
 protected:
-    static struct objc_object *sm_cocoaDelegate;
+    wxCocoaNSWindow();
+    virtual ~wxCocoaNSWindow();
+    WX_wxNSWindowDelegate m_cocoaDelegate;
 };
 
 #endif // _WX_COCOA_NSWINDOW_H_