Deprecated: Assigning the return value of new by reference is deprecated in /home/bluestat/public_html/source/index.php on line 477
MacGDBp - Blob - ViewGit - Blue Static
/*
 * MacGDBp
 * Copyright (c) 2007 - 2009, Blue Static <http://www.bluestatic.org>
 *
 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
 * General Public License as published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program; if not,
 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 */

#import "AppDelegate.h"

@implementation AppDelegate

@synthesize debugger, breakpoint;

/**
 * Initializes
 */
- (id)init
{
	if (self = [super init])
	{
	}
	return self;
}

/**
 * Initialize method that is called before all other messages. This will set the default
 * preference values.
 */
+ (void)load
{
	NSAutoreleasePool* pool = [NSAutoreleasePool new];

	NSDictionary* dict = [[NSDictionary alloc] initWithObjectsAndKeys:
		[NSNumber numberWithInt:9000], @"Port",
		@"macgdbp", @"IDEKey",
		[NSNumber numberWithBool:YES], @"BreakpointsWindowVisible",
		[NSNumber numberWithBool:YES], @"InspectorWindowVisible",
		[NSMutableArray array], @"PathReplacements",
		[NSNumber numberWithBool:YES], @"BreakOnFirstLine",
		nil
	];

	[[NSUserDefaults standardUserDefaults] registerDefaults:dict];

	[dict release];

	[pool release];
}

/**
 * Shows the debugger window
 */
- (IBAction)showDebuggerWindow:(id)sender
{
	[[debugger window] makeKeyAndOrderFront:self];
}

/**
 * Shows the breakpoints window
 */
- (IBAction)showBreakpointWindow:(id)sender
{
	if (![[breakpoint window] isVisible] || ![[breakpoint window] isKeyWindow])
		[[breakpoint window] makeKeyAndOrderFront:sender];
	else
		[[breakpoint window] orderOut:sender];
}

/**
 * Shows the preferences window. Lazily loads the PreferencesController.
 */
- (IBAction)showPreferences:(id)sender
{
	if (!prefs)
		prefs = [[PreferencesController alloc] init];

	[prefs showPreferencesWindow];
}

/**
 * Opens the URL to the help page
 */
- (IBAction)openHelpPage:(id)sender
{
	[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.bluestatic.org/software/macgdbp/help.php"]];
}

@end