3 * Copyright (c) 2007 - 2011, 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 "AppDelegate.h"
19 @implementation AppDelegate
22 @synthesize breakpoint
;
23 @synthesize loggingController
= loggingController_
;
26 * Initialize method that is called before all other messages. This will set the default
31 NSAutoreleasePool
* pool
= [NSAutoreleasePool
new];
33 NSDictionary
* dict
= [[NSDictionary alloc
] initWithObjectsAndKeys
:
34 [NSNumber numberWithInt
:9000], @
"Port",
35 [NSNumber numberWithBool
:YES
], @
"BreakpointsWindowVisible",
36 [NSNumber numberWithBool
:YES
], @
"InspectorWindowVisible",
37 [NSMutableArray array
], @
"PathReplacements",
38 [NSNumber numberWithBool
:YES
], @
"BreakOnFirstLine",
39 [NSNumber numberWithBool
:YES
], @
"DebuggerAttached",
43 [[NSUserDefaults standardUserDefaults
] registerDefaults
:dict
];
50 + (AppDelegate
*)instance
52 return (AppDelegate
*)[NSApp delegate
];
55 - (void)applicationWillTerminate
:(NSNotification
*)notification
57 [[NSUserDefaults standardUserDefaults
] setBool
:self.debugger.connection.attached
58 forKey
:@
"DebuggerAttached"];
62 * Shows the debugger window
64 - (IBAction
)showDebuggerWindow
:(id)sender
66 [[debugger window
] makeKeyAndOrderFront
:self];
67 NSLog(@
"logg %@", [loggingController_ window
]);
71 * Shows the breakpoints window
73 - (IBAction
)showBreakpointWindow
:(id)sender
75 if (![[breakpoint window
] isVisible
] ||
![[breakpoint window
] isKeyWindow
])
76 [[breakpoint window
] makeKeyAndOrderFront
:sender
];
78 [[breakpoint window
] orderOut
:sender
];
82 * Shows the preferences window. Lazily loads the PreferencesController.
84 - (IBAction
)showPreferences
:(id)sender
87 prefs
= [[PreferencesController alloc
] init
];
89 [prefs showPreferencesWindow
];
93 * Opens the URL to the help page
95 - (IBAction
)openHelpPage
:(id)sender
97 [[NSWorkspace sharedWorkspace
] openURL
:[NSURL URLWithString
:@
"https://www.bluestatic.org/software/macgdbp/help.php"]];