1 // 2 // Edit in TextMate.mm 3 // 4 // Created by Allan Odgaard on 2005-11-26. 5 // Copyright (c) 2005 MacroMates. All rights reserved. 6 // 7 8 #import <Carbon/Carbon.h> 9 #import <map> 10 #import "Edit in TextMate.h" 11 12 // from ODBEditorSuite.h 13 #define keyFileSender 'FSnd' 14 #define kODBEditorSuite 'R*ch' 15 #define kAEModifiedFile 'FMod' 16 #define kAEClosedFile 'FCls' 17 18 static NSMutableDictionary* OpenFiles; 19 static NSString* TextMateBundleIdentifier = @"com.macromates.textmate"; 20 21 @implementation EditInTextMate 22 + (void)setODBEventHandlers 23 { 24 NSAppleEventManager* eventManager = [NSAppleEventManager sharedAppleEventManager]; 25 [eventManager setEventHandler:self andSelector:@selector(handleModifiedFileEvent:withReplyEvent:) forEventClass:kODBEditorSuite andEventID:kAEModifiedFile]; 26 [eventManager setEventHandler:self andSelector:@selector(handleClosedFileEvent:withReplyEvent:) forEventClass:kODBEditorSuite andEventID:kAEClosedFile]; 27 } 28 29 + (void)removeODBEventHandlers 30 { 31 NSAppleEventManager* eventManager = [NSAppleEventManager sharedAppleEventManager]; 32 [eventManager removeEventHandlerForEventClass:kODBEditorSuite andEventID:kAEModifiedFile]; 33 [eventManager removeEventHandlerForEventClass:kODBEditorSuite andEventID:kAEClosedFile]; 34 } 35