From d1e707954fe44ab52d67c2f9ea61ec1631e710bc Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Wed, 1 Aug 2007 10:54:33 -0700 Subject: [PATCH] * English.lproj/Connect.nib: Setting the File's Owner to be ConnectWindowController and the window outlet to be the window * Source/AppDelegate.m: ([AppDelegate applicationDidFinishLaunching:]): New method to show the connect window after launch * Source/ConnectWindowController.m/h: Adding the NSWindowController subclass for the connection window --- English.lproj/Connect.nib/classes.nib | 9 +++- English.lproj/Connect.nib/info.nib | 2 +- English.lproj/Connect.nib/keyedobjects.nib | Bin 5399 -> 5600 bytes MacGDBp.xcodeproj/project.pbxproj | 6 +++ Source/AppDelegate.m | 10 ++++- Source/ConnectWindowController.h | 25 +++++++++++ Source/ConnectWindowController.m | 50 +++++++++++++++++++++ 7 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 Source/ConnectWindowController.h create mode 100644 Source/ConnectWindowController.m diff --git a/English.lproj/Connect.nib/classes.nib b/English.lproj/Connect.nib/classes.nib index b9b4b09..bd68c84 100644 --- a/English.lproj/Connect.nib/classes.nib +++ b/English.lproj/Connect.nib/classes.nib @@ -1,4 +1,11 @@ { - IBClasses = ({CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }); + IBClasses = ( + { + CLASS = ConnectWindowController; + LANGUAGE = ObjC; + SUPERCLASS = NSWindowController; + }, + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } + ); IBVersion = 1; } \ No newline at end of file diff --git a/English.lproj/Connect.nib/info.nib b/English.lproj/Connect.nib/info.nib index 4ca9500..a52ca3d 100644 --- a/English.lproj/Connect.nib/info.nib +++ b/English.lproj/Connect.nib/info.nib @@ -3,7 +3,7 @@ IBDocumentLocation - 69 14 356 240 0 0 1440 878 + 80 44 356 240 0 0 1440 878 IBFramework Version 446.1 IBOpenObjects diff --git a/English.lproj/Connect.nib/keyedobjects.nib b/English.lproj/Connect.nib/keyedobjects.nib index 53c0e552dad8ad283c8d451a4642d2285cba1e0c..e2b06df7c1ef1c9aea7f78150aa6a72a25effceb 100644 GIT binary patch literal 5600 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 XsZ!=CUObKQ!*S8~Fyr0*R6_p`Q=FTc literal 5399 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 diff --git a/MacGDBp.xcodeproj/project.pbxproj b/MacGDBp.xcodeproj/project.pbxproj index 24f89e1..5fc4c0e 100644 --- a/MacGDBp.xcodeproj/project.pbxproj +++ b/MacGDBp.xcodeproj/project.pbxproj @@ -10,6 +10,7 @@ 1E02C3D00C60E857006F1752 /* Connect.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1E02C3CE0C60E857006F1752 /* Connect.nib */; }; 1E02C3D50C60EC2C006F1752 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E02C3D40C60EC2C006F1752 /* AppDelegate.m */; }; 1E02C3F00C60ED56006F1752 /* Debugger.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1E02C3EE0C60ED56006F1752 /* Debugger.nib */; }; + 1E02C4080C60EF3F006F1752 /* ConnectWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E02C4070C60EF3F006F1752 /* ConnectWindowController.m */; }; 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; @@ -24,6 +25,8 @@ 1E02C3D30C60EC2C006F1752 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Source/AppDelegate.h; sourceTree = ""; }; 1E02C3D40C60EC2C006F1752 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Source/AppDelegate.m; sourceTree = ""; }; 1E02C3EF0C60ED56006F1752 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Debugger.nib; sourceTree = ""; }; + 1E02C4060C60EF3F006F1752 /* ConnectWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConnectWindowController.h; path = Source/ConnectWindowController.h; sourceTree = ""; }; + 1E02C4070C60EF3F006F1752 /* ConnectWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ConnectWindowController.m; path = Source/ConnectWindowController.m; sourceTree = ""; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; @@ -97,6 +100,8 @@ 29B97316FDCFA39411CA2CEA /* main.m */, 1E02C3D30C60EC2C006F1752 /* AppDelegate.h */, 1E02C3D40C60EC2C006F1752 /* AppDelegate.m */, + 1E02C4060C60EF3F006F1752 /* ConnectWindowController.h */, + 1E02C4070C60EF3F006F1752 /* ConnectWindowController.m */, ); name = "Other Sources"; sourceTree = ""; @@ -179,6 +184,7 @@ files = ( 8D11072D0486CEB800E47090 /* main.m in Sources */, 1E02C3D50C60EC2C006F1752 /* AppDelegate.m in Sources */, + 1E02C4080C60EF3F006F1752 /* ConnectWindowController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Source/AppDelegate.m b/Source/AppDelegate.m index 5190748..f84d5d3 100644 --- a/Source/AppDelegate.m +++ b/Source/AppDelegate.m @@ -15,8 +15,16 @@ */ #import "AppDelegate.h" - +#import "ConnectWindowController.h" @implementation AppDelegate +/** + * When the application has finished loading, show the connection dialog + */ +- (void)applicationDidFinishLaunching: (NSNotification *)notif +{ + [[[ConnectWindowController sharedController] window] makeKeyAndOrderFront: self]; +} + @end diff --git a/Source/ConnectWindowController.h b/Source/ConnectWindowController.h new file mode 100644 index 0000000..13a5601 --- /dev/null +++ b/Source/ConnectWindowController.h @@ -0,0 +1,25 @@ +/* + * MacGDBp + * Copyright (c) 2002 - 2007, Blue Static + * + * 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 + + +@interface ConnectWindowController : NSWindowController +{} + ++ (id)sharedController; + +@end diff --git a/Source/ConnectWindowController.m b/Source/ConnectWindowController.m new file mode 100644 index 0000000..193ab72 --- /dev/null +++ b/Source/ConnectWindowController.m @@ -0,0 +1,50 @@ +/* + * MacGDBp + * Copyright (c) 2002 - 2007, Blue Static + * + * 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 "ConnectWindowController.h" + + +@implementation ConnectWindowController + +/** + * Creates a shared controller that can be accessed statically + */ ++ (id)sharedController +{ + static id instance = nil; + if (!instance) + { + instance = [[ConnectWindowController alloc] initWithWindowNibName: @"Connect"]; + [instance window]; + + [[NSNotificationCenter defaultCenter] addObserver: instance + selector: @selector(applicationWillTerminate:) + name: NSApplicationWillTerminateNotification + object: NSApp]; + + } + return instance; +} + +/** + * Called when the applicaion is about to terminate so we can release itself + */ +- (void)applicationWillTerminate: (NSNotification *)notif +{ + [self release]; +} + +@end -- 2.22.5