// Created: 2003/03/16
// RCS-ID: $Id$
// Copyright: (c) 2003 David Elliott
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
#include "wx/menuitem.h"
#endif // WX_PRECOMP
-#include "wx/cocoa/ObjcPose.h"
#include "wx/cocoa/NSWindow.h"
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
#import <Foundation/NSNotification.h>
#import <Foundation/NSString.h>
#include "wx/cocoa/objc/NSWindow.h"
- (void)wxMenuItemAction: (NSMenuItem *)menuItem;
- (BOOL)validateMenuItem: (NSMenuItem *)menuItem;
@end //interface wxNSWindowDelegate
+WX_DECLARE_GET_OBJC_CLASS(wxNSWindowDelegate,NSObject)
@implementation wxNSWindowDelegate : NSObject
}
@end //implementation wxNSWindowDelegate
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSWindowDelegate,NSObject)
// ============================================================================
// class wxCocoaNSWindow
wxCocoaNSWindow::wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw)
: m_wxTopLevelWindowCocoa(tlw)
{
- m_cocoaDelegate = [[wxNSWindowDelegate alloc] init];
+ m_cocoaDelegate = [[WX_GET_OBJC_CLASS(wxNSWindowDelegate) alloc] init];
[m_cocoaDelegate setWxCocoaInterface: this];
}
}
// ============================================================================
-// @class wxPoserNSWindow
+// @class WXNSWindow
+// ============================================================================
+@implementation WXNSWindow : NSWindow
+
+- (BOOL)canBecomeKeyWindow
+{
+ bool canBecome = false;
+ wxCocoaNSWindow *tlw = wxCocoaNSWindow::GetFromCocoa(self);
+ if(!tlw || !tlw->Cocoa_canBecomeKeyWindow(canBecome))
+ canBecome = [super canBecomeKeyWindow];
+ return canBecome;
+}
+
+- (BOOL)canBecomeMainWindow
+{
+ bool canBecome = false;
+ wxCocoaNSWindow *tlw = wxCocoaNSWindow::GetFromCocoa(self);
+ if(!tlw || !tlw->Cocoa_canBecomeMainWindow(canBecome))
+ canBecome = [super canBecomeMainWindow];
+ return canBecome;
+}
+
+@end // implementation WXNSWindow
+WX_IMPLEMENT_GET_OBJC_CLASS(WXNSWindow,NSWindow)
+
+// ============================================================================
+// @class WXNSPanel
// ============================================================================
-WX_IMPLEMENT_POSER(wxPoserNSWindow);
-@implementation wxPoserNSWindow : NSWindow
+@implementation WXNSPanel : NSPanel
- (BOOL)canBecomeKeyWindow
{
return canBecome;
}
-@end // implementation wxPoserNSWindow
+@end // implementation WXNSPanel
+WX_IMPLEMENT_GET_OBJC_CLASS(WXNSPanel,NSPanel)