source: releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEETrigger.m@ 336

Last change on this file since 336 was 256, checked in by Nicholas Riley, 18 years ago

Removed TextEdit support; merged new Unsanity Installer (3.6.1) and Application Enhancer (2.0.1).

File size: 1.5 KB
Line 
1//
2// ICeCoffEETrigger.m
3// ICeCoffEE APE
4//
5// Created by Nicholas Riley on 5/14/05.
6// Copyright 2005 Nicholas Riley. All rights reserved.
7//
8
9#import "ICeCoffEETrigger.h"
10#import "ICeCoffEE.h"
11
12
13ICeCoffEETrigger *ICCF_sharedTrigger = nil;
14
15@implementation ICeCoffEETrigger
16
17- (id)initForEvent:(NSEvent *)anEvent onTarget:(NSText<NSTextInput> *)aTarget;
18{
19 if ( (self = [super init]) != nil) {
20 target = [aTarget retain];
21 event = [anEvent retain];
22 characterIndex = [aTarget characterIndexForPoint: [[aTarget window] convertBaseToScreen: [anEvent locationInWindow]]];
23 timer = [NSTimer scheduledTimerWithTimeInterval: TicksToEventTime(GetDblTime())
24 target: self
25 selector: @selector(timerFired:)
26 userInfo: nil
27 repeats: NO];
28 }
29 return self;
30}
31
32+ (void)setTriggerForEvent:(NSEvent *)anEvent onTarget:(NSText<NSTextInput> *)aTarget;
33{
34 ICCF_sharedTrigger = [[self alloc] initForEvent: anEvent onTarget: aTarget];
35 [ICCF_sharedTrigger release];
36}
37
38- (void)dealloc;
39{
40 timer = nil;
41 [target release];
42 target = nil;
43 [event release];
44 event = nil;
45 ICLog(@"%@ dealloc", self);
46 [super dealloc];
47}
48
49- (void)timerFired:(NSTimer *)timer;
50{
51 ICCF_sharedTrigger = nil;
52 [target setSelectedRange: NSMakeRange(characterIndex, 0)];
53 ICCF_LaunchURLFromTextView(target, event);
54}
55
56- (void)cancel;
57{
58 ICCF_sharedTrigger = nil;
59 [timer invalidate]; // we get dealloced inside here, so don't do anything else
60}
61
62@end
Note: See TracBrowser for help on using the repository browser.