]> git.saurik.com Git - wxWidgets.git/commitdiff
Add support for uniquifying to all wxCocoa Objective-C classes.
authorDavid Elliott <dfe@tgwbd.org>
Wed, 15 Aug 2007 16:10:19 +0000 (16:10 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Wed, 15 Aug 2007 16:10:19 +0000 (16:10 +0000)
Patch from Mark Taylor.
Copyright 2007 Software 2000 Ltd.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

17 files changed:
include/wx/cocoa/NSTableDataSource.h
include/wx/cocoa/objc/NSMenu.h
src/cocoa/NSMenu.mm
src/cocoa/NSScroller.mm
src/cocoa/NSTabView.mm
src/cocoa/NSTableView.mm
src/cocoa/NSWindow.mm
src/cocoa/combobox.mm
src/cocoa/listbox.mm
src/cocoa/mbarman.mm
src/cocoa/mdi.mm
src/cocoa/menu.mm
src/cocoa/menuitem.mm
src/cocoa/notebook.mm
src/cocoa/sound.mm
src/cocoa/timer.mm
src/cocoa/utilsexc.mm

index c9c687fe1ecb2b213b20d5c8a6a6f8d93caaeef6..754b859197b15e32b04e83e2319be44461346ea8 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef __WX_COCOA_NSTABLEDATASOURCE_H__
 #define __WX_COCOA_NSTABLEDATASOURCE_H__
 
 #ifndef __WX_COCOA_NSTABLEDATASOURCE_H__
 #define __WX_COCOA_NSTABLEDATASOURCE_H__
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #import <Foundation/NSObject.h>
 
 // ============================================================================
 #import <Foundation/NSObject.h>
 
 // ============================================================================
@@ -28,5 +30,6 @@
     objectValueForTableColumn: (NSTableColumn *)tableColumn
     row: (int)rowIndex;
 @end // wxCocoaNSTableDataSource
     objectValueForTableColumn: (NSTableColumn *)tableColumn
     row: (int)rowIndex;
 @end // wxCocoaNSTableDataSource
+WX_DECLARE_GET_OBJC_CLASS(wxCocoaNSTableDataSource,NSObject)
 
 #endif // _WX_COCOA_NSTABLEDATASOURCE_H_
 
 #endif // _WX_COCOA_NSTABLEDATASOURCE_H_
index f9211ddfb022b12b5b7fe09378239f9d2570da7b..10807c2db78a5fa10bbe5bac7f05122e3f2e3e69 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef __WX_COCOA_OBJC_NSMENU_H__
 #define __WX_COCOA_OBJC_NSMENU_H__
 
 #ifndef __WX_COCOA_OBJC_NSMENU_H__
 #define __WX_COCOA_OBJC_NSMENU_H__
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #import <AppKit/NSMenu.h>
 
 // ============================================================================
 #import <AppKit/NSMenu.h>
 
 // ============================================================================
@@ -24,5 +26,6 @@
 - (void)dealloc;
 
 @end // WXNSMenu
 - (void)dealloc;
 
 @end // WXNSMenu
+WX_DECLARE_GET_OBJC_CLASS(WXNSMenu,NSMenu)
 
 #endif //ndef __WX_COCOA_OBJC_NSMENU_H__
 
 #endif //ndef __WX_COCOA_OBJC_NSMENU_H__
index 819cc1f136cb21e2d4308bc6d8ccad50bfdebb81..635b2ee96eef23eca7cc52aa3974ddfb44364e3b 100644 (file)
@@ -35,6 +35,7 @@
 }
 
 @end // WXNSMenu
 }
 
 @end // WXNSMenu
+WX_IMPLEMENT_GET_OBJC_CLASS(WXNSMenu,NSMenu)
 
 // ============================================================================
 // @class wxNSMenuNotificationObserver
 
 // ============================================================================
 // @class wxNSMenuNotificationObserver
 {
 }
 
 {
 }
 
