3 * Copyright (c) 2007 - 2008, Blue Static <http://www.bluestatic.org>
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.
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.
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
17 #import "BreakpointWindowController.h"
20 @implementation BreakpointWindowController
27 if (self = [super initWithWindowNibName
:@
"Breakpoints"])
29 manager
= [BreakpointManager sharedManager
];
36 * Adds a breakpoint by calling up a file chooser and selecting a file for
39 - (IBAction
)addBreakpoint
:(id)sender
41 NSOpenPanel
*panel
= [NSOpenPanel openPanel
];
43 if ([panel runModal
] != NSOKButton
)
48 [sourceView setFile
:[panel filename
]];
52 * Removes a breakpoint
54 - (IBAction
)removeBreakpoint
:(id)sender
59 #pragma mark BSSourceView Delegate
62 * The gutter was clicked, which indicates that a breakpoint needs to be changed
64 - (void)gutterClickedAtLine
:(int)line forFile
:(NSString
*)file
66 if ([manager hasBreakpointAt
:line inFile
:file
])
68 [manager removeBreakpointAt
:line inFile
:file
];
72 Breakpoint
*bp
= [[Breakpoint alloc
] initWithLine
:line inFile
:file
];
73 [manager addBreakpoint
:bp
];
76 [[sourceView numberView
] setMarkers
:[manager breakpointsForFile
:file
]];
77 [[sourceView numberView
] setNeedsDisplay
:YES
];