From 030495ecf11a16c27e711f0d812226d6b940d42b Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 1 Dec 2009 16:47:33 +0000 Subject: [PATCH] Add wxOSX_10_6_AND_LATER macro and use it. Replace all occurrences of @interface wxFoo : NSFoo #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 #endif which we used for protocols new in 10.6 with just @interface wxFoo : NSFoo wxOSX_10_6_AND_LATER() which looks better and simpler. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/osx/cocoa/private.h | 12 ++++++------ include/wx/osx/core/private.h | 11 +++++++++++ src/osx/cocoa/listbox.mm | 10 ++-------- src/osx/cocoa/menu.mm | 5 +---- src/osx/cocoa/window.mm | 5 +---- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/include/wx/osx/cocoa/private.h b/include/wx/osx/cocoa/private.h index 2b0083adbd..caf331cf2a 100644 --- a/include/wx/osx/cocoa/private.h +++ b/include/wx/osx/cocoa/private.h @@ -144,7 +144,7 @@ public : virtual bool DoHandleKeyEvent(NSEvent *event); virtual bool DoHandleCharEvent(NSEvent *event, NSString *text); virtual void DoNotifyFocusEvent(bool receivedFocus, wxWidgetImpl* otherWindow); - + virtual void SetupKeyEvent(wxKeyEvent &wxevent, NSEvent * nsEvent, NSString* charString = NULL); virtual void SetupMouseEvent(wxMouseEvent &wxevent, NSEvent * nsEvent); @@ -234,7 +234,7 @@ public : virtual bool IsFullScreen() const; virtual bool ShowFullScreen(bool show, long style); - + virtual void ShowWithoutActivating(); virtual void RequestUserAttention(int flags); @@ -244,7 +244,7 @@ public : virtual void WindowToScreen( int *x, int *y ); virtual bool IsActive(); - + wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; } protected : WX_wxNSWindow m_macWindow; @@ -301,12 +301,12 @@ protected : @end - @interface wxNSTextView : NSTextView + @interface wxNSTextView : NSTextView wxOSX_10_6_AND_LATER() { } - + - (void)textDidChange:(NSNotification *)aNotification; - + @end @interface wxNSMenu : NSMenu diff --git a/include/wx/osx/core/private.h b/include/wx/osx/core/private.h index 5cb0e3688a..3326b1f1c8 100644 --- a/include/wx/osx/core/private.h +++ b/include/wx/osx/core/private.h @@ -21,6 +21,17 @@ #include "wx/osx/core/cfstring.h" #include "wx/osx/core/cfdataref.h" +// Define helper macros allowing to insert small snippets of code to be +// compiled for high enough OS X version only: this shouldn't be abused for +// anything big but it's handy for e.g. specifying OS X 10.6-only protocols in +// the Objective C classes declarations when they're not supported under the +// previous versions +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + #define wxOSX_10_6_AND_LATER(x) x +#else + #define wxOSX_10_6_AND_LATER(x) +#endif + #if wxOSX_USE_COCOA_OR_CARBON WXDLLIMPEXP_BASE long UMAGetSystemVersion() ; diff --git a/src/osx/cocoa/listbox.mm b/src/osx/cocoa/listbox.mm index 0e04dfb22c..9aced58b09 100644 --- a/src/osx/cocoa/listbox.mm +++ b/src/osx/cocoa/listbox.mm @@ -33,10 +33,7 @@ class wxListWidgetCocoaImpl; -@interface wxNSTableDataSource : NSObject -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 - -#endif +@interface wxNSTableDataSource : NSObject wxOSX_10_6_AND_LATER() { wxListWidgetCocoaImpl* impl; } @@ -56,10 +53,7 @@ class wxListWidgetCocoaImpl; @end -@interface wxNSTableView : NSTableView -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 - -#endif +@interface wxNSTableView : NSTableView wxOSX_10_6_AND_LATER() { } diff --git a/src/osx/cocoa/menu.mm b/src/osx/cocoa/menu.mm index 34ea162c4d..39ebcf6aca 100644 --- a/src/osx/cocoa/menu.mm +++ b/src/osx/cocoa/menu.mm @@ -55,10 +55,7 @@ @end -@interface wxNSMenuController : NSObject -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 - -#endif +@interface wxNSMenuController : NSObject wxOSX_10_6_AND_LATER() { } diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm index 59b06c142f..a90434a622 100644 --- a/src/osx/cocoa/window.mm +++ b/src/osx/cocoa/window.mm @@ -1199,10 +1199,7 @@ void wxWidgetCocoaImpl::SetVisibility( bool visible ) // ---------------------------------------------------------------------------- // define a delegate used to refresh the window during animation -@interface wxNSAnimationDelegate : NSObject -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 - -#endif +@interface wxNSAnimationDelegate : NSObject wxOSX_10_6_AND_LATER() { wxWindow *m_win; bool m_isDone; -- 2.45.2