-struct objc_object *wxCocoaNSMenu::sm_cocoaObserver = [[wxNSMenuNotificationObserver alloc] init];
-
 - (void)menuDidAddItem: (NSNotification *)notification;
 - (void)menuDidChangeItem: (NSNotification *)notification;
 - (void)menuDidRemoveItem: (NSNotification *)notification;
 - (void)menuDidSendAction: (NSNotification *)notification;
 - (void)menuWillSendAction: (NSNotification *)notification;
 @end // interface wxNSMenuNotificationObserver
 - (void)menuDidAddItem: (NSNotification *)notification;
 - (void)menuDidChangeItem: (NSNotification *)notification;
 - (void)menuDidRemoveItem: (NSNotification *)notification;
 - (void)menuDidSendAction: (NSNotification *)notification;
 - (void)menuWillSendAction: (NSNotification *)notification;
 @end // interface wxNSMenuNotificationObserver
+WX_DECLARE_GET_OBJC_CLASS(wxNSMenuNotificationObserver,NSObject)
 
 @implementation wxNSMenuNotificationObserver : NSObject
 
 
 @implementation wxNSMenuNotificationObserver : NSObject
 
@@ -90,12 +90,15 @@ struct objc_object *wxCocoaNSMenu::sm_cocoaObserver = [[wxNSMenuNotificationObse
 }
 
 @end // implementation wxNSMenuNotificationObserver
 }
 
 @end // implementation wxNSMenuNotificationObserver
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSMenuNotificationObserver,NSObject)
 
 // ========================================================================
 // wxCocoaNSMenu
 // ========================================================================
 WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSMenu)
 
 
 // ========================================================================
 // wxCocoaNSMenu
 // ========================================================================
 WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSMenu)
 
+struct objc_object *wxCocoaNSMenu::sm_cocoaObserver = [[WX_GET_OBJC_CLASS(wxNSMenuNotificationObserver) alloc] init];
+
 void wxCocoaNSMenu::AssociateNSMenu(WX_NSMenu cocoaNSMenu, unsigned int flags)
 {
     if(cocoaNSMenu)
 void wxCocoaNSMenu::AssociateNSMenu(WX_NSMenu cocoaNSMenu, unsigned int flags)
 {
     if(cocoaNSMenu)
index 20c9b9d3a817d1155fca834c092ee7c0b507647a..356391e276a06cdae087c07472256296d9c89480 100644 (file)
@@ -14,6 +14,8 @@
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #include "wx/cocoa/NSScroller.h"
 #import <AppKit/NSScroller.h>
 
 #include "wx/cocoa/NSScroller.h"
 #import <AppKit/NSScroller.h>
 
@@ -28,6 +30,7 @@ WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSScroller)
 
 - (void)wxNSScrollerAction: (id)sender;
 @end // wxNSScrollerTarget
 
 - (void)wxNSScrollerAction: (id)sender;
 @end // wxNSScrollerTarget
+WX_DECLARE_GET_OBJC_CLASS(wxNSScrollerTarget,NSObject)
 
 @implementation wxNSScrollerTarget : NSObject
 - (void)wxNSScrollerAction: (id)sender
 
 @implementation wxNSScrollerTarget : NSObject
 - (void)wxNSScrollerAction: (id)sender
@@ -38,11 +41,12 @@ WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSScroller)
 }
 
 @end // implementation wxNSScrollerTarget
 }
 
 @end // implementation wxNSScrollerTarget
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSScrollerTarget,NSObject)
 
 // ============================================================================
 // class wxCocoaNSScroller
 // ============================================================================
 
 // ============================================================================
 // class wxCocoaNSScroller
 // ============================================================================
