mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-03 17:33:41 +00:00
New: xcc --reset resets the Xcode support before opening the project.
This will help in cases where the project is way out of sync and crashes XCC.
This commit is contained in:
@@ -24,16 +24,16 @@
|
||||
|
||||
@interface AppController : NSObject <NSApplicationDelegate, NSMenuDelegate>
|
||||
|
||||
@property (strong) IBOutlet NSMenu *statusMenu;
|
||||
@property (assign) IBOutlet NSMenuItem *menuItemHistory;
|
||||
@property (assign) IBOutlet NSMenuItem *menuItemOpenProject;
|
||||
@property (assign) IBOutlet NSMenuItem *menuItemShowInFinder;
|
||||
@property (strong) IBOutlet NSMenu *statusMenu;
|
||||
@property (unsafe_unretained) IBOutlet NSMenuItem *menuItemHistory;
|
||||
@property (unsafe_unretained) IBOutlet NSMenuItem *menuItemOpenProject;
|
||||
@property (unsafe_unretained) IBOutlet NSMenuItem *menuItemShowInFinder;
|
||||
|
||||
@property (strong) IBOutlet NSPanel *aboutWindow;
|
||||
@property (strong) IBOutlet NSWindow *preferencesWindow;
|
||||
|
||||
@property (strong) IBOutlet NSWindow *helpWindow;
|
||||
@property (assign) IBOutlet PDFView *helpView;
|
||||
@property (strong) IBOutlet NSWindow *helpWindow;
|
||||
@property (unsafe_unretained) IBOutlet PDFView *helpView;
|
||||
|
||||
@property (strong) IBOutlet NSUserDefaultsController *preferencesController;
|
||||
@property (strong) IBOutlet XcodeCapp *xcc;
|
||||
@@ -44,7 +44,5 @@
|
||||
- (IBAction)openHelp:(id)aSender;
|
||||
- (IBAction)openAbout:(id)aSender;
|
||||
|
||||
- (BOOL)loadProjectAtPath:(NSString *)path;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
@property NSString *finderName;
|
||||
@property BOOL appFinishedLaunching;
|
||||
@property NSString *pathToOpenAtLaunch;
|
||||
@property NSFileManager *fm;
|
||||
|
||||
@end
|
||||
|
||||
@@ -55,6 +56,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
SharedAppControllerInstance = self;
|
||||
self.fm = [NSFileManager defaultManager];
|
||||
|
||||
[self registerDefaultPreferences];
|
||||
[self initLogging];
|
||||
@@ -77,7 +79,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
NSString *path = filename.stringByStandardizingPath;
|
||||
|
||||
if (self.appFinishedLaunching)
|
||||
return [self loadProjectAtPath:path];
|
||||
return [self loadProjectAtPath:path reopening:YES];
|
||||
else
|
||||
self.pathToOpenAtLaunch = path;
|
||||
}
|
||||
@@ -110,7 +112,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
return;
|
||||
}
|
||||
|
||||
// If we were opened from the command line, xcc.projectPath will be set.
|
||||
// If we were opened from the command line, self.pathToOpenAtLaunch will be set.
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
if (!self.pathToOpenAtLaunch)
|
||||
@@ -124,7 +126,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
if (self.pathToOpenAtLaunch)
|
||||
{
|
||||
if ([[NSFileManager defaultManager] fileExistsAtPath:self.pathToOpenAtLaunch])
|
||||
[self loadProjectAtPath:self.pathToOpenAtLaunch];
|
||||
[self loadProjectAtPath:self.pathToOpenAtLaunch reopening:YES];
|
||||
else
|
||||
[defaults removeObjectForKey:kDefaultLastOpenedPath];
|
||||
}
|
||||
@@ -170,9 +172,15 @@ AppController *SharedAppControllerInstance = nil;
|
||||
[DDLogLevel setLogLevel:LOG_LEVEL_VERBOSE];
|
||||
#else
|
||||
[DDLog addLogger:[DDASLLogger sharedInstance]];
|
||||
|
||||
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
[DDLogLevel setLogLevel:(int)[defaults integerForKey:kDefaultLogLevel]];
|
||||
int logLevel = (int)[defaults integerForKey:kDefaultLogLevel];
|
||||
NSUInteger modifiers = [NSEvent modifierFlags];
|
||||
|
||||
if (modifiers & NSAlternateKeyMask)
|
||||
logLevel = LOG_LEVEL_VERBOSE;
|
||||
|
||||
[DDLogLevel setLogLevel:logLevel];
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -341,7 +349,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
return;
|
||||
|
||||
NSString *projectPath = [[openPanel.URLs[0] path] stringByStandardizingPath];
|
||||
[self loadProjectAtPath:projectPath];
|
||||
[self loadProjectAtPath:projectPath reopening:YES];
|
||||
}
|
||||
|
||||
- (void)closeProject:(id)aSender
|
||||
@@ -357,7 +365,7 @@ AppController *SharedAppControllerInstance = nil;
|
||||
|
||||
- (void)switchToProject:(NSMenuItem *)aSender
|
||||
{
|
||||
[self loadProjectAtPath:aSender.representedObject];
|
||||
[self loadProjectAtPath:aSender.representedObject reopening:NO];
|
||||
}
|
||||
|
||||
- (void)clearProjectHistory:(id)aSender
|
||||
@@ -405,22 +413,16 @@ AppController *SharedAppControllerInstance = nil;
|
||||
- (BOOL)validateMenuItem:(NSMenuItem *)aMenuItem
|
||||
{
|
||||
NSMenu *menu = aMenuItem.menu;
|
||||
|
||||
if (aMenuItem == self.menuItemOpenProject)
|
||||
{
|
||||
return !!self.xcc.projectPath;
|
||||
}
|
||||
else if (menu == self.recentMenu)
|
||||
|
||||
if (menu == self.recentMenu)
|
||||
{
|
||||
// Disable recent items if they don't exist or are not directories,
|
||||
// but enable the Clear History item, which is last in the menu.
|
||||
if ([menu indexOfItem:aMenuItem] == menu.itemArray.count - 1)
|
||||
return YES;
|
||||
|
||||
NSFileManager *fm = [NSFileManager defaultManager];
|
||||
|
||||
BOOL exists, isDirectory;
|
||||
exists = [fm fileExistsAtPath:aMenuItem.representedObject isDirectory:&isDirectory];
|
||||
BOOL isDirectory;
|
||||
BOOL exists = [self.fm fileExistsAtPath:aMenuItem.representedObject isDirectory:&isDirectory];
|
||||
|
||||
return exists && isDirectory;
|
||||
}
|
||||
@@ -437,9 +439,9 @@ AppController *SharedAppControllerInstance = nil;
|
||||
|
||||
#pragma mark - Private Helpers
|
||||
|
||||
- (BOOL)loadProjectAtPath:(NSString *)path
|
||||
- (BOOL)loadProjectAtPath:(NSString *)path reopening:(BOOL)reopen
|
||||
{
|
||||
if ([self.xcc.projectPath isEqualToString:path])
|
||||
if (!reopen && [self.xcc.projectPath isEqualToString:path])
|
||||
return YES;
|
||||
|
||||
[self closeProject:self];
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.4</string>
|
||||
<string>3.0.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>3.0.4</string>
|
||||
<string>3.0.5</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.developer-tools</string>
|
||||
<key>LSUIElement</key>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -55,7 +55,7 @@ extern NSString * const XCCProjectDidFinishLoadingNotification;
|
||||
still queued from the previous load, we compare the projectId returned by a notification
|
||||
with the current projectId. If they don't match, we let the notification drain.
|
||||
*/
|
||||
@property NSInteger projectId;
|
||||
@property NSInteger projectId;
|
||||
|
||||
// An array of paths we add to the NSTask environment
|
||||
@property NSArray *environmentPaths;
|
||||
@@ -69,6 +69,9 @@ extern NSString * const XCCProjectDidFinishLoadingNotification;
|
||||
// Full path to the Cappuccino project root directory
|
||||
@property NSString *projectPath;
|
||||
|
||||
// Full path to the <project>.xcodeproj
|
||||
@property NSString *xcodeProjectPath;
|
||||
|
||||
// Full path to parser.j
|
||||
@property NSString *parserPath;
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#import "Notifications.h"
|
||||
#import "ProcessSourceOperation.h"
|
||||
#import "UserDefaults.h"
|
||||
#import "XcodeProjectCloser.h"
|
||||
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_6
|
||||
@@ -50,23 +51,6 @@ enum XCCLineSpecifier {
|
||||
};
|
||||
typedef enum XCCLineSpecifier XCCLineSpecifier;
|
||||
|
||||
// Used to close the Xcode project if it is open.
|
||||
static const char *XCCCloseProjectScript =
|
||||
"tell application \"Xcode\"\n"
|
||||
"set docs to (document of every window)\n"
|
||||
"repeat with doc in docs\n"
|
||||
"if class of doc is workspace document then\n"
|
||||
"set docURL to file of doc\n"
|
||||
"set docPath to docURL as text\n"
|
||||
"set docPath to POSIX path of docPath\n"
|
||||
"if docPath begins with \"%@\" then\n"
|
||||
"close doc\n"
|
||||
"return\n"
|
||||
"end if\n"
|
||||
"end if\n"
|
||||
"end repeat\n"
|
||||
"end tell";
|
||||
|
||||
// Where we put the generated Cocoa class files
|
||||
static NSString * const XCCSupportFolderName = @".XcodeSupport";
|
||||
|
||||
@@ -109,10 +93,7 @@ static NSArray *XCCDefaultIgnoredPathPredicates = nil;
|
||||
|
||||
@property NSFileManager *fm;
|
||||
|
||||
// Full path to the <project>.xcodeproj
|
||||
@property NSString *xcodeProjectPath;
|
||||
|
||||
// An NSString version of XCCCloseProjectScript
|
||||
// An NSString version of XCCCloseXcodeProjectScript
|
||||
@property NSString *closeXcodeProjectScriptSource;
|
||||
|
||||
// Full path to .xcodecapp-ignore
|
||||
@@ -199,7 +180,6 @@ void fsevents_callback(ConstFSEventStreamRef streamRef,
|
||||
self.fm = [NSFileManager defaultManager];
|
||||
self.ignoredPathPredicates = [NSMutableArray new];
|
||||
self.parserPath = [[NSBundle mainBundle].sharedSupportPath stringByAppendingPathComponent:@"parser.j"];
|
||||
self.closeXcodeProjectScriptSource = [NSString stringWithUTF8String:XCCCloseProjectScript];
|
||||
self.appStartedTimestamp = [NSDate date];
|
||||
self.projectPathsForSourcePaths = [NSMutableDictionary new];
|
||||
self.xcodecappIgnorePath = @"";
|
||||
@@ -287,6 +267,13 @@ void fsevents_callback(ConstFSEventStreamRef streamRef,
|
||||
return _pathModificationDates;
|
||||
}
|
||||
|
||||
- (BOOL)xcodeProjectCanBeOpened
|
||||
{
|
||||
return (self.xcodeProjectPath &&
|
||||
!self.isProcessing &&
|
||||
[self.fm fileExistsAtPath:self.xcodeProjectPath]);
|
||||
}
|
||||
|
||||
#pragma mark - Project Management
|
||||
|
||||
- (void)loadProjectAtPath:(NSString *)path
|
||||
@@ -445,14 +432,21 @@ void fsevents_callback(ConstFSEventStreamRef streamRef,
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)synchronizeProject:(id)aSender
|
||||
- (void)resetProject
|
||||
{
|
||||
NSString *projectPath = self.projectPath;
|
||||
|
||||
|
||||
[self stop];
|
||||
[self removeSupportFilesAtPath:projectPath];
|
||||
[self removeAllCibsAtPath:[projectPath stringByAppendingPathComponent:@"Resources"]];
|
||||
[self loadProjectAtPath:projectPath];
|
||||
|
||||
self.projectPath = projectPath;
|
||||
}
|
||||
|
||||
- (IBAction)synchronizeProject:(id)aSender
|
||||
{
|
||||
[self resetProject];
|
||||
[self loadProjectAtPath:self.projectPath];
|
||||
}
|
||||
|
||||
- (void)removeAllCibsAtPath:(NSString *)path
|
||||
@@ -468,21 +462,12 @@ void fsevents_callback(ConstFSEventStreamRef streamRef,
|
||||
|
||||
- (void)removeSupportFilesAtPath:(NSString *)projectPath
|
||||
{
|
||||
[self closeXcodeProjectForProject:projectPath];
|
||||
[XcodeProjectCloser closeXcodeProjectForProject:projectPath];
|
||||
|
||||
[self.fm removeItemAtPath:self.xcodeProjectPath error:nil];
|
||||
[self.fm removeItemAtPath:self.supportPath error:nil];
|
||||
}
|
||||
|
||||
- (void)closeXcodeProjectForProject:(NSString *)projectPath
|
||||
{
|
||||
NSString *source = [NSString stringWithFormat:self.closeXcodeProjectScriptSource, projectPath];
|
||||
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:source];
|
||||
|
||||
NSAppleEventDescriptor *descriptor;
|
||||
descriptor = [script executeAndReturnError:nil];
|
||||
}
|
||||
|
||||
- (void)stop
|
||||
{
|
||||
// Increment the projectId to ensure remaining notifications in the queue for the current project are ignored
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// XcodeProjectCloser.h
|
||||
// XcodeCapp
|
||||
//
|
||||
// Created by Aparajita on 5/12/13.
|
||||
// Copyright (c) 2013 Cappuccino Project. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface XcodeProjectCloser : NSObject
|
||||
|
||||
+ (void)closeXcodeProjectForProject:(NSString *)projectPath;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// XcodeProjectCloser.m
|
||||
// XcodeCapp
|
||||
//
|
||||
// Created by Aparajita on 5/12/13.
|
||||
// Copyright (c) 2013 Cappuccino Project. All rights reserved.
|
||||
//
|
||||
|
||||
#import "XcodeProjectCloser.h"
|
||||
|
||||
|
||||
// Used to close the Xcode project if it is open.
|
||||
static const char *kCloseXcodeProjectScript =
|
||||
"tell application \"Xcode\"\n"
|
||||
"set docs to (document of every window)\n"
|
||||
"repeat with doc in docs\n"
|
||||
"if class of doc is workspace document then\n"
|
||||
"set docPath to path of doc\n"
|
||||
"if docPath begins with \"%@\" then\n"
|
||||
"close doc\n"
|
||||
"return\n"
|
||||
"end if\n"
|
||||
"end if\n"
|
||||
"end repeat\n"
|
||||
"end tell";
|
||||
|
||||
|
||||
@implementation XcodeProjectCloser
|
||||
|
||||
+ (void)closeXcodeProjectForProject:(NSString *)projectPath
|
||||
{
|
||||
NSString *format = [NSString stringWithUTF8String:kCloseXcodeProjectScript];
|
||||
NSString *source = [NSString stringWithFormat:format, projectPath];
|
||||
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:source];
|
||||
|
||||
NSAppleEventDescriptor *descriptor;
|
||||
descriptor = [script executeAndReturnError:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -186,7 +186,6 @@
|
||||
<reference key="NSMixedImage" ref="103460472"/>
|
||||
</object>
|
||||
</array>
|
||||
<bool key="NSNoAutoenable">YES</bool>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="993249905">
|
||||
<string key="NSClassName">AppController</string>
|
||||
@@ -551,7 +550,7 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="145921208">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSBox" id="98274870">
|
||||
@@ -799,6 +798,7 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{137, 17}, {60, 18}}</string>
|
||||
<reference key="NSSuperview" ref="732728607"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="368407823">
|
||||
<int key="NSCellFlags">-2080374784</int>
|
||||
@@ -868,6 +868,7 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{431, 292}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView" ref="98274870"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
|
||||
@@ -947,6 +948,14 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
</object>
|
||||
<int key="connectionID">695</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="280310327"/>
|
||||
<reference key="destination" ref="993249905"/>
|
||||
</object>
|
||||
<int key="connectionID">874</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">statusMenu</string>
|
||||
@@ -1067,6 +1076,14 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
</object>
|
||||
<int key="connectionID">872</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">menuItemOpenXcodeProject</string>
|
||||
<reference key="source" ref="993249905"/>
|
||||
<reference key="destination" ref="798304033"/>
|
||||
</object>
|
||||
<int key="connectionID">873</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">performClose:</string>
|
||||
@@ -1308,62 +1325,38 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
</object>
|
||||
<int key="connectionID">800</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">enabled: isLoadingProject</string>
|
||||
<reference key="source" ref="798304033"/>
|
||||
<reference key="destination" ref="1027936551"/>
|
||||
<object class="NSNibBindingConnector" key="connector" id="53593599">
|
||||
<reference key="NSSource" ref="798304033"/>
|
||||
<reference key="NSDestination" ref="1027936551"/>
|
||||
<string key="NSLabel">enabled: isLoadingProject</string>
|
||||
<string key="NSBinding">enabled</string>
|
||||
<string key="NSKeyPath">isLoadingProject</string>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">835</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">enabled: projectPath.length</string>
|
||||
<reference key="source" ref="798304033"/>
|
||||
<reference key="destination" ref="1027936551"/>
|
||||
<object class="NSNibBindingConnector" key="connector" id="64254864">
|
||||
<object class="NSNibBindingConnector" key="connector" id="451145892">
|
||||
<reference key="NSSource" ref="798304033"/>
|
||||
<reference key="NSDestination" ref="1027936551"/>
|
||||
<string key="NSLabel">enabled: projectPath.length</string>
|
||||
<string key="NSBinding">enabled</string>
|
||||
<string key="NSKeyPath">projectPath.length</string>
|
||||
<reference key="NSPreviousConnector" ref="53593599"/>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">836</int>
|
||||
<int key="connectionID">875</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">enabled2: isProcessing</string>
|
||||
<string key="label">enabled: xcodeProjectCanBeOpened</string>
|
||||
<reference key="source" ref="798304033"/>
|
||||
<reference key="destination" ref="1027936551"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="798304033"/>
|
||||
<reference key="NSDestination" ref="1027936551"/>
|
||||
<string key="NSLabel">enabled2: isProcessing</string>
|
||||
<string key="NSBinding">enabled2</string>
|
||||
<string key="NSKeyPath">isProcessing</string>
|
||||
<dictionary key="NSOptions">
|
||||
<integer value="-1" key="NSMultipleValuesPlaceholder"/>
|
||||
<integer value="-1" key="NSNoSelectionPlaceholder"/>
|
||||
<integer value="-1" key="NSNotApplicablePlaceholder"/>
|
||||
<integer value="-1" key="NSNullPlaceholder"/>
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
<reference key="NSPreviousConnector" ref="64254864"/>
|
||||
<string key="NSLabel">enabled: xcodeProjectCanBeOpened</string>
|
||||
<string key="NSBinding">enabled</string>
|
||||
<string key="NSKeyPath">xcodeProjectCanBeOpened</string>
|
||||
<reference key="NSPreviousConnector" ref="451145892"/>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">837</int>
|
||||
<int key="connectionID">876</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
@@ -2143,159 +2136,9 @@ dG9pbmUgTWVyY2FkYWwKICAgIGFudG9pbmUubWVyY2FkYWxAZ21haWwuY29tA</string>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">872</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">AppController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="loadProject:">id</string>
|
||||
<string key="openAbout:">id</string>
|
||||
<string key="openHelp:">id</string>
|
||||
<string key="openPreferences:">id</string>
|
||||
<string key="showInFinder:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="loadProject:">
|
||||
<string key="name">loadProject:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="openAbout:">
|
||||
<string key="name">openAbout:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="openHelp:">
|
||||
<string key="name">openHelp:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="openPreferences:">
|
||||
<string key="name">openPreferences:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="showInFinder:">
|
||||
<string key="name">showInFinder:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="aboutWindow">NSPanel</string>
|
||||
<string key="helpView">PDFView</string>
|
||||
<string key="helpWindow">NSWindow</string>
|
||||
<string key="menuItemHistory">NSMenuItem</string>
|
||||
<string key="menuItemOpenProject">NSMenuItem</string>
|
||||
<string key="menuItemShowInFinder">NSMenuItem</string>
|
||||
<string key="preferencesController">NSUserDefaultsController</string>
|
||||
<string key="preferencesWindow">NSWindow</string>
|
||||
<string key="statusMenu">NSMenu</string>
|
||||
<string key="xcc">XcodeCapp</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="aboutWindow">
|
||||
<string key="name">aboutWindow</string>
|
||||
<string key="candidateClassName">NSPanel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="helpView">
|
||||
<string key="name">helpView</string>
|
||||
<string key="candidateClassName">PDFView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="helpWindow">
|
||||
<string key="name">helpWindow</string>
|
||||
<string key="candidateClassName">NSWindow</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="menuItemHistory">
|
||||
<string key="name">menuItemHistory</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="menuItemOpenProject">
|
||||
<string key="name">menuItemOpenProject</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="menuItemShowInFinder">
|
||||
<string key="name">menuItemShowInFinder</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="preferencesController">
|
||||
<string key="name">preferencesController</string>
|
||||
<string key="candidateClassName">NSUserDefaultsController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="preferencesWindow">
|
||||
<string key="name">preferencesWindow</string>
|
||||
<string key="candidateClassName">NSWindow</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="statusMenu">
|
||||
<string key="name">statusMenu</string>
|
||||
<string key="candidateClassName">NSMenu</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="xcc">
|
||||
<string key="name">xcc</string>
|
||||
<string key="candidateClassName">XcodeCapp</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/AppController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">XcodeCapp</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="clearErrors:">id</string>
|
||||
<string key="openErrorInEditor:">id</string>
|
||||
<string key="openErrorsPanel:">id</string>
|
||||
<string key="openXcodeProject:">id</string>
|
||||
<string key="synchronizeProject:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="clearErrors:">
|
||||
<string key="name">clearErrors:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="openErrorInEditor:">
|
||||
<string key="name">openErrorInEditor:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="openErrorsPanel:">
|
||||
<string key="name">openErrorsPanel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="openXcodeProject:">
|
||||
<string key="name">openXcodeProject:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="synchronizeProject:">
|
||||
<string key="name">synchronizeProject:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="errorListController">NSArrayController</string>
|
||||
<string key="errorTable">NSTableView</string>
|
||||
<string key="errorsPanel">NSPanel</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="errorListController">
|
||||
<string key="name">errorListController</string>
|
||||
<string key="candidateClassName">NSArrayController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="errorTable">
|
||||
<string key="name">errorTable</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="errorsPanel">
|
||||
<string key="name">errorsPanel</string>
|
||||
<string key="candidateClassName">NSPanel</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/XcodeCapp.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<int key="maxID">876</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||
|
||||
Reference in New Issue
Block a user