From 613318eefe7b5d2b00773aabf863c9452c711736 Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Fri, 12 Mar 2010 22:01:03 +0000 Subject: [Author: dmaclach] Reinstate the carbon event application handler. R=thomasvl DELTA=48 (48 added, 0 deleted, 0 changed) --- AppKit/GTMCarbonEvent.h | 12 ++++++++++++ AppKit/GTMCarbonEvent.m | 17 +++++++++++++++++ AppKit/GTMCarbonEventTest.m | 19 +++++++++++++++++++ 3 files changed, 48 insertions(+) (limited to 'AppKit') diff --git a/AppKit/GTMCarbonEvent.h b/AppKit/GTMCarbonEvent.h index 83482e9..93ad949 100644 --- a/AppKit/GTMCarbonEvent.h +++ b/AppKit/GTMCarbonEvent.h @@ -337,6 +337,18 @@ GTM_EXTERN const OSType kGTMCarbonFrameworkSignature; + (GTMCarbonEventMonitorHandler *)sharedEventMonitorHandler; @end +// An event handler class representing the application event handler. +// +// there is only one of these per application. This way you can put +// event handlers directly on the application if necessary. +@interface GTMCarbonEventApplicationEventHandler : GTMCarbonEventHandler +// Accessor to get the GTMCarbonEventApplicationEventHandler singleton. +// +// Returns: +// pointer to the GTMCarbonEventApplicationEventHandler singleton. ++ (GTMCarbonEventApplicationEventHandler *)sharedApplicationEventHandler; +@end + // An event handler class representing the toolbox dispatcher event handler // // there is only one of these per application. This way you can put diff --git a/AppKit/GTMCarbonEvent.m b/AppKit/GTMCarbonEvent.m index 2166331..479e49e 100644 --- a/AppKit/GTMCarbonEvent.m +++ b/AppKit/GTMCarbonEvent.m @@ -501,6 +501,23 @@ GTMOBJECT_SINGLETON_BOILERPLATE(GTMCarbonEventMonitorHandler, @end +#if (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_5) +// Accidentally marked as !LP64 in the 10.5sdk, it's back in the 10.6 sdk. +// If you remove this decl, please remove it from GTMCarbonEventTest.m as well. +extern EventTargetRef GetApplicationEventTarget(void); +#endif // (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_5) + +@implementation GTMCarbonEventApplicationEventHandler + +GTMOBJECT_SINGLETON_BOILERPLATE(GTMCarbonEventApplicationEventHandler, + sharedApplicationEventHandler); + +- (EventTargetRef)eventTarget { + return GetApplicationEventTarget(); +} + +@end + @implementation GTMCarbonEventDispatcherHandler GTMOBJECT_SINGLETON_BOILERPLATE(GTMCarbonEventDispatcherHandler, diff --git a/AppKit/GTMCarbonEventTest.m b/AppKit/GTMCarbonEventTest.m index 261b2d3..ff7fca5 100644 --- a/AppKit/GTMCarbonEventTest.m +++ b/AppKit/GTMCarbonEventTest.m @@ -36,6 +36,9 @@ @interface GTMCarbonEventMonitorHandlerTest : GTMTestCase @end +@interface GTMCarbonEventApplicationEventHandlerTest : GTMTestCase +@end + @interface GTMCarbonEventDispatcherHandlerTest : GTMTestCase { @private BOOL hotKeyHit_; @@ -237,6 +240,22 @@ static const UInt32 kTestParameterValue = 'bam '; @end +#if (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_5) +// Accidentally marked as !LP64 in the 10.5sdk, it's back in the 10.6 sdk. +// If you remove this decl, please remove it from GTMCarbonEvent.m as well. +extern EventTargetRef GetApplicationEventTarget(void); +#endif // (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_5) + +@implementation GTMCarbonEventApplicationEventHandlerTest + +- (void)testEventHandler { + GTMCarbonEventApplicationEventHandler *handler + = [GTMCarbonEventApplicationEventHandler sharedApplicationEventHandler]; + STAssertEquals([handler eventTarget], GetApplicationEventTarget(), nil); +} + +@end + @implementation GTMCarbonEventDispatcherHandlerTest - (void)testEventHandler { -- cgit v1.2.3