-const wxObjcAutoRefFromAlloc<struct objc_object*> wxCocoaNSScroller::sm_cocoaTarget = [[wxNSScrollerTarget alloc] init];
+const wxObjcAutoRefFromAlloc<struct objc_object*> wxCocoaNSScroller::sm_cocoaTarget = [[WX_GET_OBJC_CLASS(wxNSScrollerTarget) alloc] init];
 
 void wxCocoaNSScroller::AssociateNSScroller(WX_NSScroller cocoaNSScroller)
 {
 
 void wxCocoaNSScroller::AssociateNSScroller(WX_NSScroller cocoaNSScroller)
 {
index 32a57511965fe1489f89e7e70bb2b8e5676bd4c0..3d48af6ec0a5dc0cfb8a11cb4f7818f39ba6d28d 100644 (file)
@@ -15,6 +15,8 @@
 
 #include "wx/cocoa/NSTabView.h"
 
 
 #include "wx/cocoa/NSTabView.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #include <AppKit/NSTabView.h>
 
 // ============================================================================
 #include <AppKit/NSTabView.h>
 
 // ============================================================================
@@ -27,6 +29,7 @@
 - (void)tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem;
 - (BOOL)tabView:(NSTabView*)tabView shouldSelectTabViewItem:(NSTabViewItem*)tabViewItem;
 @end // interface wxNSTabViewDelegate : NSObject
 - (void)tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem;
 - (BOOL)tabView:(NSTabView*)tabView shouldSelectTabViewItem:(NSTabViewItem*)tabViewItem;
 @end // interface wxNSTabViewDelegate : NSObject
+WX_DECLARE_GET_OBJC_CLASS(wxNSTabViewDelegate,NSObject)
 
 @implementation wxNSTabViewDelegate : NSObject
 - (void)tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem
 
 @implementation wxNSTabViewDelegate : NSObject
 - (void)tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem
 }
 
 @end // implementation wxNSTabViewDelegate : NSObject
 }
 
 @end // implementation wxNSTabViewDelegate : NSObject
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSTabViewDelegate,NSObject)
 
 // ============================================================================
 // class wxCocoaNSTabView
 // ============================================================================
 WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSTabView)
 
 
 // ============================================================================
 // class wxCocoaNSTabView
 // ============================================================================
 WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSTabView)
 
-wxObjcAutoRefFromAlloc<struct objc_object*> wxCocoaNSTabView::sm_cocoaDelegate = [[wxNSTabViewDelegate alloc] init];
+wxObjcAutoRefFromAlloc<struct objc_object*> wxCocoaNSTabView::sm_cocoaDelegate = [[WX_GET_OBJC_CLASS(wxNSTabViewDelegate) alloc] init];
 
 void wxCocoaNSTabView::AssociateNSTabView(WX_NSTabView cocoaNSTabView)
 {
 
 void wxCocoaNSTabView::AssociateNSTabView(WX_NSTabView cocoaNSTabView)
 {
index 43d43aabebe8cf027d62d7ec6ca47d617c07e888..c4b19102bc788fae2a22ace86bc6890b3e2b5831 100644 (file)
@@ -53,4 +53,5 @@ WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSTableView)
 }
 
 @end // implementation wxCocoaNSTableDataSource
 }
 
 @end // implementation wxCocoaNSTableDataSource
+WX_IMPLEMENT_GET_OBJC_CLASS(wxCocoaNSTableDataSource,NSObject)
 
 
index a9e3f7b58d3c5de1a43605645d0208afe013647c..9bd527fb46626720d9466c03f4e5dc409cd2df39 100644 (file)
@@ -25,6 +25,8 @@
 
 #include "wx/cocoa/NSWindow.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"
 #import <Foundation/NSNotification.h>
 #import <Foundation/NSString.h>
 #include "wx/cocoa/objc/NSWindow.h"
@@ -53,6 +55,7 @@
 - (void)wxMenuItemAction: (NSMenuItem *)menuItem;
 - (BOOL)validateMenuItem: (NSMenuItem *)menuItem;
 @end //interface wxNSWindowDelegate
 - (void)wxMenuItemAction: (NSMenuItem *)menuItem;
 - (BOOL)validateMenuItem: (NSMenuItem *)menuItem;
 @end //interface wxNSWindowDelegate
+WX_DECLARE_GET_OBJC_CLASS(wxNSWindowDelegate,NSObject)
 
 @implementation wxNSWindowDelegate : NSObject
 
 
 @implementation wxNSWindowDelegate : NSObject
 
 }
 
 @end //implementation wxNSWindowDelegate
 }
 
 @end //implementation wxNSWindowDelegate
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSWindowDelegate,NSObject)
 
 // ============================================================================
 // class wxCocoaNSWindow
 
 // ============================================================================
 // class wxCocoaNSWindow
@@ -151,7 +155,7 @@ WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSWindow)
 wxCocoaNSWindow::wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw)
 :   m_wxTopLevelWindowCocoa(tlw)
 {
 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];
 }
 
     [m_cocoaDelegate setWxCocoaInterface: this];
 }
 
