diff --git a/Tools/XcodeCapp/XcodeCapp/AppController.h b/Tools/XcodeCapp/XcodeCapp/AppController.h index 95708702c..7278bd236 100644 --- a/Tools/XcodeCapp/XcodeCapp/AppController.h +++ b/Tools/XcodeCapp/XcodeCapp/AppController.h @@ -40,6 +40,7 @@ + (AppController *)sharedAppController; +- (IBAction)createProject:(id)sender; - (IBAction)loadProject:(id)aSender; - (IBAction)openHelp:(id)aSender; - (IBAction)openAbout:(id)aSender; diff --git a/Tools/XcodeCapp/XcodeCapp/AppController.m b/Tools/XcodeCapp/XcodeCapp/AppController.m index aeb3d19b5..8cbb1689b 100644 --- a/Tools/XcodeCapp/XcodeCapp/AppController.m +++ b/Tools/XcodeCapp/XcodeCapp/AppController.m @@ -150,7 +150,8 @@ AppController *SharedAppControllerInstance = nil; kDefaultMaxRecentProjects: @20, kDefaultLogLevel: [NSNumber numberWithInt:LOG_LEVEL_WARN], kDefaultAutoOpenXcodeProject: @YES, - kDefaultShowProcessingNotices: @YES + kDefaultShowProcessingNotices: @YES, + kDefaultUseSymlinkWhenCreatingProject: @YES }; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; @@ -401,6 +402,25 @@ AppController *SharedAppControllerInstance = nil; [self openWindow:self.preferencesWindow]; } +- (IBAction)createProject:(id)sender +{ + NSSavePanel *savePanel = [NSSavePanel savePanel]; + savePanel.title = @"Create a new Cappuccino Project"; + savePanel.canCreateDirectories = YES; + + if ([savePanel runModal] != NSFileHandlingPanelOKButton) + return; + + NSString *projectPath = [[savePanel.URL path] stringByStandardizingPath]; + + NSDictionary *taskResult = [self.xcc createProject:projectPath]; + + if ([taskResult[@"status"] intValue]) + return; + + [self loadProjectAtPath:projectPath reopening:YES]; +} + #pragma mark - Delegates - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)app @@ -439,6 +459,7 @@ AppController *SharedAppControllerInstance = nil; #pragma mark - Private Helpers + - (BOOL)loadProjectAtPath:(NSString *)path reopening:(BOOL)reopen { if (!reopen && [self.xcc.projectPath isEqualToString:path]) diff --git a/Tools/XcodeCapp/XcodeCapp/UserDefaults.h b/Tools/XcodeCapp/XcodeCapp/UserDefaults.h index 8811b97f4..7e7726099 100644 --- a/Tools/XcodeCapp/XcodeCapp/UserDefaults.h +++ b/Tools/XcodeCapp/XcodeCapp/UserDefaults.h @@ -26,5 +26,6 @@ extern NSString * const kDefaultMaxRecentProjects; extern NSString * const kDefaultLogLevel; extern NSString * const kDefaultAutoOpenXcodeProject; extern NSString * const kDefaultShowProcessingNotices; +extern NSString * const kDefaultUseSymlinkWhenCreatingProject; #endif diff --git a/Tools/XcodeCapp/XcodeCapp/UserDefaults.m b/Tools/XcodeCapp/XcodeCapp/UserDefaults.m index 7d0c5651a..4701d7052 100644 --- a/Tools/XcodeCapp/XcodeCapp/UserDefaults.m +++ b/Tools/XcodeCapp/XcodeCapp/UserDefaults.m @@ -24,3 +24,4 @@ NSString * const kDefaultMaxRecentProjects = @"maxRecentProjects"; NSString * const kDefaultLogLevel = @"logLevel"; NSString * const kDefaultAutoOpenXcodeProject = @"autoOpenXcodeProject"; NSString * const kDefaultShowProcessingNotices = @"showProcessingNotices"; +NSString * const kDefaultUseSymlinkWhenCreatingProject = @"useSymlinkWhenCreatingProject"; diff --git a/Tools/XcodeCapp/XcodeCapp/XcodeCapp.h b/Tools/XcodeCapp/XcodeCapp/XcodeCapp.h index 0e7e90c1a..f6a5df812 100644 --- a/Tools/XcodeCapp/XcodeCapp/XcodeCapp.h +++ b/Tools/XcodeCapp/XcodeCapp/XcodeCapp.h @@ -79,6 +79,9 @@ extern NSString * const XCCProjectDidFinishLoadingNotification; // Full path to pbxprojModifier.py @property NSString *pbxModifierScriptPath; +// Tooltip for the radio button symlink +@property NSString *toolTipSymlinkRadioButton; + // Full paths to the executables we rely on: jsc, objj, nib2cib, python @property NSMutableDictionary *executablePaths; @@ -97,6 +100,9 @@ extern NSString * const XCCProjectDidFinishLoadingNotification; // Whether we are currently processing source files @property BOOL isProcessing; +// Whether $CAPP_BUILD is defined or not +@property BOOL isCappBuildDefined; + // A mapping from full paths to project-relative paths @property NSMutableDictionary *projectPathsForSourcePaths; @@ -134,6 +140,8 @@ extern NSString * const XCCProjectDidFinishLoadingNotification; - (void)wantUserNotificationWithInfo:(NSDictionary *)info; - (NSDictionary *)runTaskWithLaunchPath:(NSString *)launchPath arguments:(NSArray *)arguments returnType:(XCCTaskReturnType)returnType; +- (NSDictionary*)createProject:(NSString*)aPath; + @end @interface XcodeCapp (SnowLeopard) diff --git a/Tools/XcodeCapp/XcodeCapp/XcodeCapp.m b/Tools/XcodeCapp/XcodeCapp/XcodeCapp.m index 249482620..9b1e3af35 100644 --- a/Tools/XcodeCapp/XcodeCapp/XcodeCapp.m +++ b/Tools/XcodeCapp/XcodeCapp/XcodeCapp.m @@ -187,6 +187,8 @@ void fsevents_callback(ConstFSEventStreamRef streamRef, self.pbxOperations = [NSMutableDictionary new]; self.executablePaths = [NSMutableDictionary new]; self.projectPathFileDescriptor = -1; + self.isCappBuildDefined = YES; + self.toolTipSymlinkRadioButton = @"If this is checked, when a Cappuccino project is created, the frameworks of the new project will be symlinked from the $CAPP_BUILD"; [self initTaskEnvironment]; @@ -239,7 +241,29 @@ void fsevents_callback(ConstFSEventStreamRef streamRef, // Make sure we are using jsc as the narwhal engine! self.environment[@"NARWHAL_ENGINE"] = @"jsc"; - self.executables = @[@"python", @"narwhal-jsc", @"objj", @"nib2cib"]; + self.executables = @[@"python", @"narwhal-jsc", @"objj", @"nib2cib", @"capp"]; + + // This is used to get the env var of $CAPP_BUILD + NSDictionary *processEnvironment = [[NSProcessInfo processInfo] environment]; + NSArray *arguments = [NSArray arrayWithObjects:@"-l", @"-c", @"echo $CAPP_BUILD", nil]; + + NSDictionary *taskResult = [self runTaskWithLaunchPath:[processEnvironment objectForKey:@"SHELL"] + arguments:arguments + returnType:kTaskReturnTypeStdOut]; + + // Make sure to remove the \n at the end of the response + NSString *response = [taskResult[@"response"] stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; + + self.environment[@"CAPP_BUILD"] = response; + + // Make sure we have found a CAPP_BUILD + if ([response length] == 0 || [taskResult[@"status"] intValue] == -1) + { + self.toolTipSymlinkRadioButton = @"To use this option you need to have the variable $CAPP_BUILD in your environement (export CAPP_BUILD='path/to/your/cappuccino/build')"; + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + [defaults setObject:@NO forKey:kDefaultUseSymlinkWhenCreatingProject]; + self.isCappBuildDefined = NO; + } } - (void)initObservers @@ -574,6 +598,42 @@ void fsevents_callback(ConstFSEventStreamRef streamRef, [self openXcodeProject:self]; } +- (NSDictionary*)createProject:(NSString*)aPath +{ + NSDictionary *taskResult; + NSMutableArray *arguments = [NSMutableArray arrayWithObjects:@"gen", aPath ,@"-t", @"NibApplication", nil]; + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + + // This is used when an user wants to replace an existing project + NSArray *argumentsRemove = [NSArray arrayWithObjects:@"-rf", aPath, nil]; + [self runTaskWithLaunchPath:@"/bin/rm" arguments:argumentsRemove returnType:kTaskReturnTypeAny]; + + if ([defaults boolForKey:kDefaultUseSymlinkWhenCreatingProject]) + [arguments addObject:@"-l"]; + + taskResult = [self runTaskWithLaunchPath:self.executablePaths[@"capp"] + arguments:arguments + returnType:kTaskReturnTypeStdOut]; + + NSInteger status = [taskResult[@"status"] intValue]; + NSString *response = taskResult[@"response"]; + + if (!status) + { + DDLogVerbose(@"Created Xcode project: [%ld, %@]", status, status ? response : @""); + [self notifyUserWithTitle:@"Project created" message:aPath.lastPathComponent]; + } + else + { + DDLogVerbose(@"Created Xcode project failed: [%ld, %@]", status, status ? response : @""); + NSDictionary *dictionary = [NSDictionary dictionaryWithObject:response forKey:@"message"]; + [self.errorListController addObject:dictionary]; + [self showErrors]; + } + + return taskResult; +} + #pragma mark - Notification handlers /* diff --git a/Tools/XcodeCapp/XcodeCapp/en.lproj/MainMenu.xib b/Tools/XcodeCapp/XcodeCapp/en.lproj/MainMenu.xib index b6fe97ddd..3fa8d38e3 100644 --- a/Tools/XcodeCapp/XcodeCapp/en.lproj/MainMenu.xib +++ b/Tools/XcodeCapp/XcodeCapp/en.lproj/MainMenu.xib @@ -2,13 +2,13 @@ 1060 - 12D78 - 3084 - 1187.37 + 12E55 + 4457.6 + 1187.39 626.00 - 3084 - 2053 + 4457.6 + 3330 NSArrayController @@ -41,156 +41,164 @@ PluginDependencyRecalculationVersion - - + + NSApplication - + FirstResponder - + NSApplication - + NSFontManager - + - - - Open Project… + + + Create Project... 2147483647 - + NSImage NSMenuCheckmark - + NSImage NSMenuMixedState - - + + + Open Project… + + 2147483647 + + + + + Open Recent 2147483647 - - + + - - + + Open Xcode Project 2147483647 - - + + 1 - - + + YES YES 2147483647 - - + + - - + + Synchronize Project 2147483647 - - + + - - + + Show in %@ 2147483647 - - + + - - + + YES YES 2147483647 - - + + - - + + Show Errors & Warnings 2147483647 - - + + - - + + YES YES 2147483647 - - + + - - + + About XcodeCapp... 2147483647 - - + + - - + + Preferences… 2147483647 - - + + - - + + XcodeCapp Help 2147483647 - - + + 7 - - + + YES YES 2147483647 - - + + - - + + Quit XcodeCapp 2147483647 - - + + - + AppController - + 3 2 {{196, 240}, {402, 202}} @@ -199,17 +207,18 @@ NSPanel - + - 256 + 1792 - - - 268 + + + 1804 + {{164, 20}, {203, 98}} - + YES - + 68157504 4326400 WGNvZGVDYXBwIDMgZGV2ZWxvcGVkIGJ5OgogICAgQXBhcmFqaXRhIEZpc2htYW4KICAgIGFwYXJhaml0 @@ -220,12 +229,12 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 11 3100 - - + + 6 System textBackgroundColor - + 3 MQA @@ -237,14 +246,14 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NO - - - 266 + + + 1802 + {{164, 126}, {221, 74}} - - + YES - + 68157504 4326400 XcodeCapp 3.0.0 @@ -253,12 +262,12 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 18 16 - - + + 6 System controlColor - + 3 MC42NjY2NjY2NjY3AA @@ -267,7 +276,7 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 6 System textColor - + 3 MAA @@ -275,9 +284,10 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NO - - - 268 + + + 1804 + Apple PDF pasteboard type Apple PICT pasteboard type @@ -287,18 +297,15 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NeXT TIFF v4.0 pasteboard type {{17, 63}, {128, 128}} - - - _NS:9 + YES - - 134217728 + + 0 33554432 NSImage icon_128x128 - _NS:9 0 0 0 @@ -308,14 +315,14 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA YES + {402, 202} - {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} NO - + 15 2 {{1826, 825}, {550, 237}} @@ -325,37 +332,35 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA {315, 77} - + - 256 + 1792 - - - 274 + + + 1810 - - - 2304 + + + 3858 - - - 256 - + + + 1792 + {550, 201} - + - YES NO YES - -2147483392 - {{413, 0}, {16, 17}} - + -2147481856 + {15, 20} - + error 536 40 @@ -373,36 +378,36 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 6 System headerTextColor - + - + 69206081 2304 Text Cell - - + + 6 System controlBackgroundColor - + - + 6 System controlTextColor - + 1 YES - + 14 10 - + 1 MSAxIDEgMAA @@ -412,7 +417,7 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 5 - 15 + -1 0 NO 0 @@ -420,72 +425,73 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA {{1, 1}, {550, 201}} - + - - - + + + 4 - - - -2147483392 - {{535, 1}, {16, 45}} - - - - NO - - _doScroller: - 0.9375 - - - - -2147483392 + + + -2147481856 + {{1, 273}, {512, 16}} - + - NO 1 - + + _doScroller: + + + + -2147481856 + + {{535, 1}, {16, 45}} + + + NO + _doScroller: - 0.99805068226120852 + {{-1, 35}, {552, 203}} - + - + 133682 - - - + + + QSAAAEEgAABCIAAAQiAAAA 0.25 4 1 - - - 289 + + + 1825 + {{352, 8}, {85, 19}} - + - + {250, 750} YES - + -2080374784 134217728 Clear - + LucidaGrande 12 - 16 + 4883 - - -2038153216 + + -2038284288 164 + 400 @@ -493,22 +499,24 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NO - - - 292 + + + 1828 + {{20, 8}, {85, 19}} - + - + {250, 750} YES - + -1543503872 134217728 Open - - - -2038153216 + + + -2038284288 164 + 400 @@ -516,22 +524,24 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NO - - - 289 + + + 1825 + {{445, 8}, {85, 19}} - + - + {250, 750} YES - + -2080374784 134217728 Close - - - -2038153216 + + + -2038284288 164 + 400 @@ -540,10 +550,10 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NO + {550, 237} - {{0, 0}, {2560, 1418}} {315, 99} @@ -551,169 +561,198 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA errorPanel YES - + 3 2 - {{1964, 505}, {431, 292}} + {{1964, 505}, {431, 321}} 1685586944 Preferences NSWindow - + - 256 + 1792 - - - 12 + + + 1548 - - - 274 + + + 1810 - - - 268 + + + 1804 + {{16, 81}, {271, 18}} - + - YES - + -2080374784 0 Load the most recent project on launch - + LucidaGrande 13 1044 - + 1211912448 2 - + NSImage NSSwitch - + NSSwitch - 200 - 25 + 400 + 75 NO - - - 268 + + + 1804 + {{16, 51}, {241, 18}} - + - YES - + -2080374784 0 Automatically open Xcode projects - - + + 1211912448 2 - - - - - 200 - 25 - - NO - - - - 268 - {{15, 20}, {106, 17}} - - - - _NS:1535 - YES - - 68157504 - 272630784 - Recent projects: - - _NS:1535 - - - - - NO - - - - 268 - {{124, 14}, {56, 26}} - - - - _NS:9 - YES - - -2076180416 - 2048 - - _NS:9 - - 109199360 - 129 + + 400 75 - - + + NO + + + + 1804 + + {{16, 109}, {298, 18}} + + + YES + + -2080374784 + 0 + Symlink frameworks when creating projects + + + 1211912448 + 2 + + + + + 400 + 75 + + NO + + + + 1804 + + {{15, 20}, {106, 17}} + + + YES + + 68157504 + 272630784 + Recent projects: + + + + + + NO + + + + 1804 + + {{124, 14}, {56, 26}} + + + YES + + -2076180416 + 2048 + + LucidaGrande + 13 + 1301 + + + 109199360 + 129 + + LucidaGrande + 13 + 16 + + + + 400 + 75 + + 30 1048576 2147483647 1 - - + + _popUpItemAction: - + YES - + OtherViews - - + + 10 1048576 2147483647 - - + + _popUpItemAction: - + - - + + 20 1048576 2147483647 - - + + _popUpItemAction: - + - + - 2 1 @@ -724,183 +763,181 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NO - {{1, 1}, {395, 112}} - + + {{1, 1}, {395, 139}} + - - _NS:11 - {{17, 149}, {397, 128}} - + + {{17, 151}, {397, 155}} + - - _NS:9 {0, 0} 67108864 - 0 + 134217728 Projects - - + + LucidaGrande + 11 + 16 + + 3 - MCAwLjgwMDAwMDAxMTkAA + MCAwLjgAA - + 1 0 2 NO - - - 12 + + + 1548 - - - 274 + + + 1810 - - - 268 + + + 1804 + {{16, 73}, {363, 18}} - + - YES - + -2080374784 0 Show notifications when individual files are processed - - + + 1211912448 2 - - + + - 200 - 25 + 400 + 75 NO - - - 268 + + + 1804 + {{35, 17}, {81, 18}} - + - YES - + -2080374784 0 Warnings - - + + 1211912448 2 - - + + - 200 - 25 + 400 + 75 NO - - - 268 + + + 1804 + {{137, 17}, {60, 18}} - + - YES - + -2080374784 0 Errors - - + + 1211912448 2 - - + + - 200 - 25 + 400 + 75 NO - - - 268 + + + 1804 + {{16, 43}, {306, 17}} - + - - _NS:1535 YES - + 68157504 272630784 Automatically open Errors & Warnings panel on: - - _NS:1535 - - - + + + + NO + {{1, 1}, {395, 104}} - + - - _NS:11 + {{17, 16}, {397, 120}} - + - - _NS:9 {0, 0} 67108864 - 0 + 134217728 File processing - - + + 3 - MCAwLjgwMDAwMDAxMTkAA + MCAwLjgAA - + 1 0 2 NO - {431, 292} + + {431, 321} - {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} xcc-prefs YES - + 15 2 {{163, 199}, {716, 654}} @@ -909,40 +946,40 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NSWindow - + - 256 + 1792 - - - 18 + + + 1554 + NSFilenamesPboardType {716, 654} - - _NS:9 + 1 NO - 1.1454248428344727 + 1 YES + {716, 654} - {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} YES - - YES + + YES - + XcodeCapp - + message file @@ -955,295 +992,320 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA + NO - - - delegate - - - - 694 - terminate: - - + + - 695 + 695 delegate - - + + - 874 + 694 - statusMenu - - + delegate + + - 607 - - - - helpWindow - - - - 610 + 874 - openHelp: - - + createProject: + + - 612 - - - - aboutWindow - - - - 613 - - - - openAbout: - - - - 615 - - - - preferencesController - - - - 616 - - - - xcc - - - - 617 - - - - menuItemHistory - - - - 621 - - - - preferencesWindow - - - - 795 - - - - openPreferences: - - - - 796 - - - - helpView - - - - 858 + kGC-iR-GHt loadProject: - - + + - 864 + 864 - - menuItemOpenProject - - + + openAbout: + + - 869 + 615 - - menuItemShowInFinder - - + + openHelp: + + - 871 + 612 + + + + openPreferences: + + + + 796 showInFinder: - - + + - 872 + 872 + + + + aboutWindow + + + + 613 + + + + helpView + + + + 858 + + + + helpWindow + + + + 610 + + + + menuItemHistory + + + + 621 + + + + menuItemOpenProject + + + + 869 menuItemOpenXcodeProject - - + + - 873 + 873 + + + + menuItemShowInFinder + + + + 871 + + + + preferencesController + + + + 616 + + + + preferencesWindow + + + + 795 + + + + statusMenu + + + + 607 + + + + xcc + + + + 617 performClose: - - + + - 625 + 625 save: - - + + - 634 + 634 save: - - + + - 841 + 792 save: - - + + - 792 + 821 save: - - + + - 821 + 841 save: - - + + - 849 + 849 save: - - + + - 854 + 854 - - errorTable - - + + save: + + - 748 - - - - clearErrors - - - - 749 + Qld-lL-7rM clearErrors: - - + + - 751 - - - - errorListController - - - - 760 - - - - openErrorsPanel: - - - - 774 - - - - errorsPanel - - - - 775 + 751 openErrorInEditor: - - + + - 786 + 786 + + + + openErrorsPanel: + + + + 774 openXcodeProject: - - + + - 866 + 866 synchronizeProject: - - + + - 867 + 867 + + + + clearErrors + + + + 749 + + + + errorListController + + + + 760 + + + + errorsPanel + + + + 775 + + + + symlinkRadioButton + + + + UhG-7c-NP8 + + + + errorTable + + + + 748 - value: values.XCCReopenLastProject - - + values.XCCReopenLastProject + + - - + + value: values.XCCReopenLastProject value values.XCCReopenLastProject @@ -1254,32 +1316,24 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 636 + 636 dataSource - - + + - 752 - - - - delegate - - - - 753 + 752 - doubleClickArgument: errorTable - - - - - + errorTable + + + + + doubleClickArgument: errorTable doubleClickArgument errorTable @@ -1290,16 +1344,24 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 787 + 787 + + + + delegate + + + + 753 - doubleClickTarget: self - - + self + + - - + + doubleClickTarget: self doubleClickTarget self @@ -1307,36 +1369,36 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA NSSelectorName openErrorInEditor: - + 2 - 788 + 788 - value: arrangedObjects.message - - + arrangedObjects.message + + - - + + value: arrangedObjects.message value arrangedObjects.message 2 - 770 + 770 - displayPatternValue1: bundleVersion - - + bundleVersion + + - - + + displayPatternValue1: bundleVersion displayPatternValue1 bundleVersion @@ -1347,81 +1409,81 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 800 + 800 - enabled: projectPath.length - - - - - + projectPath.length + + + + + enabled: projectPath.length enabled projectPath.length 2 - 875 + 875 - enabled: xcodeProjectCanBeOpened - - + xcodeProjectCanBeOpened + + - - + + enabled: xcodeProjectCanBeOpened enabled xcodeProjectCanBeOpened - + 2 - 876 + 876 - enabled: selection.@count - - + selection.@count + + - - + + enabled: selection.@count enabled selection.@count 2 - 765 + 765 - contentArray: errorList - - + errorList + + - - + + contentArray: errorList contentArray errorList 2 - 762 + 762 - value: values.XCCAutoOpenErrorsPanelOnWarnings - - + values.XCCAutoOpenErrorsPanelOnWarnings + + - - + + value: values.XCCAutoOpenErrorsPanelOnWarnings value values.XCCAutoOpenErrorsPanelOnWarnings @@ -1432,48 +1494,48 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 823 + 823 - selectedValue: values.maxRecentProjects - - + values.maxRecentProjects + + - - + + selectedValue: values.maxRecentProjects selectedValue values.maxRecentProjects 2 - 810 + 810 - enabled: projectPath.length - - + projectPath.length + + - - + + enabled: projectPath.length enabled projectPath.length 2 - 812 + 812 - value: values.XCCAutoOpenErrorsPanelOnErrors - - + values.XCCAutoOpenErrorsPanelOnErrors + + - - + + value: values.XCCAutoOpenErrorsPanelOnErrors value values.XCCAutoOpenErrorsPanelOnErrors @@ -1484,16 +1546,16 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 824 + 824 - value: values.autoOpenXcodeProject - - + values.autoOpenXcodeProject + + - - + + value: values.autoOpenXcodeProject value values.autoOpenXcodeProject @@ -1504,16 +1566,16 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 851 + 851 - value: values.showProcessingNotices - - + values.showProcessingNotices + + - - + + value: values.showProcessingNotices value values.showProcessingNotices @@ -1524,643 +1586,813 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA 2 - 856 + 856 - enabled: projectPath.length - - + projectPath.length + + - - + + enabled: projectPath.length enabled projectPath.length 2 - 861 + 861 + + + + isCappBuildDefined + + + + + + enabled: isCappBuildDefined + enabled + isCappBuildDefined + 2 + + + HUA-hI-eLR + + + + toolTipSymlinkRadioButton + + + + + + toolTip: toolTipSymlinkRadioButton + toolTip + toolTipSymlinkRadioButton + 2 + + + bWz-Mw-z56 + + + + values.useSymlinkWhenCreatingProject + + + + + + value: values.useSymlinkWhenCreatingProject + value + values.useSymlinkWhenCreatingProject + + NSValidatesImmediately + + + 2 + + + aRN-Fd-MPN - 0 + 0 - + - -2 - + -2 + File's Owner - -1 - + -1 + First Responder - -3 - + -3 + Application - 420 - + 420 + - 538 - + 538 + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - 539 - + itE-v1-Sv4 + + + + + 605 + + + + + 597 + + + + + 606 + + + + + 859 + + + + + 811 + + + + + 860 + + + + + 603 + + + + + 604 + + + + + 598 + + + + + 600 + + + + + 537 + + + + + 601 + + + + + 599 + + + + + 602 + + + + + 539 + - 540 - + 540 + - + - 541 - + 592 + - + + + + + + + + 593 + + + + + + + + 596 + + + + + 594 + + + + + + + + 595 + + + + + 797 + + + + + + + + 798 + + + + + 541 + + + - 542 - + 581 + - + + + + + + + + + 582 + + + + + + + + + + 588 + + + + + 589 + + + + + 584 + + + + + + + + 585 + + + + + 754 + + + + + + + + 755 + + + + + 583 + + + + + + + + 586 + + + + + 542 + + + - 543 - + 558 + - + + + + + + + 847 + + + + + + + + + + + + 563 + + + + + + + + 576 + + + + + 839 + + + + + + + + 840 + + + + + 1qI-ol-J5k + + + + + + + + 272-W8-Ygy + + + + + 801 + + + + + + + + 802 + + + + + 803 + + + + + + + + 804 + + + + + + + + 805 + + + + + + + + + + 806 + + + + + 807 + + + + + 808 + + + + + 848 + + + + + + + + + + + 843 + + + + + + + + 844 + + + + + 789 + + + + + + + + 790 + + + + + 819 + + + + + + + + 820 + + + + + 817 + + + + + + + + 818 + + + + + 543 + + + - 544 - + 553 + + + + + + + + 857 + + + + + 544 + - 545 - + 545 + XCodeCapp - 553 - - - - - - - - 558 - - - - - - - - - 581 - - - - - - - - - - - 582 - - - - - - - - - - 583 - - - - - - - - 584 - - - - - - - - 585 - - - - - 586 - - - - - 587 - - - - - - - - 588 - - - - - 589 - - - - - 590 - - - - - - - - 591 - - - - - 592 - - - - - - - - - - 593 - - - - - - - - 594 - - - - - - - - 595 - - - - - 596 - - - - - 597 - - - - - 598 - - - - - 599 - - - - - 600 - - - - - 601 - - - - - 602 - - - - - 603 - - - - - 604 - - - - - 605 - - - - - 606 - - - - - 754 - - - - - - - - 755 - - - - - 759 - + 759 + Errors Controller - 537 - - - - - 797 - + 587 + - + - + - 798 - - - - - 811 - - - - - 848 - + 590 + - - - - + - + - 843 - - - - - - - - 844 - - - - - 789 - - - - - - - - 790 - - - - - 819 - - - - - - - - 820 - - - - - 817 - - - - - - - - 818 - - - - - 847 - - - - - - - - - - - 803 - - - - - - - - 804 - - - - - - - - 805 - - - - - - - - - - 806 - - - - - 807 - - - - - 808 - - - - - 801 - - - - - - - - 802 - - - - - 839 - - - - - - - - 840 - - - - - 563 - - - - - - - - 576 - - - - - 857 - - - - - 859 - - - - - 860 - - + 591 + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + ToolTip ToolTip - + When an error or warning occurs, automatically open the Errors & Warnings panel com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + ToolTip ToolTip - + When an error or warning occurs, automatically open the Errors & Warnings panel com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + ToolTip ToolTip - + If this is checked, when a Cappuccino project is opened, the project’s Xcode support project will be opened automatically com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + ToolTip ToolTip - + If this is checked, when a Cappuccino project is opened, the project’s Xcode support project will be opened automatically com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.pdfkit.ibplugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + - 876 @@ -2168,6 +2400,7 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA AppController NSObject + id id id id @@ -2175,6 +2408,10 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA id + + createProject: + id + loadProject: id @@ -2319,6 +2556,14 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA com.apple.InterfaceBuilder.CocoaPlugin.macosx + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + YES 3