#define __WX_COCOA_NSWINDOW_H__
#include "wx/hashmap.h"
-#include "wx/cocoa/ObjcPose.h"
+#include "wx/cocoa/ObjcAssociate.h"
WX_DECLARE_OBJC_HASHMAP(NSWindow);
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) { }
+protected:
+ static struct objc_object *sm_cocoaDelegate;
};
#endif // _WX_COCOA_NSWINDOW_H_