index 041fd382c5cb67a01d79e40252630514218f4ea0..9986273c6abf18c27ffce7ccb8382200504bb93f 100644 (file)
@@ -80,6 +80,8 @@
 
 #include "wx/combobox.h"
 
 
 #include "wx/combobox.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #ifndef WX_PRECOMP
     #include "wx/window.h"
     #include "wx/log.h"
 #ifndef WX_PRECOMP
     #include "wx/window.h"
     #include "wx/log.h"
@@ -132,6 +134,7 @@ void wxCocoaNSComboBox::DisassociateNSComboBox(WX_NSComboBox cocoaNSComboBox)
 - (void)comboBoxWillDismiss:(NSNotification *)notification;
 - (void)comboBoxWillPopUp:(NSNotification *)notification;
 @end // wxPoserNSComboBox
 - (void)comboBoxWillDismiss:(NSNotification *)notification;
 - (void)comboBoxWillPopUp:(NSNotification *)notification;
 @end // wxPoserNSComboBox
+WX_DECLARE_GET_OBJC_CLASS(wxPoserNSComboBox,NSComboBox)
 
 //WX_IMPLEMENT_POSER(wxPoserNSComboBox);
 @implementation wxPoserNSComboBox : NSComboBox
 
 //WX_IMPLEMENT_POSER(wxPoserNSComboBox);
 @implementation wxPoserNSComboBox : NSComboBox
@@ -158,6 +161,7 @@ void wxCocoaNSComboBox::DisassociateNSComboBox(WX_NSComboBox cocoaNSComboBox)
 }
 
 @end // implementation wxPoserNSComboBox
 }
 
 @end // implementation wxPoserNSComboBox
+WX_IMPLEMENT_GET_OBJC_CLASS(wxPoserNSComboBox,NSComboBox)
 
 #include "wx/cocoa/autorelease.h"
 #include "wx/cocoa/string.h"
 
 #include "wx/cocoa/autorelease.h"
 #include "wx/cocoa/string.h"
@@ -198,7 +202,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID winid,
         return false;
 
     m_cocoaNSView = NULL;
         return false;
 
     m_cocoaNSView = NULL;
-    SetNSComboBox([[wxPoserNSComboBox alloc] initWithFrame:MakeDefaultNSRect(size)]);
+    SetNSComboBox([[WX_GET_OBJC_CLASS(wxPoserNSComboBox) alloc] initWithFrame:MakeDefaultNSRect(size)]);
     [m_cocoaNSView release];
     [GetNSTextField() setStringValue:wxNSStringWithWxString(value.c_str())];
     [GetNSControl() sizeToFit];
     [m_cocoaNSView release];
     [GetNSTextField() setStringValue:wxNSStringWithWxString(value.c_str())];
     [GetNSControl() sizeToFit];
index 1b9a228a34473a80640ca6c2631835b346d980b8..08603883be013dda4e254806ef2d073b06f14911 100644 (file)
@@ -98,7 +98,7 @@ The listbox contents are sorted in alphabetical order.
     [GetNSTableView() setHeaderView: nil];
 
     // Set up the data source
     [GetNSTableView() setHeaderView: nil];
 
     // Set up the data source
-    m_cocoaDataSource = [[wxCocoaNSTableDataSource alloc] init];
+    m_cocoaDataSource = [[WX_GET_OBJC_CLASS(wxCocoaNSTableDataSource) alloc] init];
     [GetNSTableView() setDataSource:m_cocoaDataSource];
 
     // Add the single column
     [GetNSTableView() setDataSource:m_cocoaDataSource];
 
     // Add the single column
index 81930b9135f9c29f69b32c45ad5a924cd1f03ee6..74694bffdc66b4de6444beda1f6041ba1b7a0c1c 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "wx/cocoa/mbarman.h"
 #include "wx/cocoa/autorelease.h"
 
 #include "wx/cocoa/mbarman.h"
 #include "wx/cocoa/autorelease.h"
