Initial breakpoint adding code
[macgdbp.git] / Source / AppDelegate.m
1 /*
2 * MacGDBp
3 * Copyright (c) 2007 - 2008, Blue Static <http://www.bluestatic.org>
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
10 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
15 */
16
17 #import "AppDelegate.h"
18 #import "ConnectWindowController.h"
19
20 @implementation AppDelegate
21
22 /**
23 * Initializes
24 */
25 - (id)init
26 {
27 if (self = [super init])
28 {
29 breakpoints = [NSMutableDictionary dictionary];
30 }
31 return self;
32 }
33
34 /**
35 * When the application has finished loading, show the connection dialog
36 */
37 - (void)applicationDidFinishLaunching:(NSNotification *)notif
38 {
39 [self showConnectionWindow:self];
40 }
41
42 /**
43 * Shows the connection window
44 */
45 - (IBAction)showConnectionWindow:(id)sender
46 {
47 [[[ConnectWindowController sharedController] window] makeKeyAndOrderFront:self];
48 }
49
50 #pragma mark Breakpoints
51
52 /**
53 * Registers a breakpoint at a given line
54 */
55 - (void)addBreakpoint:(Breakpoint *)bp;
56 {
57 NSMutableSet *lines = [breakpoints valueForKey:[bp file]];
58 if (lines == nil)
59 {
60 lines = [NSMutableSet setWithObject:bp];
61 [breakpoints setValue:lines forKey:[bp file]];
62 }
63 else
64 {
65 [lines addObject:bp];
66 }
67 NSLog(@"breakpoints = %@", breakpoints);
68 }
69
70 /**
71 * Returns all the breakpoints for a given file
72 */
73 - (NSSet *)breakpointsForFile:(NSString *)file
74 {
75 return [breakpoints valueForKey:file];
76 }
77
78 @end