Merged 47988 from trunk:

Add Objective-C uniquifying to WXNSWindow and WXNSPanel
Copyright 2007 Software 2000 Ltd.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@47989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott
2007-08-09 18:17:18 +00:00
parent 7d36c568e1
commit 3a26d6e324
3 changed files with 8 additions and 2 deletions

View File

@@ -12,6 +12,8 @@
#import <AppKit/NSWindow.h> #import <AppKit/NSWindow.h>
#import <AppKit/NSPanel.h> #import <AppKit/NSPanel.h>
#include "wx/cocoa/objc/objc_uniquifying.h"
// ============================================================================ // ============================================================================
// @class WXNSWindow // @class WXNSWindow
// ============================================================================ // ============================================================================
@@ -22,6 +24,7 @@
- (BOOL)canBecomeKeyWindow; - (BOOL)canBecomeKeyWindow;
- (BOOL)canBecomeMainWindow; - (BOOL)canBecomeMainWindow;
@end // WXNSWindow @end // WXNSWindow
WX_DECLARE_GET_OBJC_CLASS(WXNSWindow,NSWindow)
// ============================================================================ // ============================================================================
// @class WXNSPanel // @class WXNSPanel
@@ -33,4 +36,5 @@
- (BOOL)canBecomeKeyWindow; - (BOOL)canBecomeKeyWindow;
- (BOOL)canBecomeMainWindow; - (BOOL)canBecomeMainWindow;
@end // WXNSPanel @end // WXNSPanel
WX_DECLARE_GET_OBJC_CLASS(WXNSPanel,NSPanel)

View File

@@ -209,6 +209,7 @@ wxMenuBar* wxCocoaNSWindow::GetAppMenuBar(wxCocoaNSWindow *win)
} }
@end // implementation WXNSWindow @end // implementation WXNSWindow
WX_IMPLEMENT_GET_OBJC_CLASS(WXNSWindow,NSWindow)
// ============================================================================ // ============================================================================
// @class WXNSPanel // @class WXNSPanel
@@ -234,3 +235,4 @@ wxMenuBar* wxCocoaNSWindow::GetAppMenuBar(wxCocoaNSWindow *win)
} }
@end // implementation WXNSPanel @end // implementation WXNSPanel
WX_IMPLEMENT_GET_OBJC_CLASS(WXNSPanel,NSPanel)

View File

@@ -138,9 +138,9 @@ bool wxTopLevelWindowCocoa::Create(wxWindow *parent,
NSWindow *newWindow; NSWindow *newWindow;
// Create a WXNSPanel or a WXNSWindow depending on what type of window is desired. // Create a WXNSPanel or a WXNSWindow depending on what type of window is desired.
if(style & wxFRAME_TOOL_WINDOW) if(style & wxFRAME_TOOL_WINDOW)
newWindow = [[WXNSPanel alloc] initWithContentRect:cocoaRect styleMask:cocoaStyle backing:NSBackingStoreBuffered defer:NO]; newWindow = [[WX_GET_OBJC_CLASS(WXNSPanel) alloc] initWithContentRect:cocoaRect styleMask:cocoaStyle backing:NSBackingStoreBuffered defer:NO];
else else
newWindow = [[WXNSWindow alloc] initWithContentRect:cocoaRect styleMask:cocoaStyle backing:NSBackingStoreBuffered defer:NO]; newWindow = [[WX_GET_OBJC_CLASS(WXNSWindow) alloc] initWithContentRect:cocoaRect styleMask:cocoaStyle backing:NSBackingStoreBuffered defer:NO];
// Make sure the default content view is a WXNSView // Make sure the default content view is a WXNSView
[newWindow setContentView: [[WX_GET_OBJC_CLASS(WXNSView) alloc] initWithFrame: [[newWindow contentView] frame]]]; [newWindow setContentView: [[WX_GET_OBJC_CLASS(WXNSView) alloc] initWithFrame: [[newWindow contentView] frame]]];
// Associate the window and view // Associate the window and view