+#include "wx/cocoa/objc/objc_uniquifying.h"
 
 #import <Foundation/NSString.h>
 #import <Foundation/NSNotification.h>
 
 #import <Foundation/NSString.h>
 #import <Foundation/NSNotification.h>
@@ -51,6 +52,7 @@
 - (void)windowWillClose: (NSNotification *)notification;
 #endif // 0
 @end // interface wxMenuBarManagerObserver : NSObject
 - (void)windowWillClose: (NSNotification *)notification;
 #endif // 0
 @end // interface wxMenuBarManagerObserver : NSObject
+WX_DECLARE_GET_OBJC_CLASS(wxMenuBarManagerObserver,NSObject)
 
 @implementation wxMenuBarManagerObserver : NSObject
 - (id)init
 
 @implementation wxMenuBarManagerObserver : NSObject
 - (id)init
 #endif // 0
 
 @end // implementation wxMenuBarManagerObserver : NSObject
 #endif // 0
 
 @end // implementation wxMenuBarManagerObserver : NSObject
+WX_IMPLEMENT_GET_OBJC_CLASS(wxMenuBarManagerObserver,NSObject)
 
 // ============================================================================
 // wxMenuBarManager
 
 // ============================================================================
 // wxMenuBarManager
@@ -108,7 +111,7 @@ wxMenuBarManager *wxMenuBarManager::sm_mbarmanInstance = NULL;
 
 wxMenuBarManager::wxMenuBarManager()
 {
 
 wxMenuBarManager::wxMenuBarManager()
 {
-    m_observer = [[wxMenuBarManagerObserver alloc]
+    m_observer = [[WX_GET_OBJC_CLASS(wxMenuBarManagerObserver) alloc]
             initWithWxMenuBarManager:this];
     [[NSNotificationCenter defaultCenter] addObserver:m_observer
             selector:@selector(windowDidBecomeKey:)
             initWithWxMenuBarManager:this];
     [[NSNotificationCenter defaultCenter] addObserver:m_observer
             selector:@selector(windowDidBecomeKey:)
index 63e1bfd0e000586acbd001d20db58d9f439af1b3..a0c8022306f1577ff3e8057d4798905db4e6d6b1 100644 (file)
@@ -15,6 +15,8 @@
 
 #include "wx/mdi.h"
 
 
 #include "wx/mdi.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #ifndef WX_PRECOMP
     #include "wx/log.h"
 #endif // WX_PRECOMP
 #ifndef WX_PRECOMP
     #include "wx/log.h"
 #endif // WX_PRECOMP
@@ -44,6 +46,7 @@ WX_DECLARE_HASH_MAP(int, wxMDIChildFrame*, wxIntegerHash, wxIntegerEqual, wxIntM
 - (id)initWithWxMDIParentFrame: (wxMDIParentFrame *)mdiParent;
 - (void)windowDidBecomeMain: (NSNotification *)notification;
 @end // interface wxMDIParentFrameObserver : NSObject
 - (id)initWithWxMDIParentFrame: (wxMDIParentFrame *)mdiParent;
 - (void)windowDidBecomeMain: (NSNotification *)notification;
 @end // interface wxMDIParentFrameObserver : NSObject
+WX_DECLARE_GET_OBJC_CLASS(wxMDIParentFrameObserver,NSObject)
 
 @implementation wxMDIParentFrameObserver : NSObject
 - (id)init
 
 @implementation wxMDIParentFrameObserver : NSObject
 - (id)init
@@ -67,6 +70,7 @@ WX_DECLARE_HASH_MAP(int, wxMDIChildFrame*, wxIntegerHash, wxIntegerEqual, wxIntM
 }
 
 @end // implementation wxMDIParentFrameObserver : NSObject
 }
 
 @end // implementation wxMDIParentFrameObserver : NSObject
+WX_IMPLEMENT_GET_OBJC_CLASS(wxMDIParentFrameObserver,NSObject)
 
 // ========================================================================
 // wxMDIParentFrame
 
 // ========================================================================
 // wxMDIParentFrame
@@ -79,7 +83,7 @@ void wxMDIParentFrame::Init()
 {
     m_clientWindow = NULL;
     m_currentChild = NULL;
 {
     m_clientWindow = NULL;
     m_currentChild = NULL;
-    m_observer = [[wxMDIParentFrameObserver alloc]
+    m_observer = [[WX_GET_OBJC_CLASS(wxMDIParentFrameObserver) alloc]
             initWithWxMDIParentFrame:this];
     [[NSNotificationCenter defaultCenter] addObserver:m_observer
             selector:@selector(windowDidBecomeMain:)
             initWithWxMDIParentFrame:this];
     [[NSNotificationCenter defaultCenter] addObserver:m_observer
             selector:@selector(windowDidBecomeMain:)
index df0e8612aaedd63ac28c00d9e840765d2d13758f..4ec58599934388a839ef2e9572c137aa8416a5d2 100644 (file)
@@ -46,7 +46,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
 bool wxMenu::Create(const wxString& title, long style)
 {
     wxAutoNSAutoreleasePool pool;
 bool wxMenu::Create(const wxString& title, long style)
 {
     wxAutoNSAutoreleasePool pool;
-    m_cocoaNSMenu = [[WXNSMenu alloc] initWithTitle: wxNSStringWithWxString(title)];
+    m_cocoaNSMenu = [[WX_GET_OBJC_CLASS(WXNSMenu) alloc] initWithTitle: wxNSStringWithWxString(title)];
     AssociateNSMenu(m_cocoaNSMenu);
     return true;
 }
     AssociateNSMenu(m_cocoaNSMenu);
     return true;
 }
index 81ccdd73a33da719da6534969a37d2ebbadcafd4..d6f542e13c839bf97f37d31107e0a1a9d9e58694 100644 (file)
@@ -23,6 +23,8 @@
 
 #include "wx/menuitem.h"
 
 
 #include "wx/menuitem.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #ifndef WX_PRECOMP
     #include "wx/menu.h"
     #include "wx/utils.h"
 #ifndef WX_PRECOMP
     #include "wx/menu.h"
     #include "wx/utils.h"
@@ -53,6 +55,7 @@
 - (void)wxMenuItemAction: (id)sender;
 - (BOOL)validateMenuItem: (id)menuItem;
 @end //interface wxNSMenuItemTarget
 - (void)wxMenuItemAction: (id)sender;
 - (BOOL)validateMenuItem: (id)menuItem;
 @end //interface wxNSMenuItemTarget
+WX_DECLARE_GET_OBJC_CLASS(wxNSMenuItemTarget,NSObject)
 
 @implementation wxNSMenuItemTarget : NSObject
 
 
 @implementation wxNSMenuItemTarget : NSObject
 
@@ -74,6 +77,7 @@
 }
 
 @end //implementation wxNSMenuItemTarget
 }
 
 @end //implementation wxNSMenuItemTarget
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSMenuItemTarget,NSObject)
 
 // ============================================================================
 // wxMenuItemCocoa implementation
 
 // ============================================================================
 // wxMenuItemCocoa implementation
@@ -81,7 +85,7 @@
 IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject)
 wxMenuItemCocoaHash wxMenuItemCocoa::sm_cocoaHash;
 
 IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject)
 wxMenuItemCocoaHash wxMenuItemCocoa::sm_cocoaHash;
 
-wxObjcAutoRefFromAlloc<struct objc_object *> wxMenuItemCocoa::sm_cocoaTarget = [[wxNSMenuItemTarget alloc] init];
+wxObjcAutoRefFromAlloc<struct objc_object *> wxMenuItemCocoa::sm_cocoaTarget = [[WX_GET_OBJC_CLASS(wxNSMenuItemTarget) alloc] init];
 
 // ----------------------------------------------------------------------------
 // wxMenuItemBase
 
 // ----------------------------------------------------------------------------
 // wxMenuItemBase
index a4f535f2b8271cd5bf73d33037a23d15143dbd5a..7c7d648541c661b9b25907ce24771b0deba764c8 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "wx/cocoa/autorelease.h"
 #include "wx/cocoa/string.h"
 
 #include "wx/cocoa/autorelease.h"
 #include "wx/cocoa/string.h"
+#include "wx/cocoa/objc/objc_uniquifying.h"
 
 #import <AppKit/NSTabView.h>
 #import <AppKit/NSTabViewItem.h>
 
 #import <AppKit/NSTabView.h>
 #import <AppKit/NSTabViewItem.h>
@@ -48,6 +49,7 @@
 - (NSImage*)image;
 - (void)setImage:(NSImage*)image;
 @end // interface WXCTabViewImageItem : NSTabViewItem
 - (NSImage*)image;
 - (void)setImage:(NSImage*)image;
 @end // interface WXCTabViewImageItem : NSTabViewItem
+WX_DECLARE_GET_OBJC_CLASS(WXCTabViewImageItem,NSTabViewItem)
 
 @implementation WXCTabViewImageItem : NSTabViewItem
 - (id)init
 
 @implementation WXCTabViewImageItem : NSTabViewItem
 - (id)init
 }
 
 @end // implementation WXCTabViewImageItem : NSTabViewItem
 }
 
 @end // implementation WXCTabViewImageItem : NSTabViewItem
+WX_IMPLEMENT_GET_OBJC_CLASS(WXCTabViewImageItem,NSTabViewItem)
 
 // ========================================================================
 // wxNotebookEvent
 
 // ========================================================================
 // wxNotebookEvent
@@ -218,7 +221,7 @@ bool wxNotebook::InsertPage( size_t pos,
 {
     wxAutoNSAutoreleasePool pool;
     m_pages.Insert(page,pos);
 {
     wxAutoNSAutoreleasePool pool;
     m_pages.Insert(page,pos);
-    NSTabViewItem *tvitem = [[WXCTabViewImageItem alloc] initWithIdentifier:nil];
+    NSTabViewItem *tvitem = [[WX_GET_OBJC_CLASS(WXCTabViewImageItem) alloc] initWithIdentifier:nil];
     [tvitem setLabel: wxNSStringWithWxString(title)];
     const wxBitmap *bmp = (imageId!=-1)?m_imageList->GetBitmapPtr(imageId):NULL;
     if(bmp)
     [tvitem setLabel: wxNSStringWithWxString(title)];
     const wxBitmap *bmp = (imageId!=-1)?m_imageList->GetBitmapPtr(imageId):NULL;
     if(bmp)
index dbafe8f5f6eb114de31aa5347cd2d69165b766f9..b41f82dda94eacef7524f2b32fbbf55b3401336d 100644 (file)
@@ -23,6 +23,8 @@
 #include "wx/cocoa/string.h"
 #include "wx/cocoa/log.h"
 
 #include "wx/cocoa/string.h"
 #include "wx/cocoa/log.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #import <AppKit/NSSound.h>
 #import <Foundation/NSData.h>
 
 #import <AppKit/NSSound.h>
 #import <Foundation/NSData.h>
 
@@ -39,6 +41,7 @@ static bool s_loopCurrentSound = false;
 // Delegate methods
 - (void)sound:(NSSound *)theSound didFinishPlaying:(BOOL)finishedPlaying;
 @end // interface wxNSSoundDelegate : NSObject
 // Delegate methods
 - (void)sound:(NSSound *)theSound didFinishPlaying:(BOOL)finishedPlaying;
 @end // interface wxNSSoundDelegate : NSObject
+WX_DECLARE_GET_OBJC_CLASS(wxNSSoundDelegate,NSObject)
 
 @implementation wxNSSoundDelegate : NSObject
 
 
 @implementation wxNSSoundDelegate : NSObject
 
@@ -66,8 +69,9 @@ static bool s_loopCurrentSound = false;
 }
 
 @end // wxNSSoundDelegate
 }
 
 @end // wxNSSoundDelegate
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSSoundDelegate,NSObject)
 
 
-const wxObjcAutoRefFromAlloc<struct objc_object*> wxSound::sm_cocoaDelegate = [[wxNSSoundDelegate alloc] init];
+const wxObjcAutoRefFromAlloc<struct objc_object*> wxSound::sm_cocoaDelegate = [[WX_GET_OBJC_CLASS(wxNSSoundDelegate) alloc] init];
 
 // ------------------------------------------------------------------
 //          wxSound
 
 // ------------------------------------------------------------------
 //          wxSound
index ebcae184308dc94a9e90219c814a7e2d7bf067d6..259011013d42c824054885201fb32717196f3cf1 100644 (file)
@@ -25,6 +25,8 @@
 #include "wx/cocoa/private/timer.h"
 #include "wx/cocoa/autorelease.h"
 
 #include "wx/cocoa/private/timer.h"
 #include "wx/cocoa/autorelease.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #import <Foundation/NSTimer.h>
 
 // ========================================================================
 #import <Foundation/NSTimer.h>
 
 // ========================================================================
@@ -40,6 +42,7 @@
 - (wxCocoaTimerImpl*)timer;
 - (void)onNotify:(NSTimer *)theTimer;
 @end // interface wxNSTimerData : NSObject
 - (wxCocoaTimerImpl*)timer;
 - (void)onNotify:(NSTimer *)theTimer;
 @end // interface wxNSTimerData : NSObject
+WX_DECLARE_GET_OBJC_CLASS(wxNSTimerData,NSObject)
 
 @implementation wxNSTimerData : NSObject
 - (id)init
 
 @implementation wxNSTimerData : NSObject
 - (id)init
@@ -68,6 +71,7 @@
     m_timer->Notify();
 }
 @end
     m_timer->Notify();
 }
 @end
+WX_IMPLEMENT_GET_OBJC_CLASS(wxNSTimerData,NSObject)
 
 // ----------------------------------------------------------------------------
 // wxCocoaTimerImpl
 
 // ----------------------------------------------------------------------------
 // wxCocoaTimerImpl
@@ -89,7 +93,7 @@ bool wxCocoaTimerImpl::Start(int millisecs, bool oneShot)
 
     wxAutoNSAutoreleasePool thePool;
 
 
     wxAutoNSAutoreleasePool thePool;
 
-    wxNSTimerData *timerData = [[wxNSTimerData alloc] initWithWxTimer:this];
+    wxNSTimerData *timerData = [[WX_GET_OBJC_CLASS(wxNSTimerData) alloc] initWithWxTimer:this];
     m_cocoaNSTimer =     [[NSTimer
             scheduledTimerWithTimeInterval: millisecs / 1000.0 //seconds
             target:     timerData
     m_cocoaNSTimer =     [[NSTimer
             scheduledTimerWithTimeInterval: millisecs / 1000.0 //seconds
             target:     timerData
index 348c1c1060eb16cc091427de61882d71d0902808..398834798f1d14b0c50887e81cc4db858e181b64 100644 (file)
@@ -31,6 +31,8 @@
 
 #include "wx/cocoa/string.h"
 
 
 #include "wx/cocoa/string.h"
 
+#include "wx/cocoa/objc/objc_uniquifying.h"
+
 #import <Foundation/Foundation.h>
 #import <AppKit/NSWorkspace.h>
 
 #import <Foundation/Foundation.h>
 #import <AppKit/NSWorkspace.h>
 
@@ -104,6 +106,7 @@ protected:
 -(id)init:(void*)handle processIdentifier:(long)pid;
 - (void)termHandler:(NSNotification *)aNotification;
 @end
 -(id)init:(void*)handle processIdentifier:(long)pid;
 - (void)termHandler:(NSNotification *)aNotification;
 @end
+WX_DECLARE_GET_OBJC_CLASS(wxTaskHandler,NSObject)
 
 @implementation wxTaskHandler : NSObject
 
 
 @implementation wxTaskHandler : NSObject
 
@@ -135,6 +138,7 @@ protected:
 }
 
 @end
 }
 
 @end
+WX_IMPLEMENT_GET_OBJC_CLASS(wxTaskHandler,NSObject)
 
 long wxExecute(const wxString& command,
                int sync,
 
 long wxExecute(const wxString& command,
                int sync,
@@ -179,7 +183,7 @@ long wxExecute(const wxString& command,
 
     if(sync & wxEXEC_ASYNC)
     {
 
     if(sync & wxEXEC_ASYNC)
     {
-        [[wxTaskHandler alloc]init:handle
+        [[WX_GET_OBJC_CLASS(wxTaskHandler) alloc]init:handle
                               processIdentifier:[theTask processIdentifier]];
 
         return 0;
                               processIdentifier:[theTask processIdentifier]];
 
         return 0;