diff --git a/Arduino Xbee Modem/SoftModem/SoftModem.h b/Arduino Xbee Modem/SoftModem/SoftModem.h index dd8e9c7..7f4a7a5 100644 --- a/Arduino Xbee Modem/SoftModem/SoftModem.h +++ b/Arduino Xbee Modem/SoftModem/SoftModem.h @@ -1,7 +1,7 @@ #ifndef SoftModem_h #define SoftModem_h -#include +#include #include //#define SOFT_MODEM_BAUD_RATE (126) @@ -45,9 +45,9 @@ // 1 stop bit (HIGH) // 1 push bit (HIGH) -#define SOFT_MODEM_DEBUG (1) +#define SOFT_MODEM_DEBUG (0) -class SoftModem : public Print +class SoftModem : public Stream { private: volatile uint8_t *_txPortReg; @@ -67,9 +67,11 @@ class SoftModem : public Print ~SoftModem(); void begin(void); void end(void); - uint8_t available(void); - int read(void); - void write(uint8_t data); + virtual int available(); + virtual int read(); + virtual void flush(); + virtual int peek(); + virtual void write(uint8_t data); void demodulate(void); void recv(void); static SoftModem *activeObject; diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..9e06335 --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,12 @@ +Original Author of the Modem Communication Library is arms22 +Found at http://arms22.blog91.fc2.com/blog-entry-350.html + +*NOTE:* I do not speak Japanese, so I used Google Translator to try to understand parts of this site. + + +Mapping Utility and Xbee communication written by: + +* John Harrison +* Arun Sekaran +* Adam Jeter +* James Holt diff --git a/MapKitiPhone/DrillDownSave/AppDelegate.h b/MapKitiPhone/DrillDownSave/AppDelegate.h new file mode 100755 index 0000000..7902636 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/AppDelegate.h @@ -0,0 +1,78 @@ +/* + File: AppDelegate.h + Abstract: The application delegate class used for adding our navigation controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import + +extern NSString *kRestoreLocationKey; //preference key to obtain our restore location + +extern NSString *kItemTitleKey; // dictionary key for obtaining the item's title to display in each cell +extern NSString *kChildrenKey; // dictionary key for obtaining the item's children +extern NSString *kCellIdentifier; // the table view's cell identifier + + +@interface AppDelegate : NSObject +{ + UINavigationController *navigationController; + UIWindow *window; + + NSDictionary *outlineData; + NSMutableArray *savedLocation; // an array of selections for each drill level + // i.e. + // [0, 1, 3] = at level 1 drill/navigate through item 0, + // at level 2 drill/navigation through item 1, + // at level 3 drill/navigate through item 3 + // i.e. + // [1, -1, -1] = at level 1 drill/navigate through item 2, + // no selection at level 2 (it's -1) so stay at level 2 +} + +@property (nonatomic, retain) IBOutlet UIWindow *window; +@property (nonatomic, retain) IBOutlet UINavigationController *navigationController; +@property (nonatomic, retain) NSDictionary *outlineData; +@property (nonatomic, retain) NSMutableArray *savedLocation; + +@end diff --git a/MapKitiPhone/DrillDownSave/AppDelegate.m b/MapKitiPhone/DrillDownSave/AppDelegate.m new file mode 100755 index 0000000..bffa9c9 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/AppDelegate.m @@ -0,0 +1,136 @@ +/* + File: AppDelegate.m + Abstract: The application delegate class used for adding our navigation controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import "AppDelegate.h" +#import "Level1ViewController.h" + +NSString *kItemTitleKey = @"itemTitle"; // dictionary key for obtaining the item's title to display in each cell +NSString *kChildrenKey = @"itemChildren"; // dictionary key for obtaining the item's children +NSString *kCellIdentifier = @"MyIdentifier"; // the table view's cell identifier + +NSString *kRestoreLocationKey = @"RestoreLocation"; // preference key to obtain our restore location + + +@implementation AppDelegate + +@synthesize window, outlineData, navigationController, savedLocation; + +- (id)init +{ + self = [super init]; + if (self) + { + // load the drill-down list content from the plist filem + // this plist contains the outline mapping each level of the list hierarchy + // + NSString *path = [[NSBundle mainBundle] bundlePath]; + NSString *finalPath = [path stringByAppendingPathComponent:@"outline.plist"]; + outlineData = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain]; + } + return self; +} + +- (void)dealloc +{ + [navigationController release]; + [window release]; + [outlineData release]; + [savedLocation release]; + + [super dealloc]; +} + +- (void)applicationDidFinishLaunching:(UIApplication *)application +{ + // fetch the top level items in our outline (level 1) + NSArray *topLevel1Content = [outlineData objectForKey:kChildrenKey]; + + // give the top view controller its content + ((Level1ViewController*)navigationController.topViewController).listContent = topLevel1Content; + + // load the stored preference of the user's last location from a previous launch + NSMutableArray *tempMutableCopy = [[[NSUserDefaults standardUserDefaults] objectForKey:kRestoreLocationKey] mutableCopy]; + self.savedLocation = tempMutableCopy; + [tempMutableCopy release]; + if (savedLocation == nil) + { + // user has not launched this app nor navigated to a particular level yet, start at level 1, with no selection + savedLocation = [[NSMutableArray arrayWithObjects: + [NSNumber numberWithInteger:-1], // item selection at 1st level (-1 = no selection) + [NSNumber numberWithInteger:-1], // .. 2nd level + [NSNumber numberWithInteger:-1], // .. 3rd level + nil] retain]; + } + else + { + NSInteger selection = [[savedLocation objectAtIndex:0] integerValue]; // read the saved selection at level 1 + if (selection != -1) + { + // user was last at level 2 or deeper + // + // note: this starts a chain reaction down each level (2nd, 3rd, etc.) + // so that each level restores itself and pushes further down until there's no further stored selections. + // + [(Level1ViewController*)navigationController.topViewController restoreLevel:topLevel1Content withSelectionArray:savedLocation]; + } + else + { + // no saved selection, so user was at level 1 the last time + } + } + + // add the navigation controller's view to the window + [window addSubview:[navigationController view]]; + [window makeKeyAndVisible]; + + // register our preference selection data to be archived + NSDictionary *savedLocationDict = [NSDictionary dictionaryWithObject:savedLocation forKey:kRestoreLocationKey]; + [[NSUserDefaults standardUserDefaults] registerDefaults:savedLocationDict]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +@end diff --git a/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.pbxproj b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.pbxproj new file mode 100644 index 0000000..6d7b5eb --- /dev/null +++ b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.pbxproj @@ -0,0 +1,330 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 182A8CC311D2B91300E156CC /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 182A8CC211D2B91300E156CC /* iTunesArtwork */; }; + 182B39E611D166A9003EE100 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39DE11D166A9003EE100 /* Default.png */; }; + 182B39E711D166A9003EE100 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39DF11D166A9003EE100 /* Icon-72.png */; }; + 182B39E811D166A9003EE100 /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39E011D166A9003EE100 /* Icon-Small-50.png */; }; + 182B39E911D166A9003EE100 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39E111D166A9003EE100 /* Icon-Small.png */; }; + 182B39EA11D166A9003EE100 /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39E211D166A9003EE100 /* Icon-Small@2x.png */; }; + 182B39EB11D166A9003EE100 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39E311D166A9003EE100 /* Icon.png */; }; + 182B39EC11D166A9003EE100 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 182B39E411D166A9003EE100 /* Icon@2x.png */; }; + 1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; }; + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 5363CC231003C33D006CE070 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5363CC1F1003C33D006CE070 /* main.m */; }; + 5363CC261003C342006CE070 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5363CC251003C342006CE070 /* AppDelegate.m */; }; + 5392C31111D15AC200222F9A /* LeafViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5392C30A11D15AC200222F9A /* LeafViewController.m */; }; + 5392C31211D15AC200222F9A /* Level1ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5392C30C11D15AC200222F9A /* Level1ViewController.m */; }; + 5392C31311D15AC200222F9A /* Level2ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5392C30E11D15AC200222F9A /* Level2ViewController.m */; }; + 5392C31411D15AC200222F9A /* Level3ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5392C31011D15AC200222F9A /* Level3ViewController.m */; }; + 5392C32A11D15AF900222F9A /* outline.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5392C32911D15AF900222F9A /* outline.plist */; }; + 53D27A0E100E80D100026599 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53D27A0D100E80D100026599 /* AudioToolbox.framework */; }; + 53EACC070DDA319F00908D73 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 53EACC050DDA319F00908D73 /* MainWindow.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 182A8CC211D2B91300E156CC /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; name = iTunesArtwork; path = images/iTunesArtwork; sourceTree = ""; }; + 182B39DE11D166A9003EE100 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = images/Default.png; sourceTree = ""; }; + 182B39DF11D166A9003EE100 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "images/Icon-72.png"; sourceTree = ""; }; + 182B39E011D166A9003EE100 /* Icon-Small-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small-50.png"; path = "images/Icon-Small-50.png"; sourceTree = ""; }; + 182B39E111D166A9003EE100 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small.png"; path = "images/Icon-Small.png"; sourceTree = ""; }; + 182B39E211D166A9003EE100 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small@2x.png"; path = "images/Icon-Small@2x.png"; sourceTree = ""; }; + 182B39E311D166A9003EE100 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = images/Icon.png; sourceTree = ""; }; + 182B39E411D166A9003EE100 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "images/Icon@2x.png"; sourceTree = ""; }; + 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 1D6058910D05DD3D006BFB54 /* DrillDownSave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DrillDownSave.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 53063B351178C93800B6DA5A /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; + 5363CC1F1003C33D006CE070 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 5363CC201003C33D006CE070 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; + 5363CC241003C342006CE070 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 5363CC251003C342006CE070 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 5392C30911D15AC200222F9A /* LeafViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LeafViewController.h; sourceTree = ""; }; + 5392C30A11D15AC200222F9A /* LeafViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LeafViewController.m; sourceTree = ""; }; + 5392C30B11D15AC200222F9A /* Level1ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Level1ViewController.h; sourceTree = ""; }; + 5392C30C11D15AC200222F9A /* Level1ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Level1ViewController.m; sourceTree = ""; }; + 5392C30D11D15AC200222F9A /* Level2ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Level2ViewController.h; sourceTree = ""; }; + 5392C30E11D15AC200222F9A /* Level2ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Level2ViewController.m; sourceTree = ""; }; + 5392C30F11D15AC200222F9A /* Level3ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Level3ViewController.h; sourceTree = ""; }; + 5392C31011D15AC200222F9A /* Level3ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Level3ViewController.m; sourceTree = ""; }; + 5392C32911D15AF900222F9A /* outline.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = outline.plist; sourceTree = ""; }; + 53D27A0D100E80D100026599 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 53EACC060DDA319F00908D73 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */, + 53D27A0E100E80D100026599 /* AudioToolbox.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 1D6058910D05DD3D006BFB54 /* DrillDownSave.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { + isa = PBXGroup; + children = ( + 53063B351178C93800B6DA5A /* ReadMe.txt */, + 53AF8AEC0D9C50B700726DBA /* Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = CustomTemplate; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 182A8CC211D2B91300E156CC /* iTunesArtwork */, + 182B39DE11D166A9003EE100 /* Default.png */, + 182B39DF11D166A9003EE100 /* Icon-72.png */, + 182B39E011D166A9003EE100 /* Icon-Small-50.png */, + 182B39E111D166A9003EE100 /* Icon-Small.png */, + 182B39E211D166A9003EE100 /* Icon-Small@2x.png */, + 182B39E311D166A9003EE100 /* Icon.png */, + 182B39E411D166A9003EE100 /* Icon@2x.png */, + 5392C32911D15AF900222F9A /* outline.plist */, + 8D1107310486CEB800E47090 /* Info.plist */, + 53EACC050DDA319F00908D73 /* MainWindow.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 53D27A0D100E80D100026599 /* AudioToolbox.framework */, + 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */, + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, + 1D30AB110D05D00D00671497 /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 53AF8AEC0D9C50B700726DBA /* Sources */ = { + isa = PBXGroup; + children = ( + 5363CC201003C33D006CE070 /* Prefix.pch */, + 5363CC1F1003C33D006CE070 /* main.m */, + 5363CC241003C342006CE070 /* AppDelegate.h */, + 5363CC251003C342006CE070 /* AppDelegate.m */, + 5392C30911D15AC200222F9A /* LeafViewController.h */, + 5392C30A11D15AC200222F9A /* LeafViewController.m */, + 5392C30B11D15AC200222F9A /* Level1ViewController.h */, + 5392C30C11D15AC200222F9A /* Level1ViewController.m */, + 5392C30D11D15AC200222F9A /* Level2ViewController.h */, + 5392C30E11D15AC200222F9A /* Level2ViewController.m */, + 5392C30F11D15AC200222F9A /* Level3ViewController.h */, + 5392C31011D15AC200222F9A /* Level3ViewController.m */, + ); + name = Sources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1D6058900D05DD3D006BFB54 /* DrillDownSave */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "DrillDownSave" */; + buildPhases = ( + 1D60588D0D05DD3D006BFB54 /* Resources */, + 1D60588E0D05DD3D006BFB54 /* Sources */, + 1D60588F0D05DD3D006BFB54 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DrillDownSave; + productName = IBTest; + productReference = 1D6058910D05DD3D006BFB54 /* DrillDownSave.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "DrillDownSave" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + en, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D6058900D05DD3D006BFB54 /* DrillDownSave */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1D60588D0D05DD3D006BFB54 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 53EACC070DDA319F00908D73 /* MainWindow.xib in Resources */, + 5392C32A11D15AF900222F9A /* outline.plist in Resources */, + 182B39E611D166A9003EE100 /* Default.png in Resources */, + 182B39E711D166A9003EE100 /* Icon-72.png in Resources */, + 182B39E811D166A9003EE100 /* Icon-Small-50.png in Resources */, + 182B39E911D166A9003EE100 /* Icon-Small.png in Resources */, + 182B39EA11D166A9003EE100 /* Icon-Small@2x.png in Resources */, + 182B39EB11D166A9003EE100 /* Icon.png in Resources */, + 182B39EC11D166A9003EE100 /* Icon@2x.png in Resources */, + 182A8CC311D2B91300E156CC /* iTunesArtwork in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1D60588E0D05DD3D006BFB54 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5363CC231003C33D006CE070 /* main.m in Sources */, + 5363CC261003C342006CE070 /* AppDelegate.m in Sources */, + 5392C31111D15AC200222F9A /* LeafViewController.m in Sources */, + 5392C31211D15AC200222F9A /* Level1ViewController.m in Sources */, + 5392C31311D15AC200222F9A /* Level2ViewController.m in Sources */, + 5392C31411D15AC200222F9A /* Level3ViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 53EACC050DDA319F00908D73 /* MainWindow.xib */ = { + isa = PBXVariantGroup; + children = ( + 53EACC060DDA319F00908D73 /* en */, + ); + name = MainWindow.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1D6058940D05DD3E006BFB54 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Prefix.pch; + INFOPLIST_FILE = Info.plist; + PREBINDING = NO; + PRODUCT_NAME = DrillDownSave; + SDKROOT = iphoneos4.0; + }; + name = Debug; + }; + 1D6058950D05DD3E006BFB54 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Prefix.pch; + INFOPLIST_FILE = Info.plist; + PREBINDING = NO; + PRODUCT_NAME = DrillDownSave; + SDKROOT = iphoneos4.0; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 3.2; + ONLY_ACTIVE_ARCH = YES; + PREBINDING = NO; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; + SDKROOT = iphoneos4.0; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 3.2; + PREBINDING = NO; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; + SDKROOT = iphoneos4.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "DrillDownSave" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1D6058940D05DD3E006BFB54 /* Debug */, + 1D6058950D05DD3E006BFB54 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "DrillDownSave" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..5cdc567 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..1c05ea4 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate @@ -0,0 +1,4870 @@ + + + + + $archiver + NSKeyedArchiver + $objects + + $null + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 2 + + + CF$UID + 3 + + + NS.objects + + + CF$UID + 4 + + + CF$UID + 195 + + + + 1E64992E-EE21-486B-B795-911713C350B4 + IDEWorkspaceDocument + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 5 + + + CF$UID + 6 + + + CF$UID + 7 + + + CF$UID + 8 + + + CF$UID + 9 + + + CF$UID + 10 + + + NS.objects + + + CF$UID + 2 + + + CF$UID + 11 + + + CF$UID + 13 + + + CF$UID + 23 + + + CF$UID + 7 + + + CF$UID + 194 + + + + IDEWorkspaceWindowControllerUniqueIdentifier + IDEOrderedWorkspaceTabControllers + IDEWorkspaceTabController_FE937705-9BEB-4DA3-A0CE-245ABE8FF4E2 + IDEWindowToolbarIsVisible + IDEActiveWorkspaceTabController + IDEWindowFrame + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 7 + + + + + $classes + + NSArray + NSObject + + $classname + NSArray + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 14 + + + CF$UID + 15 + + + CF$UID + 16 + + + CF$UID + 17 + + + CF$UID + 18 + + + CF$UID + 19 + + + CF$UID + 20 + + + CF$UID + 21 + + + NS.objects + + + CF$UID + 22 + + + CF$UID + 23 + + + CF$UID + 24 + + + CF$UID + 25 + + + CF$UID + 38 + + + CF$UID + 83 + + + CF$UID + 23 + + + CF$UID + 92 + + + + AssistantEditorsLayout + IDEShowNavigator + IDETabLabel + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + IDEEditorArea + 0 + + Level1ViewController.m + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 26 + + + NS.objects + + + CF$UID + 27 + + + + DVTSplitViewItems + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 28 + + + CF$UID + 34 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 31 + + + CF$UID + 32 + + + + DVTIdentifier + DVTViewMagnitude + + 405 + + $classes + + NSDictionary + NSObject + + $classname + NSDictionary + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 31 + + + CF$UID + 35 + + + + 224 + + $classes + + NSMutableArray + NSArray + NSObject + + $classname + NSMutableArray + + + $classes + + NSMutableDictionary + NSDictionary + NSObject + + $classname + NSMutableDictionary + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 39 + + + CF$UID + 40 + + + CF$UID + 41 + + + CF$UID + 42 + + + NS.objects + + + CF$UID + 43 + + + CF$UID + 65 + + + CF$UID + 78 + + + CF$UID + 40 + + + + Xcode.IDEKit.Navigator.Structure + Xcode.IDEKit.Navigator.BatchFind + Xcode.DebuggerKit.ThreadsStacksNavigator + SelectedNavigator + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 44 + + + CF$UID + 45 + + + CF$UID + 46 + + + CF$UID + 47 + + + CF$UID + 48 + + + CF$UID + 49 + + + CF$UID + 50 + + + NS.objects + + + CF$UID + 51 + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 52 + + + CF$UID + 52 + + + CF$UID + 55 + + + CF$UID + 60 + + + + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {215, 585}} + + + $class + + CF$UID + 54 + + NS.objects + + + + $classes + + NSSet + NSObject + + $classname + NSSet + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 56 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 57 + + + CF$UID + 58 + + + CF$UID + 59 + + + + DrillDownSave + Sources + Level1ViewController.m + + $class + + CF$UID + 54 + + NS.objects + + + CF$UID + 61 + + + CF$UID + 62 + + + CF$UID + 63 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 57 + + + CF$UID + 58 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 57 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 57 + + + CF$UID + 64 + + + + Resources + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 66 + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 + + + CF$UID + 70 + + + CF$UID + 71 + + + CF$UID + 72 + + + NS.objects + + + CF$UID + 22 + + + CF$UID + 52 + + + CF$UID + 31 + + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 22 + + + CF$UID + 76 + + + + IDEBatchFindNavigatorScrollPosition + IDEBatchFindNavigatorShowsOptions + IDEBatchFindNavigatorReplaceString + IDEBatchFindNavigatorFindString + IDEBatchFindNavigatorSelectedRowIndexes + IDEBatchFindNavigatorFindMode + IDEBatchFindNavigatorCollapsedGroups + gest + + $class + + CF$UID + 75 + + NSRangeCount + 0 + + + $classes + + NSIndexSet + NSObject + + $classname + NSIndexSet + + + $class + + CF$UID + 77 + + NSRangeCount + 0 + + + $classes + + NSMutableIndexSet + NSIndexSet + NSObject + + $classname + NSMutableIndexSet + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 79 + + + CF$UID + 80 + + + CF$UID + 81 + + + NS.objects + + + CF$UID + 82 + + + CF$UID + 22 + + + CF$UID + 52 + + + + IDEStackCompressionValue + IDEThreadsOrQueuesMode + IDEHideAncestorForNonInterestingFrames + 2 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 26 + + + NS.objects + + + CF$UID + 84 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 85 + + + CF$UID + 87 + + + CF$UID + 89 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 18 + + + CF$UID + 86 + + + + 216 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 21 + + + CF$UID + 88 + + + + 765 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 90 + + + CF$UID + 91 + + + + IDEUtilitiesArea + 260 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 93 + + + CF$UID + 94 + + + CF$UID + 95 + + + CF$UID + 96 + + + CF$UID + 97 + + + CF$UID + 98 + + + CF$UID + 99 + + + CF$UID + 100 + + + NS.objects + + + CF$UID + 101 + + + CF$UID + 120 + + + CF$UID + 159 + + + CF$UID + 23 + + + CF$UID + 22 + + + CF$UID + 185 + + + CF$UID + 193 + + + CF$UID + 52 + + + + layoutTree + IDEEditorMode_Standard + IDEEDitorArea_DebugArea + IDEShowEditor + EditorMode + DebuggerSplitView + DefaultPersistentRepresentations + ShowDebuggerArea + + $class + + CF$UID + 119 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 102 + + rootLayoutTreeNode + + CF$UID + 116 + + + + $class + + CF$UID + 118 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 103 + + orientation + 0 + parent + + CF$UID + 116 + + + + $class + + CF$UID + 115 + + DocumentLocation + + CF$UID + 111 + + DomainIdentifier + + CF$UID + 104 + + IdentifierPath + + CF$UID + 105 + + IndexOfDocumentIdentifier + + CF$UID + 22 + + + Xcode.IDENavigableItemDomain.WorkspaceStructure + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 106 + + + CF$UID + 108 + + + CF$UID + 109 + + + + + $class + + CF$UID + 107 + + Identifier + + CF$UID + 59 + + + + $classes + + IDEArchivableStringIndexPair + NSObject + + $classname + IDEArchivableStringIndexPair + + + $class + + CF$UID + 107 + + Identifier + + CF$UID + 58 + + + + $class + + CF$UID + 107 + + Identifier + + CF$UID + 110 + + + DrillDownSave + + $class + + CF$UID + 114 + + documentURL + + CF$UID + 112 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level1ViewController.m + + + $classes + + NSMutableString + NSString + NSObject + + $classname + NSMutableString + + + $classes + + DVTDocumentLocation + NSObject + + $classname + DVTDocumentLocation + + + $classes + + IDENavigableItemArchivableRepresentation + NSObject + + $classname + IDENavigableItemArchivableRepresentation + + + $class + + CF$UID + 118 + + children + + CF$UID + 117 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 102 + + + + + $classes + + IDEWorkspaceTabControllerLayoutTreeNode + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTreeNode + + + $classes + + IDEWorkspaceTabControllerLayoutTree + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTree + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 121 + + + NS.objects + + + CF$UID + 122 + + + + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 123 + + + NS.objects + + + CF$UID + 124 + + + + Main + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 125 + + + CF$UID + 126 + + + CF$UID + 127 + + + NS.objects + + + CF$UID + 128 + + + CF$UID + 22 + + + CF$UID + 157 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 129 + + + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + CF$UID + 133 + + + CF$UID + 134 + + + CF$UID + 135 + + + CF$UID + 136 + + + NS.objects + + + CF$UID + 137 + + + CF$UID + 138 + + + CF$UID + 144 + + + CF$UID + 152 + + + CF$UID + 59 + + + CF$UID + 153 + + + CF$UID + 154 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + public.objective-c-source + + $class + + CF$UID + 115 + + DocumentLocation + + CF$UID + 111 + + DomainIdentifier + + CF$UID + 104 + + IdentifierPath + + CF$UID + 139 + + IndexOfDocumentIdentifier + + CF$UID + 22 + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 140 + + + CF$UID + 141 + + + CF$UID + 142 + + + + + $class + + CF$UID + 107 + + Identifier + + CF$UID + 59 + + + + $class + + CF$UID + 107 + + Identifier + + CF$UID + 58 + + + + $class + + CF$UID + 107 + + Identifier + + CF$UID + 143 + + + DrillDownSave + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 149 + + + CF$UID + 150 + + + CF$UID + 52 + + + CF$UID + 151 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 323760768.35798502 + {2119, 1114} + {6121, 413} + -viewDidAppear: + Xcode.IDEKit.EditorDocument.SourceCode + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 155 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level1ViewController.m + + $classes + + NSURL + NSObject + + $classname + NSURL + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 158 + + + + {{0, 0}, {765, 629}} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 160 + + + CF$UID + 161 + + + CF$UID + 162 + + + CF$UID + 163 + + + CF$UID + 164 + + + CF$UID + 165 + + + NS.objects + + + CF$UID + 166 + + + CF$UID + 167 + + + CF$UID + 169 + + + CF$UID + 166 + + + CF$UID + 171 + + + CF$UID + 179 + + + + LayoutFocusMode + console + variables + LayoutMode + IDEDebugArea_SplitView + IDEDebuggerAreaSplitView + 1 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 168 + + + NS.objects + + + CF$UID + 22 + + + + ConsoleFilterMode + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 170 + + + NS.objects + + + CF$UID + 82 + + + + DBGVariablesViewFilterMode + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 26 + + + NS.objects + + + CF$UID + 172 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 173 + + + CF$UID + 176 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 174 + + + CF$UID + 175 + + + + VariablesView + 300 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 177 + + + CF$UID + 178 + + + + ConsoleArea + 464 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 26 + + + NS.objects + + + CF$UID + 180 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 181 + + + CF$UID + 183 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 174 + + + CF$UID + 182 + + + + 300 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 177 + + + CF$UID + 184 + + + + 464 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 26 + + + NS.objects + + + CF$UID + 186 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 187 + + + CF$UID + 190 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 188 + + + CF$UID + 189 + + + + IDEEditor + 513 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 30 + + + NS.objects + + + CF$UID + 191 + + + CF$UID + 192 + + + + IDEDebuggerArea + 115 + + $class + + CF$UID + 37 + + NS.keys + + NS.objects + + + {{-1258, 359}, {1241, 705}} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 196 + + + CF$UID + 197 + + + CF$UID + 198 + + + CF$UID + 199 + + + CF$UID + 200 + + + CF$UID + 201 + + + CF$UID + 202 + + + CF$UID + 203 + + + CF$UID + 204 + + + CF$UID + 205 + + + NS.objects + + + CF$UID + 52 + + + CF$UID + 206 + + + CF$UID + 22 + + + CF$UID + 370 + + + CF$UID + 375 + + + CF$UID + 378 + + + CF$UID + 409 + + + CF$UID + 410 + + + CF$UID + 52 + + + CF$UID + 52 + + + + BreakpointsActivated + DefaultEditorStatesForURLs + DebuggingWindowBehavior + ActiveRunDestination + ActiveScheme + LastCompletedPersistentSchemeBasedActivityReport + DocumentWindows + RecentEditorDocumentURLs + AppFocusInMiniDebugging + MiniDebuggingConsole + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 207 + + + CF$UID + 153 + + + CF$UID + 208 + + + CF$UID + 209 + + + NS.objects + + + CF$UID + 210 + + + CF$UID + 233 + + + CF$UID + 300 + + + CF$UID + 345 + + + + Xcode.IDEKit.EditorDocument.PlistEditor + IDEQuickLookEditor.Editor + Xcode.IDEKit.CocoaTouchIntegration.EditorDocument.CocoaTouch + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 213 + + + NS.objects + + + CF$UID + 215 + + + CF$UID + 228 + + + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 212 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/outline.plist + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 214 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Info.plist + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 216 + + + CF$UID + 217 + + + CF$UID + 218 + + + NS.objects + + + CF$UID + 219 + + + CF$UID + 220 + + + CF$UID + 221 + + + + IDE_PLIST_EDITOR_SELECTION_KEY + IDE_PLIST_EDITOR_VISIBLERECT_KEY + IDE_PLIST_EDITOR_EXPANSION_KEY + + $class + + CF$UID + 12 + + NS.objects + + + {{0, 0}, {765, 590}} + + $class + + CF$UID + 227 + + NS.objects + + + CF$UID + 222 + + + CF$UID + 225 + + + CF$UID + 226 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 223 + + + CF$UID + 224 + + + CF$UID + 223 + + + + itemChildren + 0 + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 223 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 223 + + + CF$UID + 224 + + + + + $classes + + NSMutableSet + NSSet + NSObject + + $classname + NSMutableSet + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 216 + + + CF$UID + 217 + + + CF$UID + 218 + + + NS.objects + + + CF$UID + 229 + + + CF$UID + 231 + + + CF$UID + 232 + + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 230 + + + + NSMainNibFile + {{0, 0}, {765, 590}} + + $class + + CF$UID + 227 + + NS.objects + + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 234 + + + CF$UID + 236 + + + CF$UID + 237 + + + CF$UID + 239 + + + CF$UID + 241 + + + CF$UID + 243 + + + CF$UID + 245 + + + CF$UID + 247 + + + CF$UID + 249 + + + CF$UID + 251 + + + CF$UID + 253 + + + CF$UID + 255 + + + NS.objects + + + CF$UID + 257 + + + CF$UID + 261 + + + CF$UID + 265 + + + CF$UID + 268 + + + CF$UID + 271 + + + CF$UID + 274 + + + CF$UID + 278 + + + CF$UID + 281 + + + CF$UID + 285 + + + CF$UID + 289 + + + CF$UID + 292 + + + CF$UID + 296 + + + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 235 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/LeafViewController.m + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 112 + + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 238 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/main.m + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 240 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level2ViewController.h + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 242 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/LeafViewController.h + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 244 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/AppDelegate.h + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 246 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level3ViewController.h + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 248 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level2ViewController.m + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 250 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/AppDelegate.m + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 252 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Prefix.pch + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 254 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level3ViewController.m + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 256 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level1ViewController.h + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 258 + + + CF$UID + 259 + + + CF$UID + 52 + + + CF$UID + 260 + + + + 323755410.16420197 + {503, 2160} + {0, 0} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 262 + + + CF$UID + 263 + + + CF$UID + 52 + + + CF$UID + 264 + + + + 323760768.35556 + {2119, 1114} + {6121, 413} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 266 + + + CF$UID + 267 + + + CF$UID + 52 + + + CF$UID + 260 + + + + 323755956.478737 + {432, 2249} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 269 + + + CF$UID + 270 + + + CF$UID + 52 + + + CF$UID + 260 + + + + 323756453.69716698 + {997, 2059} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 272 + + + CF$UID + 273 + + + CF$UID + 52 + + + CF$UID + 260 + + + + 323756375.07135701 + {330, 2248} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 275 + + + CF$UID + 276 + + + CF$UID + 52 + + + CF$UID + 277 + + + + 323756110.24379998 + {1994, 1753} + {2877, 0} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 279 + + + CF$UID + 280 + + + CF$UID + 52 + + + CF$UID + 260 + + + + 323747311.239227 + {1070, 2009} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 282 + + + CF$UID + 283 + + + CF$UID + 52 + + + CF$UID + 284 + + + + 323755399.80636001 + {4655, 1816} + {5503, 0} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 286 + + + CF$UID + 287 + + + CF$UID + 52 + + + CF$UID + 288 + + + + 323756305.97430199 + {1522, 1782} + {2544, 4} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 290 + + + CF$UID + 291 + + + CF$UID + 52 + + + CF$UID + 260 + + + + 323755830.22621399 + {0, 88} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 293 + + + CF$UID + 294 + + + CF$UID + 52 + + + CF$UID + 295 + + + + 323755405.35091698 + {4513, 1575} + {5199, 0} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 297 + + + CF$UID + 298 + + + CF$UID + 52 + + + CF$UID + 299 + + + + 323756367.64573002 + {1070, 1986} + {2589, 69} + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 301 + + + CF$UID + 303 + + + CF$UID + 305 + + + CF$UID + 307 + + + CF$UID + 309 + + + CF$UID + 311 + + + NS.objects + + + CF$UID + 313 + + + CF$UID + 320 + + + CF$UID + 325 + + + CF$UID + 330 + + + CF$UID + 335 + + + CF$UID + 340 + + + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 302 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon.png + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 304 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-Small-50.png + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 306 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-Small@2x.png + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 308 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon@2x.png + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 310 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-72.png + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 312 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-Small.png + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 315 + + + + SelectedDocumentLocations + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 316 + + + + + $class + + CF$UID + 319 + + IDEQuickLookPageNumber + + CF$UID + 22 + + documentURL + + CF$UID + 317 + + timestamp + + CF$UID + 318 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon.png + 323748926.77441603 + + $classes + + IDEQuickLookDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDEQuickLookDocumentLocation + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 321 + + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 322 + + + + + $class + + CF$UID + 319 + + IDEQuickLookPageNumber + + CF$UID + 22 + + documentURL + + CF$UID + 323 + + timestamp + + CF$UID + 324 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-Small-50.png + 323748924.13146901 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 326 + + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 327 + + + + + $class + + CF$UID + 319 + + IDEQuickLookPageNumber + + CF$UID + 22 + + documentURL + + CF$UID + 328 + + timestamp + + CF$UID + 329 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-Small@2x.png + 323748925.85944402 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 331 + + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 332 + + + + + $class + + CF$UID + 319 + + IDEQuickLookPageNumber + + CF$UID + 22 + + documentURL + + CF$UID + 333 + + timestamp + + CF$UID + 334 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon@2x.png + 323748929.37995303 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 336 + + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 337 + + + + + $class + + CF$UID + 319 + + IDEQuickLookPageNumber + + CF$UID + 22 + + documentURL + + CF$UID + 338 + + timestamp + + CF$UID + 339 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-72.png + 323748923.301943 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 341 + + + + + $class + + CF$UID + 12 + + NS.objects + + + CF$UID + 342 + + + + + $class + + CF$UID + 319 + + IDEQuickLookPageNumber + + CF$UID + 22 + + documentURL + + CF$UID + 343 + + timestamp + + CF$UID + 344 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/images/Icon-Small.png + 323748924.95488298 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 346 + + + NS.objects + + + CF$UID + 348 + + + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 347 + + + + $class + + CF$UID + 113 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/en.lproj/MainWindow.xib + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 349 + + + CF$UID + 350 + + + CF$UID + 351 + + + CF$UID + 352 + + + NS.objects + + + CF$UID + 353 + + + CF$UID + 356 + + + CF$UID + 358 + + + CF$UID + 359 + + + + IBDockViewController + SelectedObjectIDs + SelectionProvider + IBCanvasViewController + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 354 + + + NS.objects + + + CF$UID + 355 + + + + LastKnownOutlineViewWidth + 293 + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 357 + + + + 10 + IBStructureViewController + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 360 + + + CF$UID + 361 + + + NS.objects + + + CF$UID + 362 + + + CF$UID + 366 + + + + ObjectIDToLastKnownCanvasPositionMap + EditedTopLevelObjectIDs + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 363 + + + CF$UID + 82 + + + NS.objects + + + CF$UID + 364 + + + CF$UID + 365 + + + + 9 + {35, -30} + {24, -55} + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 367 + + + CF$UID + 82 + + + CF$UID + 368 + + + CF$UID + 369 + + + CF$UID + 363 + + + + 16 + 15 + 14 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 371 + + + CF$UID + 372 + + + NS.objects + + + CF$UID + 373 + + + CF$UID + 374 + + + + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-iphonesimulator:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk-iPhone + i386 + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 376 + + + NS.objects + + + CF$UID + 377 + + + + IDENameString + DrillDownSave + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 379 + + + CF$UID + 380 + + + CF$UID + 381 + + + NS.objects + + + CF$UID + 382 + + + CF$UID + 408 + + + CF$UID + 389 + + + + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + IDEActivityReportTitle + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 383 + + + CF$UID + 390 + + + CF$UID + 394 + + + CF$UID + 399 + + + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 384 + + + CF$UID + 385 + + + CF$UID + 386 + + + NS.objects + + + CF$UID + 387 + + + CF$UID + 388 + + + CF$UID + 389 + + + + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentStringValue + 2 + + Build + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 384 + + + CF$UID + 385 + + + CF$UID + 386 + + + NS.objects + + + CF$UID + 391 + + + CF$UID + 392 + + + CF$UID + 393 + + + + 4 + : + DrillDownSave + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 384 + + + CF$UID + 385 + + + CF$UID + 386 + + + NS.objects + + + CF$UID + 395 + + + CF$UID + 396 + + + CF$UID + 397 + + + + 1 + │ + + $class + + CF$UID + 398 + + NS.data + + YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK + CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC + WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui + FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO + U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q + EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh + c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT + cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 + NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 + cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB + cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf + AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA + yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL + AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $class + + CF$UID + 37 + + NS.keys + + + CF$UID + 384 + + + CF$UID + 400 + + + CF$UID + 401 + + + CF$UID + 386 + + + CF$UID + 402 + + + CF$UID + 403 + + + NS.objects + + + CF$UID + 404 + + + CF$UID + 166 + + + CF$UID + 405 + + + CF$UID + 407 + + + CF$UID + 166 + + + CF$UID + 166 + + + + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentDate + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentTimeStyle + 3 + + $class + + CF$UID + 406 + + NS.time + 323756379.58413899 + + + $classes + + NSDate + NSObject + + $classname + NSDate + + Yesterday at 11:19 PM + 106 + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 2 + + + + + $class + + CF$UID + 36 + + NS.objects + + + CF$UID + 411 + + + CF$UID + 413 + + + CF$UID + 415 + + + CF$UID + 417 + + + CF$UID + 419 + + + CF$UID + 421 + + + CF$UID + 423 + + + CF$UID + 425 + + + CF$UID + 427 + + + CF$UID + 429 + + + + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 412 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level1ViewController.m + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 414 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/en.lproj/MainWindow.xib + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 416 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level2ViewController.h + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 418 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/LeafViewController.h + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 420 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Level1ViewController.h + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 422 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/AppDelegate.m + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 424 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/AppDelegate.h + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 426 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/main.m + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 428 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/Info.plist + + $class + + CF$UID + 156 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 430 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/DrillDownSave/outline.plist + + $top + + State + + CF$UID + 1 + + + $version + 100000 + + diff --git a/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/DrillDownSave.xcscheme b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/DrillDownSave.xcscheme new file mode 100644 index 0000000..5b5fa69 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/DrillDownSave.xcscheme @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/xcschememanagement.plist b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..624257e --- /dev/null +++ b/MapKitiPhone/DrillDownSave/DrillDownSave.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + DrillDownSave.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 1D6058900D05DD3D006BFB54 + + primary + + + + + diff --git a/MapKitiPhone/DrillDownSave/Info.plist b/MapKitiPhone/DrillDownSave/Info.plist new file mode 100755 index 0000000..ad00690 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Info.plist @@ -0,0 +1,37 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFiles + + Icon.png + Icon@2x.png + Icon-72.png + Icon-Small.png + Icon-Small-50.png + Icon-Small@2x.png + + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.3 + LSRequiresIPhoneOS + + NSMainNibFile + MainWindow + + diff --git a/MapKitiPhone/DrillDownSave/LeafViewController.h b/MapKitiPhone/DrillDownSave/LeafViewController.h new file mode 100644 index 0000000..164ad7b --- /dev/null +++ b/MapKitiPhone/DrillDownSave/LeafViewController.h @@ -0,0 +1,54 @@ +/* + File: LeafViewController.h + Abstract: The leaf view controller for items residing at level 3. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import + +@interface LeafViewController : UIViewController +{ +} + +@end diff --git a/MapKitiPhone/DrillDownSave/LeafViewController.m b/MapKitiPhone/DrillDownSave/LeafViewController.m new file mode 100644 index 0000000..df2d66a --- /dev/null +++ b/MapKitiPhone/DrillDownSave/LeafViewController.m @@ -0,0 +1,57 @@ +/* + File: LeafViewController.m + Abstract: The leaf view controller for items residing at level 3. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import "LeafViewController.h" + +@implementation LeafViewController + +- (void)awakeFromNib +{ + self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]; +} + +@end diff --git a/MapKitiPhone/DrillDownSave/Level1ViewController.h b/MapKitiPhone/DrillDownSave/Level1ViewController.h new file mode 100644 index 0000000..3c28f2c --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Level1ViewController.h @@ -0,0 +1,65 @@ +/* + File: Level1ViewController.h + Abstract: The application's level 1 view controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import + +@class Level2ViewController; + +@interface Level1ViewController : UIViewController +{ + UITableView *myTableView; + Level2ViewController *level2ViewController; + NSArray *listContent; +} + +@property (nonatomic, retain) IBOutlet UITableView *myTableView; +@property (nonatomic, retain) IBOutlet Level2ViewController *level2ViewController; +@property (nonatomic, retain) NSArray *listContent; + +- (void)restoreLevel:(NSArray*)items withSelectionArray:(NSArray *)selectionArray; + +@end diff --git a/MapKitiPhone/DrillDownSave/Level1ViewController.m b/MapKitiPhone/DrillDownSave/Level1ViewController.m new file mode 100644 index 0000000..da62f3e --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Level1ViewController.m @@ -0,0 +1,163 @@ +/* + File: Level1ViewController.m + Abstract: The application's level 1 view controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import "AppDelegate.h" +#import "Level1ViewController.h" +#import "Level2ViewController.h" + +@implementation Level1ViewController + +@synthesize listContent, level2ViewController, myTableView; + +- (void)dealloc +{ + [myTableView release]; + [listContent release]; + [level2ViewController release]; + [super dealloc]; +} + +- (void)awakeFromNib +{ + self.title = @"Level 1"; +} + + +#pragma mark UIViewController delegates + +- (void)viewWillAppear:(BOOL)animated +{ + [myTableView reloadData]; // populate our table's data + + NSIndexPath *tableSelection = [myTableView indexPathForSelectedRow]; + [myTableView deselectRowAtIndexPath:tableSelection animated:NO]; +} + + +#pragma mark UITableView delegates + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return [listContent count]; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + // save off this level's selection to our AppDelegate + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + [appDelegate.savedLocation replaceObjectAtIndex:0 withObject:[NSNumber numberWithInteger:indexPath.row]]; + [appDelegate.savedLocation replaceObjectAtIndex:1 withObject:[NSNumber numberWithInteger:-1]]; + [appDelegate.savedLocation replaceObjectAtIndex:2 withObject:[NSNumber numberWithInteger:-1]]; + + // provide the 2nd level its content + level2ViewController.listContent = [[listContent objectAtIndex:indexPath.row] objectForKey:kChildrenKey]; + + // move to the 2nd level + [[self navigationController] pushViewController:level2ViewController animated:YES]; + + // commit the drill down location preference setting + [[NSUserDefaults standardUserDefaults] setObject:appDelegate.savedLocation forKey:kRestoreLocationKey]; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; + if (cell == nil) + { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellIdentifier] autorelease]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + + // get the view controller's info dictionary based on the indexPath's row + NSDictionary* item = [listContent objectAtIndex:indexPath.row]; + cell.textLabel.text = [item objectForKey:kItemTitleKey]; + + return cell; +} + +// User was last at level 2 or deeper +// +// note: this is a part of a chain reaction down each level (2nd, 3rd, etc.) +// so that each level restores itself and pushes further down until there's no further stored selections. +// +- (void)restoreLevel:(NSArray*)items withSelectionArray:(NSArray *)selectionArray +{ + // user was last at level 2 or deeper + // + self.listContent = items; // remember our content here at level 1 in case user navigates back to this level + + // move in level 2 and restore its content (not animated since the user should not see the restore process) + [[self navigationController] pushViewController:level2ViewController animated:NO]; + + // get the level 2 content + NSInteger itemIdx = [[selectionArray objectAtIndex:0] integerValue]; + NSArray *itemContent = [[items objectAtIndex:itemIdx] objectForKey:kChildrenKey]; + + // narrow down the selection array for level 2 + NSArray *newSelectionArray = [selectionArray subarrayWithRange:NSMakeRange(1, [selectionArray count]-1)]; + + // restore that level + [level2ViewController restoreLevel:itemContent withSelectionArray:newSelectionArray]; +} + +- (void)viewDidAppear:(BOOL)animated +{ + // we have moved to level 1, remove it's stored selection + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + [appDelegate.savedLocation replaceObjectAtIndex:0 withObject:[NSNumber numberWithInteger:-1]]; + + // commit the drill down location preference setting + [[NSUserDefaults standardUserDefaults] setObject:appDelegate.savedLocation forKey:kRestoreLocationKey]; +} + +@end + diff --git a/MapKitiPhone/DrillDownSave/Level2ViewController.h b/MapKitiPhone/DrillDownSave/Level2ViewController.h new file mode 100644 index 0000000..b509979 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Level2ViewController.h @@ -0,0 +1,65 @@ +/* + File: Level2ViewController.h + Abstract: The application's level 2 view controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import + +@class Level3ViewController; + +@interface Level2ViewController : UIViewController +{ + UITableView *myTableView; + Level3ViewController *level3ViewController; + NSArray *listContent; +} + +@property (nonatomic, retain) IBOutlet UITableView *myTableView; +@property (nonatomic, retain) IBOutlet Level3ViewController *level3ViewController; +@property (nonatomic, retain) NSArray *listContent; + +- (void)restoreLevel:(NSArray*)items withSelectionArray:(NSArray *)selectionArray; + +@end diff --git a/MapKitiPhone/DrillDownSave/Level2ViewController.m b/MapKitiPhone/DrillDownSave/Level2ViewController.m new file mode 100644 index 0000000..50c006d --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Level2ViewController.m @@ -0,0 +1,166 @@ +/* + File: Level2ViewController.m + Abstract: The application's level 2 view controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import "AppDelegate.h" +#import "Level2ViewController.h" +#import "Level3ViewController.h" + +@implementation Level2ViewController + +@synthesize listContent, level3ViewController, myTableView; + +- (void)dealloc +{ + [myTableView release]; + [listContent release]; + [level3ViewController release]; + [super dealloc]; +} + +- (void)awakeFromNib +{ + self.title = @"Level 2"; +} + + +#pragma mark UIViewController delegates + +- (void)viewWillAppear:(BOOL)animated +{ + [myTableView reloadData]; // populate our table's data + + NSIndexPath *tableSelection = [myTableView indexPathForSelectedRow]; + [myTableView deselectRowAtIndexPath:tableSelection animated:NO]; +} + + +#pragma mark UITableView delegates + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return [listContent count]; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + // save off this level's selection to our AppDelegate + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + [appDelegate.savedLocation replaceObjectAtIndex:1 withObject:[NSNumber numberWithInteger:indexPath.row]]; + [appDelegate.savedLocation replaceObjectAtIndex:2 withObject:[NSNumber numberWithInteger:-1]]; + + // provide the 3nd level its content + level3ViewController.listContent = [[listContent objectAtIndex:indexPath.row] objectForKey:kChildrenKey]; + + // move to the 3rd level + [[self navigationController] pushViewController:level3ViewController animated:YES]; + + // commit the drill down location preference setting + [[NSUserDefaults standardUserDefaults] setObject:appDelegate.savedLocation forKey:kRestoreLocationKey]; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; + if (cell == nil) + { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellIdentifier] autorelease]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + + // get the view controller's info dictionary based on the indexPath's row + NSDictionary* item = [listContent objectAtIndex:indexPath.row]; + cell.textLabel.text = [item objectForKey:kItemTitleKey]; + + return cell; +} + +// User was last at level 2 or deeper +// +// note: this is a part of a chain reaction down each level. +// so that each level restores itself and pushes further down until there's no further stored selections. +// +- (void)restoreLevel:(NSArray*)items withSelectionArray:(NSArray *)selectionArray +{ + // user was last at level 2 or deeper + // + self.listContent = items; // remember our content here at level 1 in case user navigates back to this level + + NSInteger itemIdx = [[selectionArray objectAtIndex:0] integerValue]; + if (itemIdx != -1) + { + // we have a selection, move one more level deep and restore its content + // (not animated since the user should not see the restore process) + [[self navigationController] pushViewController:level3ViewController animated:NO]; + + // get the level 3 content + NSArray *itemContent = [[items objectAtIndex:itemIdx] objectForKey:kChildrenKey]; + + // narrow down the selection array for level 3 + NSArray *newSelectionArray = [selectionArray subarrayWithRange:NSMakeRange(1, [selectionArray count]-1)]; + + // restore that level + [level3ViewController restoreLevel:itemContent withSelectionArray:newSelectionArray]; + } +} + +- (void)viewDidAppear:(BOOL)animated +{ + // we have moved to level 2, remove it's stored selection + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + [appDelegate.savedLocation replaceObjectAtIndex:1 withObject:[NSNumber numberWithInteger:-1]]; + + // commit the drill down location preference setting + [[NSUserDefaults standardUserDefaults] setObject:appDelegate.savedLocation forKey:kRestoreLocationKey]; +} + +@end + diff --git a/MapKitiPhone/DrillDownSave/Level3ViewController.h b/MapKitiPhone/DrillDownSave/Level3ViewController.h new file mode 100644 index 0000000..522d93c --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Level3ViewController.h @@ -0,0 +1,65 @@ +/* + File: Level3ViewController.h + Abstract: The application's level 3 view controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import + +@class LeafViewController; // view controller for leaf items + +@interface Level3ViewController : UIViewController +{ + UITableView *myTableView; + LeafViewController *leafViewController; + NSArray *listContent; +} + +@property (nonatomic, retain) IBOutlet UITableView *myTableView; +@property (nonatomic, retain) IBOutlet LeafViewController *leafViewController; +@property (nonatomic, retain) NSArray *listContent; + +- (void)restoreLevel:(NSArray*)items withSelectionArray:(NSArray *)selectionArray; + +@end diff --git a/MapKitiPhone/DrillDownSave/Level3ViewController.m b/MapKitiPhone/DrillDownSave/Level3ViewController.m new file mode 100644 index 0000000..2dbcdeb --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Level3ViewController.m @@ -0,0 +1,158 @@ +/* + File: Level3ViewController.m + Abstract: The application's level 3 view controller. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import "AppDelegate.h" +#import "Level3ViewController.h" +#import "LeafViewController.h" + +@implementation Level3ViewController + +NSString *kLevel3TitlePage = @"Level 3"; + +@synthesize listContent, leafViewController, myTableView; + +- (void)dealloc +{ + [myTableView release]; + [listContent release]; + [super dealloc]; +} + +- (void)awakeFromNib +{ + self.title = @"Level 3"; +} + + +#pragma mark UIViewController delegates + +- (void)viewWillAppear:(BOOL)animated +{ + [myTableView reloadData]; // populate our table's data + + NSIndexPath *tableSelection = [myTableView indexPathForSelectedRow]; + [myTableView deselectRowAtIndexPath:tableSelection animated:NO]; +} + + +#pragma mark UITableView delegates + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return [listContent count]; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + // save off this level's selection to our AppDelegate + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + [appDelegate.savedLocation replaceObjectAtIndex:2 withObject:[NSNumber numberWithInteger:indexPath.row]]; + + leafViewController.title = [[listContent objectAtIndex:indexPath.row] objectForKey:kItemTitleKey]; + + // move to the leaf level + [[self navigationController] pushViewController:leafViewController animated:YES]; + + // commit the drill down location preference setting + [[NSUserDefaults standardUserDefaults] setObject:appDelegate.savedLocation forKey:kRestoreLocationKey]; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; + if (cell == nil) + { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellIdentifier] autorelease]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + + // get the view controller's info dictionary based on the indexPath's row + NSDictionary* item = [listContent objectAtIndex:indexPath.row]; + cell.textLabel.text = [item objectForKey:kItemTitleKey]; + + return cell; +} + +// User was last at level 3 or at a leaf page +// +// note: this is a part of a chain reaction down each level. +// so that each level restores itself and pushes further down until there's no further stored selections. +// +- (void)restoreLevel:(NSArray*)items withSelectionArray:(NSArray *)selectionArray +{ + // user was last at level 3 or at a leaf page + // + self.listContent = items; // remember our content here at level 1 in case user navigates back to this level + + NSInteger itemIdx = [[selectionArray objectAtIndex:0] integerValue]; + if (itemIdx != -1) + { + leafViewController.title = [[listContent objectAtIndex:itemIdx] objectForKey:kItemTitleKey]; + + // we have a selection, move one more level deep and restore its content + // (not animated since the user should not see the restore process) + [[self navigationController] pushViewController:leafViewController animated:NO]; + } +} + +- (void)viewDidAppear:(BOOL)animated +{ + // we have moved to level 3, remove it's stored selection + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + [appDelegate.savedLocation replaceObjectAtIndex:2 withObject:[NSNumber numberWithInteger:-1]]; + + // commit the drill down location preference setting + [[NSUserDefaults standardUserDefaults] setObject:appDelegate.savedLocation forKey:kRestoreLocationKey]; +} + +@end + diff --git a/MapKitiPhone/DrillDownSave/Prefix.pch b/MapKitiPhone/DrillDownSave/Prefix.pch new file mode 100755 index 0000000..4572cf6 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/Prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ + #import + #import +#endif \ No newline at end of file diff --git a/MapKitiPhone/DrillDownSave/ReadMe.txt b/MapKitiPhone/DrillDownSave/ReadMe.txt new file mode 100644 index 0000000..a07728d --- /dev/null +++ b/MapKitiPhone/DrillDownSave/ReadMe.txt @@ -0,0 +1,46 @@ +DrillDownSave + +Demonstrates how to restore the user's current location in a drill-down list style user interface and +restore that location when the app is relaunched. The drill-down or content hierarchy is generated +from a plist file called 'outline.plist'. + +The sample stores the user's location in its preferences file using NSUserDefaults. + +One important factor this sample illustrates in restoring the proper UIViewController stack by +telling its UINavigationController to push each level without animation like so: + + [[self navigationController] pushViewController:level3ViewController animated:NO]; + + +Build Requirements +iOS 4.0 SDK + + +Runtime Requirements +iPhone OS 3.2 or later + + +Using the Sample +Build and run DrillDownSave using Xcode. To run in the simulator, set the Active SDK to Simulator. +To run on a device, set the Active SDK to the appropriate Device setting. +When launched navigate through various items in the tree hierarchy. Press the home button and re-launch DrillDownSave. +The app should return you to the same level from the previous launch. + + +Packaging List +main.m - Main source file for this sample. +AppDelegate.h/.m - The application' delegate to setup its window and content. +Level1ViewController.h/.m - The top-most view controller of the tree hierarchy. +Level2ViewController.h/.m - The second level view controller of the tree hierarchy. +Level3ViewController.h/.m - The third and last level view controller of the tree hierarchy. +LeafViewController.h/.m - Leaf item view controller for items residing at level 3. +outline.plist - the dictionary or outline of the view level hierarchy used in populating the drill-down list. + + +Changes from Previous Versions +1.0 - First release +1.1 - Updated for and tested with iPhone OS 2.0. First public release. +1.2 - Upgraded for 3.0 SDK due to deprecated APIs; in "cellForRowAtIndexPath" it now uses UITableViewCell's initWithStyle. +1.3 - Upgraded project to build with the iOS 4.0 SDK. + +Copyright (C) 2008-2010 Apple Inc. All rights reserved. \ No newline at end of file diff --git a/MapKitiPhone/DrillDownSave/en.lproj/InfoPlist.strings b/MapKitiPhone/DrillDownSave/en.lproj/InfoPlist.strings new file mode 100755 index 0000000..ea5e7a7 Binary files /dev/null and b/MapKitiPhone/DrillDownSave/en.lproj/InfoPlist.strings differ diff --git a/MapKitiPhone/DrillDownSave/en.lproj/MainWindow.xib b/MapKitiPhone/DrillDownSave/en.lproj/MainWindow.xib new file mode 100644 index 0000000..b09ec2c --- /dev/null +++ b/MapKitiPhone/DrillDownSave/en.lproj/MainWindow.xib @@ -0,0 +1,616 @@ + + + + 768 + 10J869 + 1305 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 300 + + + YES + IBProxyObject + IBUINavigationController + IBUIViewController + IBUICustomObject + IBUIWindow + IBUINavigationBar + IBUINavigationItem + IBUITableView + IBUIView + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + + + YES + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1292 + + {320, 480} + + + + 1 + MSAxIDEAA + + NO + NO + IBCocoaTouchFramework + YES + + + IBCocoaTouchFramework + + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + 256 + {0, 0} + NO + YES + YES + IBCocoaTouchFramework + + + YES + + + + 274 + + YES + + + 274 + {320, 416} + + + + NO + YES + NO + IBCocoaTouchFramework + 1 + 0 + YES + 44 + 27 + 27 + + + {{0, 64}, {320, 416}} + + + + 3 + MQA + + 2 + + + NO + IBCocoaTouchFramework + + + DrillDownSave + IBCocoaTouchFramework + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + + + + + 274 + + YES + + + 274 + {320, 460} + + + + NO + YES + NO + IBCocoaTouchFramework + 1 + 0 + YES + 44 + 27 + 27 + + + {{0, 20}, {320, 460}} + + + + 3 + MQA + + + NO + IBCocoaTouchFramework + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + + + 274 + + YES + + + 274 + {320, 460} + + + + NO + YES + NO + IBCocoaTouchFramework + 1 + 0 + YES + 44 + 27 + 27 + + + {{0, 20}, {320, 460}} + + + + 3 + MQA + + + NO + IBCocoaTouchFramework + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + + + 274 + {{0, 20}, {320, 460}} + + + + 3 + MQA + + + NO + IBCocoaTouchFramework + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + + + YES + + + delegate + + + + 7 + + + + window + + + + 8 + + + + navigationController + + + + 13 + + + + level2ViewController + + + + 20 + + + + level3ViewController + + + + 21 + + + + leafViewController + + + + 22 + + + + myTableView + + + + 43 + + + + myTableView + + + + 44 + + + + myTableView + + + + 45 + + + + dataSource + + + + 47 + + + + delegate + + + + 48 + + + + dataSource + + + + 49 + + + + delegate + + + + 50 + + + + dataSource + + + + 51 + + + + delegate + + + + 52 + + + + + YES + + 0 + + + + + + 2 + + + + + -1 + + + File's Owner + + + 3 + + + AppDelegate + + + -2 + + + + + 9 + + + YES + + + + + + + 10 + + + YES + + + + + + + 11 + + + + + 12 + + + + + 14 + + + YES + + + + Level2 View Controller + + + 15 + + + YES + + + + + + 16 + + + YES + + + + + + 32 + + + YES + + + + View + + + 33 + + + YES + + + + + + 34 + + + YES + + + + + + 35 + + + YES + + + + + 36 + + + + + 37 + + + + + 42 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 10.CustomClassName + 10.IBPluginDependency + 11.IBPluginDependency + 12.IBPluginDependency + 14.CustomClassName + 14.IBEditorWindowLastContentRect + 14.IBPluginDependency + 15.CustomClassName + 15.IBEditorWindowLastContentRect + 15.IBPluginDependency + 16.CustomClassName + 16.IBEditorWindowLastContentRect + 16.IBPluginDependency + 2.IBAttributePlaceholdersKey + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 2.UIWindow.visibleAtLaunch + 3.CustomClassName + 3.IBPluginDependency + 32.IBPluginDependency + 33.IBPluginDependency + 34.IBPluginDependency + 35.IBPluginDependency + 36.IBPluginDependency + 37.IBPluginDependency + 42.IBPluginDependency + 9.IBEditorWindowLastContentRect + 9.IBPluginDependency + + + YES + UIApplication + UIResponder + Level1ViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + Level2ViewController + {{0, 504}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + Level3ViewController + {{21, 481}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + LeafViewController + {{42, 458}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + YES + + + + {{157, 279}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + AppDelegate + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{-1, 515}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + + + + + YES + + + + + 52 + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + 300 + + diff --git a/MapKitiPhone/DrillDownSave/images/Default.png b/MapKitiPhone/DrillDownSave/images/Default.png new file mode 100644 index 0000000..2807ead Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Default.png differ diff --git a/MapKitiPhone/DrillDownSave/images/Icon-72.png b/MapKitiPhone/DrillDownSave/images/Icon-72.png new file mode 100644 index 0000000..b154505 Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Icon-72.png differ diff --git a/MapKitiPhone/DrillDownSave/images/Icon-Small-50.png b/MapKitiPhone/DrillDownSave/images/Icon-Small-50.png new file mode 100644 index 0000000..e7dbbf4 Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Icon-Small-50.png differ diff --git a/MapKitiPhone/DrillDownSave/images/Icon-Small.png b/MapKitiPhone/DrillDownSave/images/Icon-Small.png new file mode 100644 index 0000000..675c18f Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Icon-Small.png differ diff --git a/MapKitiPhone/DrillDownSave/images/Icon-Small@2x.png b/MapKitiPhone/DrillDownSave/images/Icon-Small@2x.png new file mode 100644 index 0000000..e740019 Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Icon-Small@2x.png differ diff --git a/MapKitiPhone/DrillDownSave/images/Icon.png b/MapKitiPhone/DrillDownSave/images/Icon.png new file mode 100644 index 0000000..dfc83b7 Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Icon.png differ diff --git a/MapKitiPhone/DrillDownSave/images/Icon@2x.png b/MapKitiPhone/DrillDownSave/images/Icon@2x.png new file mode 100644 index 0000000..21e17cc Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/Icon@2x.png differ diff --git a/MapKitiPhone/DrillDownSave/images/iTunesArtwork b/MapKitiPhone/DrillDownSave/images/iTunesArtwork new file mode 100644 index 0000000..6ad7a1f Binary files /dev/null and b/MapKitiPhone/DrillDownSave/images/iTunesArtwork differ diff --git a/MapKitiPhone/DrillDownSave/main.m b/MapKitiPhone/DrillDownSave/main.m new file mode 100755 index 0000000..94b6f4d --- /dev/null +++ b/MapKitiPhone/DrillDownSave/main.m @@ -0,0 +1,56 @@ +/* + File: main.m + Abstract: Main source file for this sample. + Version: 1.3 + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple + Inc. ("Apple") in consideration of your agreement to the following + terms, and your use, installation, modification or redistribution of + this Apple software constitutes acceptance of these terms. If you do + not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, Apple grants you a personal, non-exclusive + license, under Apple's copyrights in this original Apple software (the + "Apple Software"), to use, reproduce, modify and redistribute the Apple + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the Apple Software in its entirety and + without modifications, you must retain this notice and the following + text and disclaimers in all such redistributions of the Apple Software. + Neither the name, trademarks, service marks or logos of Apple Inc. may + be used to endorse or promote products derived from the Apple Software + without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or + implied, are granted by Apple herein, including but not limited to any + patent rights that may be infringed by your derivative works or by other + works in which the Apple Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE + MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION + THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND + OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, + MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED + AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), + STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Copyright (C) 2010 Apple Inc. All Rights Reserved. + + */ + +#import + +int main(int argc, char *argv[]) +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, nil); + [pool release]; + return retVal; +} diff --git a/MapKitiPhone/DrillDownSave/outline.plist b/MapKitiPhone/DrillDownSave/outline.plist new file mode 100755 index 0000000..ef56da0 --- /dev/null +++ b/MapKitiPhone/DrillDownSave/outline.plist @@ -0,0 +1,130 @@ + + + + + itemChildren + + + + itemTitle + Item I + + itemChildren + + + itemTitle + Item A + + itemChildren + + + itemTitle + Item 1 + + + + + itemTitle + Item B + + itemChildren + + + itemTitle + Item 1 + + + itemTitle + Item 2 + + + + + + + + itemTitle + Item II + + itemChildren + + + itemTitle + Item A + + itemChildren + + + itemTitle + Item 1 + + + itemTitle + Item 2 + + + + + + + + itemTitle + Item III + + itemChildren + + + itemTitle + Item A + + itemChildren + + + itemTitle + Item 1 + + + + + itemTitle + Item B + + itemChildren + + + itemTitle + Item 1 + + + itemTitle + Item 2 + + + + + itemTitle + Item C + + itemChildren + + + itemTitle + Item 1 + + + itemTitle + Item 2 + + + itemTitle + Item 3 + + + + + + + + + + diff --git a/MapKitiPhone/MainWindow.xib b/MapKitiPhone/MainWindow.xib index fb84878..1e752e6 100644 --- a/MapKitiPhone/MainWindow.xib +++ b/MapKitiPhone/MainWindow.xib @@ -2,17 +2,28 @@ 1056 - 10J567 - 823 + 10J869 + 1305 1038.35 - 462.00 + 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 132 + 300 - + YES - + IBUIBarButtonItem + IBUISegmentedControl + IBUINavigationBar + IBProxyObject + IBUICustomObject + IBUIWindow + IBUIToolbar + IBUINavigationItem + IBUIView + IBMKMapView + IBUINavigationController + IBUIViewController YES @@ -23,9 +34,7 @@ YES - - YES - + YES @@ -41,9 +50,11 @@ IBCocoaTouchFramework - + 292 {320, 480} + + 1 MSAxIDEAA @@ -57,6 +68,7 @@ + 1 1 IBCocoaTouchFramework @@ -80,6 +92,7 @@ LoginViewController + 1 1 IBCocoaTouchFramework @@ -87,6 +100,124 @@ + + + + 274 + + YES + + + 266 + + YES + + + 292 + {{6, 8}, {198, 30}} + + + NO + IBCocoaTouchFramework + 2 + 4 + 0 + + YES + Enemy + Friend + Rally + None + + + YES + + + + + + + YES + + + + + + + YES + {0, 0} + {0, 0} + {0, 0} + {0, 0} + + + YES + + + + + + + + {{0, 416}, {320, 44}} + + + NO + NO + IBCocoaTouchFramework + + YES + + IBCocoaTouchFramework + + + + + IBCocoaTouchFramework + + 5 + + + Clear + IBCocoaTouchFramework + 1 + + + + + + + 274 + {320, 416} + + + YES + YES + IBCocoaTouchFramework + + + {{0, 20}, {320, 460}} + + + + 3 + MC43NQA + + 2 + + + NO + + IBCocoaTouchFramework + + + + 1 + 1 + + IBCocoaTouchFramework + NO + @@ -186,6 +317,66 @@ YES + Navigation Item + + + 33 + + + YES + + + + + + 34 + + + YES + + + + + + + 36 + + + YES + + + + + + + + 35 + + + + + 39 + + + YES + + + + + + 38 + + + + + 37 + + + + + 40 + + @@ -205,6 +396,14 @@ 19.IBPluginDependency 3.CustomClassName 3.IBPluginDependency + 33.IBPluginDependency + 34.IBEditorWindowLastContentRect + 34.IBPluginDependency + 35.IBPluginDependency + 36.IBPluginDependency + 37.IBPluginDependency + 38.IBPluginDependency + 40.IBPluginDependency YES @@ -220,25 +419,29 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin MapKitiPhoneAppDelegate com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{946, 414}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin YES - - YES - + YES - - YES - + - 31 + 40 @@ -257,9 +460,48 @@ id + + YES + + YES + mapViewController + passwordField + usernameField + + + YES + MapKitiPhoneViewController + UITextField + UITextField + + + + YES + + YES + mapViewController + passwordField + usernameField + + + YES + + mapViewController + MapKitiPhoneViewController + + + passwordField + UITextField + + + usernameField + UITextField + + + IBProjectSource - LoginViewController.h + ./Classes/LoginViewController.h @@ -299,246 +541,86 @@ IBProjectSource - Classes/MapKitiPhoneAppDelegate.h + ./Classes/MapKitiPhoneAppDelegate.h - MapKitiPhoneAppDelegate - NSObject - - IBUserSource - - - - - UIWindow - UIView - - IBUserSource - - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIApplication - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIApplication.h - - - - UIBarButtonItem - UIBarItem - - IBFrameworkSource - UIKit.framework/Headers/UIBarButtonItem.h - - - - UIBarItem - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIBarItem.h - - - - UINavigationBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UINavigationBar.h - - - - UINavigationController + MapKitiPhoneViewController UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UINavigationItem - NSObject - - - - UIResponder - NSObject - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIPrintFormatter.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h + + YES + + YES + changeMarkerType: + handleClearButton + + + YES + id + id + - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h + + YES + + YES + changeMarkerType: + handleClearButton + + + YES + + changeMarkerType: + id + + + handleClearButton + id + + - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h + + YES + + YES + clearButton + mapView + segControl + + + YES + UIBarButtonItem + MKMapView + UISegmentedControl + - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h + + YES + + YES + clearButton + mapView + segControl + + + YES + + clearButton + UIBarButtonItem + + + mapView + MKMapView + + + segControl + UISegmentedControl + + - - - UIWindow - UIView - IBFrameworkSource - UIKit.framework/Headers/UIWindow.h + IBProjectSource + ./Classes/MapKitiPhoneViewController.h @@ -554,8 +636,7 @@ YES - MapKitiPhone.xcodeproj 3 - 132 + 300 diff --git a/MapKitiPhone/MapKitiPhone.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MapKitiPhone/MapKitiPhone.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..d2610cb --- /dev/null +++ b/MapKitiPhone/MapKitiPhone.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/MapKitiPhone/MapKitiPhone.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate b/MapKitiPhone/MapKitiPhone.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..afbc376 --- /dev/null +++ b/MapKitiPhone/MapKitiPhone.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate @@ -0,0 +1,4341 @@ + + + + + $archiver + NSKeyedArchiver + $objects + + $null + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 2 + + + CF$UID + 3 + + + NS.objects + + + CF$UID + 4 + + + CF$UID + 197 + + + + IDEWorkspaceDocument + E03CDF76-48E6-4785-99FD-B0D3F609C9A6 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 5 + + + CF$UID + 6 + + + CF$UID + 7 + + + CF$UID + 8 + + + CF$UID + 9 + + + CF$UID + 10 + + + CF$UID + 11 + + + CF$UID + 12 + + + CF$UID + 13 + + + CF$UID + 14 + + + NS.objects + + + CF$UID + 15 + + + CF$UID + 16 + + + CF$UID + 135 + + + CF$UID + 136 + + + CF$UID + 141 + + + CF$UID + 144 + + + CF$UID + 175 + + + CF$UID + 176 + + + CF$UID + 15 + + + CF$UID + 15 + + + + BreakpointsActivated + DefaultEditorStatesForURLs + DebuggingWindowBehavior + ActiveRunDestination + ActiveScheme + LastCompletedPersistentSchemeBasedActivityReport + DocumentWindows + RecentEditorDocumentURLs + AppFocusInMiniDebugging + MiniDebuggingConsole + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 17 + + + CF$UID + 18 + + + CF$UID + 19 + + + CF$UID + 20 + + + NS.objects + + + CF$UID + 21 + + + CF$UID + 34 + + + CF$UID + 46 + + + CF$UID + 85 + + + + Xcode.IDEKit.EditorDocument.SourceCode-from-NIB + Xcode.IDEKit.EditorDocument.PlistEditor + Xcode.IDEKit.EditorDocument.SourceCode + Xcode.IDEKit.CocoaTouchIntegration.EditorDocument.CocoaTouch + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 22 + + + NS.objects + + + CF$UID + 26 + + + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 23 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/var/folders/1G/1GdkNkqHHWWPWqp+0KnbNU+++TI/-Tmp-/MapKitiPhoneViewController-oyB80IUy.xib + + + $classes + + NSMutableString + NSString + NSObject + + $classname + NSMutableString + + + $classes + + NSURL + NSObject + + $classname + NSURL + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 27 + + + CF$UID + 28 + + + CF$UID + 29 + + + NS.objects + + + CF$UID + 30 + + + CF$UID + 31 + + + CF$UID + 32 + + + + PrimaryDocumentSelectedCharacterRange + PrimaryDocumentVisibleCharacterRange + PrimaryDocumentTimestamp + {0, 0} + {0, 631} + 323758205.94557202 + + $classes + + NSMutableDictionary + NSDictionary + NSObject + + $classname + NSMutableDictionary + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 35 + + + NS.objects + + + CF$UID + 37 + + + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 36 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhone-Info.plist + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 38 + + + CF$UID + 39 + + + CF$UID + 40 + + + NS.objects + + + CF$UID + 41 + + + CF$UID + 43 + + + CF$UID + 45 + + + + IDE_PLIST_EDITOR_SELECTION_KEY + IDE_PLIST_EDITOR_EXPANSION_KEY + IDE_PLIST_EDITOR_VISIBLERECT_KEY + + $class + + CF$UID + 42 + + NS.objects + + + + $classes + + NSArray + NSObject + + $classname + NSArray + + + $class + + CF$UID + 44 + + NS.objects + + + + $classes + + NSMutableSet + NSSet + NSObject + + $classname + NSMutableSet + + {{0, 0}, {760, 589}} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 47 + + + CF$UID + 49 + + + CF$UID + 51 + + + CF$UID + 53 + + + CF$UID + 55 + + + CF$UID + 57 + + + NS.objects + + + CF$UID + 59 + + + CF$UID + 63 + + + CF$UID + 66 + + + CF$UID + 70 + + + CF$UID + 74 + + + CF$UID + 82 + + + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 48 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/LoginViewController.h + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 50 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/LoginViewController.m + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 52 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneAppDelegate.m + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 54 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneAppDelegate.h + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 56 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneViewController.m + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 58 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneViewController.h + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 28 + + + CF$UID + 60 + + + CF$UID + 27 + + + NS.objects + + + CF$UID + 61 + + + CF$UID + 62 + + + CF$UID + 15 + + + CF$UID + 30 + + + + HideAllIssues + 323758167.96474397 + {0, 702} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 28 + + + CF$UID + 60 + + + CF$UID + 27 + + + NS.objects + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 15 + + + CF$UID + 30 + + + + 323742672.38448799 + {0, 598} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 28 + + + CF$UID + 60 + + + CF$UID + 27 + + + NS.objects + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 15 + + + CF$UID + 69 + + + + 323742091.82693303 + {1674, 1062} + {636, 81} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 28 + + + CF$UID + 60 + + + CF$UID + 27 + + + NS.objects + + + CF$UID + 71 + + + CF$UID + 72 + + + CF$UID + 15 + + + CF$UID + 73 + + + + 323756646.02944303 + {0, 466} + {381, 80} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 75 + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 + + + NS.objects + + + CF$UID + 79 + + + CF$UID + 80 + + + CF$UID + 15 + + + CF$UID + 81 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 323804351.389938 + {2105, 1093} + {1115, 7} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 29 + + + CF$UID + 28 + + + CF$UID + 60 + + + CF$UID + 27 + + + NS.objects + + + CF$UID + 83 + + + CF$UID + 84 + + + CF$UID + 15 + + + CF$UID + 30 + + + + 323756631.74519598 + {0, 919} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 86 + + + CF$UID + 88 + + + CF$UID + 90 + + + NS.objects + + + CF$UID + 92 + + + CF$UID + 110 + + + CF$UID + 125 + + + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 87 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MainWindow.xib + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 89 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhoneViewController.xib + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 91 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/LoginViewController.xib + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 93 + + + CF$UID + 94 + + + CF$UID + 95 + + + CF$UID + 96 + + + NS.objects + + + CF$UID + 97 + + + CF$UID + 98 + + + CF$UID + 101 + + + CF$UID + 102 + + + + IBDockViewController + SelectedObjectIDs + SelectionProvider + IBCanvasViewController + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 99 + + + + 33 + + $classes + + NSMutableArray + NSArray + NSObject + + $classname + NSMutableArray + + IBStructureViewController + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 103 + + + CF$UID + 104 + + + NS.objects + + + CF$UID + 105 + + + CF$UID + 106 + + + + ObjectIDToLastKnownCanvasPositionMap + EditedTopLevelObjectIDs + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 107 + + + CF$UID + 108 + + + CF$UID + 109 + + + + 33 + 16 + 12 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 111 + + + CF$UID + 112 + + + CF$UID + 113 + + + CF$UID + 114 + + + NS.objects + + + CF$UID + 115 + + + CF$UID + 116 + + + CF$UID + 118 + + + CF$UID + 119 + + + + IBDockViewController + SelectedObjectIDs + SelectionProvider + IBCanvasViewController + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 117 + + + + 10 + IBStructureViewController + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 120 + + + CF$UID + 121 + + + NS.objects + + + CF$UID + 122 + + + CF$UID + 123 + + + + ObjectIDToLastKnownCanvasPositionMap + EditedTopLevelObjectIDs + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 124 + + + + 6 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 93 + + + CF$UID + 94 + + + CF$UID + 95 + + + CF$UID + 96 + + + NS.objects + + + CF$UID + 126 + + + CF$UID + 129 + + + CF$UID + 101 + + + CF$UID + 131 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 127 + + + NS.objects + + + CF$UID + 128 + + + + LastKnownOutlineViewWidth + 293 + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 130 + + + + 4 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 103 + + + CF$UID + 104 + + + NS.objects + + + CF$UID + 132 + + + CF$UID + 133 + + + + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 130 + + + CF$UID + 134 + + + + 1 + 0 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 137 + + + CF$UID + 138 + + + NS.objects + + + CF$UID + 139 + + + CF$UID + 140 + + + + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-iphonesimulator:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk-iPhone + i386 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 142 + + + NS.objects + + + CF$UID + 143 + + + + IDENameString + MapKitiPhone + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + NS.objects + + + CF$UID + 148 + + + CF$UID + 174 + + + CF$UID + 155 + + + + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + IDEActivityReportTitle + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 149 + + + CF$UID + 156 + + + CF$UID + 160 + + + CF$UID + 165 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 150 + + + CF$UID + 151 + + + CF$UID + 152 + + + NS.objects + + + CF$UID + 153 + + + CF$UID + 154 + + + CF$UID + 155 + + + + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentStringValue + 2 + + Build + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 150 + + + CF$UID + 151 + + + CF$UID + 152 + + + NS.objects + + + CF$UID + 157 + + + CF$UID + 158 + + + CF$UID + 159 + + + + 4 + : + MapKitiPhone + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 150 + + + CF$UID + 151 + + + CF$UID + 152 + + + NS.objects + + + CF$UID + 161 + + + CF$UID + 162 + + + CF$UID + 163 + + + + 1 + │ + + $class + + CF$UID + 164 + + NS.data + + YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK + CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC + WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui + FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO + U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q + EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh + c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT + cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 + NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 + cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB + cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf + AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA + yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL + AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 150 + + + CF$UID + 166 + + + CF$UID + 167 + + + CF$UID + 152 + + + CF$UID + 168 + + + CF$UID + 169 + + + NS.objects + + + CF$UID + 170 + + + CF$UID + 134 + + + CF$UID + 171 + + + CF$UID + 173 + + + CF$UID + 134 + + + CF$UID + 134 + + + + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentDate + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentTimeStyle + 3 + + $class + + CF$UID + 172 + + NS.time + 323737446.17373699 + + + $classes + + NSDate + NSObject + + $classname + NSDate + + Yesterday at 6:04 PM + 106 + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 3 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 177 + + + CF$UID + 179 + + + CF$UID + 181 + + + CF$UID + 183 + + + CF$UID + 185 + + + CF$UID + 187 + + + CF$UID + 189 + + + CF$UID + 191 + + + CF$UID + 193 + + + CF$UID + 195 + + + + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 178 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhoneViewController.xib + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 180 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneViewController.m + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 182 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MainWindow.xib + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 184 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhone-Info.plist + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 186 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/LoginViewController.xib + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 188 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/LoginViewController.h + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 190 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneAppDelegate.h + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 192 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneViewController.h + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 194 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/LoginViewController.m + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 196 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/Classes/MapKitiPhoneAppDelegate.m + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 198 + + + CF$UID + 199 + + + CF$UID + 200 + + + CF$UID + 201 + + + CF$UID + 202 + + + CF$UID + 203 + + + NS.objects + + + CF$UID + 3 + + + CF$UID + 204 + + + CF$UID + 205 + + + CF$UID + 206 + + + CF$UID + 203 + + + CF$UID + 207 + + + + IDEWorkspaceWindowControllerUniqueIdentifier + IDEOrderedWorkspaceTabControllers + IDEWindowToolbarIsVisible + IDEWindowFrame + IDEActiveWorkspaceTabController + IDEWorkspaceTabController_BFDD499D-B832-4911-BC29-B6ABCF449112 + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 203 + + + + + {{0, 74}, {1280, 704}} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 208 + + + CF$UID + 209 + + + CF$UID + 210 + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + CF$UID + 215 + + + NS.objects + + + CF$UID + 216 + + + CF$UID + 205 + + + CF$UID + 352 + + + CF$UID + 353 + + + CF$UID + 360 + + + CF$UID + 386 + + + CF$UID + 205 + + + CF$UID + 135 + + + + IDEEditorArea + IDEShowNavigator + IDETabLabel + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + AssistantEditorsLayout + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 217 + + + CF$UID + 218 + + + CF$UID + 219 + + + CF$UID + 220 + + + CF$UID + 221 + + + CF$UID + 222 + + + CF$UID + 223 + + + CF$UID + 224 + + + CF$UID + 225 + + + NS.objects + + + CF$UID + 226 + + + CF$UID + 245 + + + CF$UID + 281 + + + CF$UID + 205 + + + CF$UID + 135 + + + CF$UID + 310 + + + CF$UID + 343 + + + CF$UID + 351 + + + CF$UID + 15 + + + + layoutTree + IDEEditorMode_Standard + IDEEDitorArea_DebugArea + IDEShowEditor + EditorMode + IDEEditorMode_Version + DebuggerSplitView + DefaultPersistentRepresentations + ShowDebuggerArea + + $class + + CF$UID + 244 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 227 + + rootLayoutTreeNode + + CF$UID + 241 + + + + $class + + CF$UID + 243 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 228 + + orientation + 0 + parent + + CF$UID + 241 + + + + $class + + CF$UID + 240 + + DocumentLocation + + CF$UID + 238 + + DomainIdentifier + + CF$UID + 229 + + IdentifierPath + + CF$UID + 230 + + IndexOfDocumentIdentifier + + CF$UID + 135 + + + Xcode.IDENavigableItemDomain.WorkspaceStructure + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 231 + + + CF$UID + 234 + + + CF$UID + 236 + + + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 232 + + + MapKitiPhoneViewController.xib + + $classes + + IDEArchivableStringIndexPair + NSObject + + $classname + IDEArchivableStringIndexPair + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 235 + + + Resources + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 237 + + + MapKitiPhone + + $class + + CF$UID + 239 + + documentURL + + CF$UID + 89 + + timestamp + + CF$UID + 0 + + + + $classes + + DVTDocumentLocation + NSObject + + $classname + DVTDocumentLocation + + + $classes + + IDENavigableItemArchivableRepresentation + NSObject + + $classname + IDENavigableItemArchivableRepresentation + + + $class + + CF$UID + 243 + + children + + CF$UID + 242 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 227 + + + + + $classes + + IDEWorkspaceTabControllerLayoutTreeNode + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTreeNode + + + $classes + + IDEWorkspaceTabControllerLayoutTree + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTree + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 246 + + + NS.objects + + + CF$UID + 247 + + + + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 248 + + + NS.objects + + + CF$UID + 249 + + + + Main + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 250 + + + CF$UID + 251 + + + CF$UID + 252 + + + NS.objects + + + CF$UID + 253 + + + CF$UID + 135 + + + CF$UID + 279 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 254 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 255 + + + CF$UID + 256 + + + CF$UID + 257 + + + CF$UID + 258 + + + CF$UID + 259 + + + CF$UID + 260 + + + CF$UID + 261 + + + NS.objects + + + CF$UID + 262 + + + CF$UID + 263 + + + CF$UID + 269 + + + CF$UID + 275 + + + CF$UID + 232 + + + CF$UID + 276 + + + CF$UID + 277 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + com.apple.InterfaceBuilder3.CocoaTouch.XIB + + $class + + CF$UID + 240 + + DocumentLocation + + CF$UID + 238 + + DomainIdentifier + + CF$UID + 229 + + IdentifierPath + + CF$UID + 264 + + IndexOfDocumentIdentifier + + CF$UID + 135 + + + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 265 + + + CF$UID + 266 + + + CF$UID + 267 + + + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 232 + + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 235 + + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 268 + + + MapKitiPhone + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 111 + + + CF$UID + 112 + + + CF$UID + 113 + + + CF$UID + 114 + + + NS.objects + + + CF$UID + 270 + + + CF$UID + 271 + + + CF$UID + 118 + + + CF$UID + 272 + + + + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 117 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 120 + + + CF$UID + 121 + + + NS.objects + + + CF$UID + 122 + + + CF$UID + 273 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 124 + + + + + $classes + + NSDictionary + NSObject + + $classname + NSDictionary + + Map View + Xcode.IDEKit.CocoaTouchIntegration.EditorDocument.CocoaTouch + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 278 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhoneViewController.xib + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 280 + + + + {{0, 0}, {760, 628}} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 282 + + + CF$UID + 283 + + + CF$UID + 284 + + + CF$UID + 285 + + + CF$UID + 286 + + + CF$UID + 287 + + + NS.objects + + + CF$UID + 134 + + + CF$UID + 288 + + + CF$UID + 290 + + + CF$UID + 134 + + + CF$UID + 293 + + + CF$UID + 304 + + + + LayoutFocusMode + console + variables + LayoutMode + IDEDebugArea_SplitView + IDEDebuggerAreaSplitView + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 289 + + + NS.objects + + + CF$UID + 135 + + + + ConsoleFilterMode + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 291 + + + NS.objects + + + CF$UID + 292 + + + + DBGVariablesViewFilterMode + 2 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 294 + + + NS.objects + + + CF$UID + 295 + + + + DVTSplitViewItems + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 296 + + + CF$UID + 301 + + + + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 299 + + + CF$UID + 300 + + + + DVTIdentifier + DVTViewMagnitude + VariablesView + 306 + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 302 + + + CF$UID + 303 + + + + ConsoleArea + 453 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 294 + + + NS.objects + + + CF$UID + 305 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 306 + + + CF$UID + 308 + + + + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 299 + + + CF$UID + 307 + + + + 306 + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 302 + + + CF$UID + 309 + + + + 453 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 311 + + + CF$UID + 312 + + + NS.objects + + + CF$UID + 135 + + + CF$UID + 313 + + + + VersionsEditorSubmode + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 314 + + + NS.objects + + + CF$UID + 315 + + + + Main + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 316 + + + CF$UID + 317 + + + CF$UID + 318 + + + NS.objects + + + CF$UID + 319 + + + CF$UID + 135 + + + CF$UID + 341 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 320 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 321 + + + CF$UID + 322 + + + CF$UID + 323 + + + CF$UID + 324 + + + CF$UID + 325 + + + CF$UID + 326 + + + CF$UID + 327 + + + NS.objects + + + CF$UID + 328 + + + CF$UID + 329 + + + CF$UID + 337 + + + CF$UID + 332 + + + CF$UID + 332 + + + CF$UID + 17 + + + CF$UID + 339 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + com.apple.InterfaceBuilder3.CocoaTouch.XIB + + $class + + CF$UID + 240 + + DocumentLocation + + CF$UID + 335 + + DomainIdentifier + + CF$UID + 229 + + IdentifierPath + + CF$UID + 330 + + IndexOfDocumentIdentifier + + CF$UID + 135 + + + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 331 + + + CF$UID + 333 + + + CF$UID + 334 + + + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 332 + + + MapKitiPhoneViewController.xib + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 235 + + + + $class + + CF$UID + 233 + + Identifier + + CF$UID + 159 + + + + $class + + CF$UID + 239 + + documentURL + + CF$UID + 336 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 24 + + NS.string + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhoneViewController.xib + + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 27 + + + CF$UID + 28 + + + CF$UID + 29 + + + NS.objects + + + CF$UID + 30 + + + CF$UID + 31 + + + CF$UID + 338 + + + + 323758206.72010797 + + $class + + CF$UID + 25 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 340 + + + file://localhost/Users/john/Projects/syseng/MapKitiPhone/MapKitiPhoneViewController.xib + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 342 + + + + {{0, 0}, {622, 628}} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 294 + + + NS.objects + + + CF$UID + 344 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 345 + + + CF$UID + 348 + + + + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 346 + + + CF$UID + 347 + + + + IDEEditor + 513 + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 349 + + + CF$UID + 350 + + + + IDEDebuggerArea + 115 + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + MapKitiPhoneViewController.xib + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 294 + + + NS.objects + + + CF$UID + 354 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 355 + + + CF$UID + 358 + + + + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 356 + + + CF$UID + 357 + + + + + 404 + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 356 + + + CF$UID + 359 + + + + 224 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 361 + + + CF$UID + 362 + + + NS.objects + + + CF$UID + 362 + + + CF$UID + 363 + + + + SelectedNavigator + Xcode.IDEKit.Navigator.Structure + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 364 + + + CF$UID + 365 + + + CF$UID + 366 + + + CF$UID + 367 + + + CF$UID + 368 + + + CF$UID + 369 + + + CF$UID + 370 + + + NS.objects + + + CF$UID + 371 + + + CF$UID + 15 + + + CF$UID + 372 + + + CF$UID + 15 + + + CF$UID + 15 + + + CF$UID + 374 + + + CF$UID + 377 + + + + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {259, 584}} + + $class + + CF$UID + 373 + + NS.objects + + + + $classes + + NSSet + NSObject + + $classname + NSSet + + + $class + + CF$UID + 42 + + NS.objects + + + CF$UID + 375 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 376 + + + CF$UID + 235 + + + CF$UID + 232 + + + + MapKitiPhone + + $class + + CF$UID + 373 + + NS.objects + + + CF$UID + 378 + + + CF$UID + 379 + + + CF$UID + 381 + + + CF$UID + 383 + + + CF$UID + 385 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 376 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 376 + + + CF$UID + 380 + + + + Classes + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 376 + + + CF$UID + 382 + + + + Other Sources + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 376 + + + CF$UID + 384 + + + + Frameworks + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 376 + + + CF$UID + 235 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 294 + + + NS.objects + + + CF$UID + 387 + + + + + $class + + CF$UID + 100 + + NS.objects + + + CF$UID + 388 + + + CF$UID + 390 + + + CF$UID + 392 + + + + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 212 + + + CF$UID + 389 + + + + 260 + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 391 + + + + 760 + + $class + + CF$UID + 274 + + NS.keys + + + CF$UID + 297 + + + CF$UID + 298 + + + NS.objects + + + CF$UID + 393 + + + CF$UID + 394 + + + + IDEUtilitiesArea + 260 + + $top + + State + + CF$UID + 1 + + + $version + 100000 + + diff --git a/MapKitiPhone/MapKitiPhone.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/MapKitiPhone.xcscheme b/MapKitiPhone/MapKitiPhone.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/MapKitiPhone.xcscheme new file mode 100644 index 0000000..b50f270 --- /dev/null +++ b/MapKitiPhone/MapKitiPhone.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/MapKitiPhone.xcscheme @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MapKitiPhone/MapKitiPhone.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/xcschememanagement.plist b/MapKitiPhone/MapKitiPhone.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..21407f3 --- /dev/null +++ b/MapKitiPhone/MapKitiPhone.xcodeproj/xcuserdata/john.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + MapKitiPhone.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 1D6058900D05DD3D006BFB54 + + primary + + + + + diff --git a/PURCHASE_ORDER_SE_Team_project 2.docx b/PURCHASE_ORDER_SE_Team_project 2.docx index e4017c5..82357c3 100644 Binary files a/PURCHASE_ORDER_SE_Team_project 2.docx and b/PURCHASE_ORDER_SE_Team_project 2.docx differ diff --git a/PURCHASE_ORDER_SE_Team_project 3.docx b/PURCHASE_ORDER_SE_Team_project 3.docx new file mode 100644 index 0000000..722d39a Binary files /dev/null and b/PURCHASE_ORDER_SE_Team_project 3.docx differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate b/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate index 4316d35..966b833 100644 --- a/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate +++ b/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate @@ -11,7 +11,7 @@ $class CF$UID - 84 + 85 NS.keys @@ -47,40 +47,48 @@ CF$UID 9 + + CF$UID + 10 + NS.objects CF$UID - 10 + 11 CF$UID - 553 + 487 CF$UID - 641 + 571 CF$UID - 993 + 932 CF$UID - 1067 + 1006 CF$UID - 1149 + 1088 CF$UID - 1225 + 1164 CF$UID - 1284 + 1223 + + + CF$UID + 1303 @@ -92,18 +100,15 @@ 8CC0202E-B73A-4C5A-BA43-2F6DAB92DC36 78992BE1-215F-46BA-80BB-57FB09F1E31A 66B754A9-3CDE-4BCC-BA9D-19249AA3518D + 71EE47D3-F486-4C26-B4C1-E8BC62A3DD65 $class CF$UID - 89 + 90 NS.keys - - CF$UID - 11 - CF$UID 12 @@ -128,36 +133,40 @@ CF$UID 17 - - NS.objects - CF$UID 18 + + NS.objects + CF$UID 19 CF$UID - 330 + 20 CF$UID 331 + + CF$UID + 332 + CF$UID 2 CF$UID - 14 + 15 CF$UID - 39 + 40 @@ -168,19 +177,15 @@ IDEWorkspaceWindowControllerUniqueIdentifier IDEActiveWorkspaceTabController IDEWindowToolbarIsVisible - {{353, 207}, {1280, 704}} + {{684, 74}, {1280, 704}} $class CF$UID - 89 + 90 NS.keys - - CF$UID - 20 - CF$UID 21 @@ -209,40 +214,44 @@ CF$UID 27 + + CF$UID + 28 + NS.objects CF$UID - 28 + 29 CF$UID - 39 + 40 CF$UID - 62 + 63 CF$UID - 208 + 209 CF$UID - 215 + 216 CF$UID - 321 + 322 CF$UID - 82 + 83 CF$UID - 69 + 70 @@ -258,14 +267,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 29 - CF$UID 30 @@ -302,40 +307,40 @@ CF$UID 38 - - NS.objects - CF$UID 39 + + NS.objects + CF$UID 40 CF$UID - 92 + 41 CF$UID - 39 + 93 CF$UID - 69 + 40 CF$UID - 122 + 70 CF$UID - 147 + 123 CF$UID - 155 + 148 CF$UID @@ -343,7 +348,11 @@ CF$UID - 197 + 157 + + + CF$UID + 198 @@ -362,20 +371,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 41 + 42 NS.objects CF$UID - 42 + 43 @@ -384,20 +393,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 43 + 44 NS.objects CF$UID - 44 + 45 @@ -406,36 +415,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 48 + 49 CF$UID - 69 + 70 CF$UID - 90 + 91 @@ -446,13 +455,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 49 + 50 @@ -460,14 +469,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -492,37 +497,41 @@ CF$UID 56 - - NS.objects - CF$UID 57 + + NS.objects + CF$UID 58 CF$UID - 75 + 59 CF$UID - 62 + 76 CF$UID - 62 + 63 CF$UID - 85 + 63 CF$UID 86 + + CF$UID + 87 + FileDataType @@ -537,27 +546,27 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 70 + 71 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 60 + 61 IndexOfDocumentIdentifier CF$UID - 69 + 70 Xcode.IDENavigableItemDomain.WorkspaceStructure @@ -565,21 +574,21 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 61 + 62 CF$UID - 64 + 65 CF$UID - 66 + 67 @@ -587,12 +596,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 62 + 63 AudioQueueObject.h @@ -609,12 +618,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 65 + 66 Audio @@ -622,12 +631,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 SoftModemTerminal @@ -645,12 +654,12 @@ $class CF$UID - 73 + 74 documentURL CF$UID - 71 + 72 timestamp @@ -662,7 +671,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioQueueObject.h @@ -699,14 +708,10 @@ $class CF$UID - 84 + 85 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -719,13 +724,13 @@ CF$UID 79 - - NS.objects - CF$UID 80 + + NS.objects + CF$UID 81 @@ -738,6 +743,10 @@ CF$UID 83 + + CF$UID + 84 + PrimaryDocumentTimestamp @@ -762,7 +771,7 @@ $class CF$UID - 88 + 89 NS.base @@ -772,7 +781,7 @@ NS.relative CF$UID - 87 + 88 file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioQueueObject.h @@ -799,13 +808,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 91 + 92 @@ -814,14 +823,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 93 - CF$UID 94 @@ -842,60 +847,64 @@ CF$UID 98 + + CF$UID + 99 + NS.objects CF$UID - 99 + 100 CF$UID - 100 + 101 CF$UID - 102 + 103 CF$UID - 99 + 100 CF$UID - 114 + 115 CF$UID - 120 + 121 LayoutFocusMode console - IDEDebugArea_SplitView - LayoutMode IDEDebuggerAreaSplitView + LayoutMode + IDEDebugArea_SplitView variables 1 $class CF$UID - 89 + 90 NS.keys CF$UID - 101 + 102 NS.objects CF$UID - 69 + 70 @@ -904,20 +913,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 104 + 105 @@ -926,17 +935,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 105 + 106 CF$UID - 110 + 111 @@ -944,28 +953,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 109 CF$UID - 109 + 110 @@ -977,28 +986,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 112 CF$UID - 112 + 113 @@ -1018,20 +1027,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 115 + 116 @@ -1039,17 +1048,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 116 + 117 CF$UID - 118 + 119 @@ -1057,28 +1066,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 109 CF$UID - 117 + 118 @@ -1087,28 +1096,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 112 CF$UID - 119 + 120 @@ -1117,20 +1126,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 121 + 122 NS.objects CF$UID - 69 + 70 @@ -1139,28 +1148,28 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 123 + 124 CF$UID - 41 + 42 NS.objects CF$UID - 69 + 70 CF$UID - 124 + 125 @@ -1169,20 +1178,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 43 + 44 NS.objects CF$UID - 125 + 126 @@ -1190,36 +1199,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 126 + 127 CF$UID - 69 + 70 CF$UID - 145 + 146 @@ -1227,13 +1236,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 127 + 128 @@ -1241,14 +1250,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -1273,36 +1278,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 128 + 129 CF$UID - 129 + 130 CF$UID - 138 + 139 CF$UID - 132 + 133 CF$UID - 132 + 133 CF$UID - 142 + 143 CF$UID - 143 + 144 @@ -1311,48 +1320,48 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 136 + 137 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 130 + 131 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 131 + 132 CF$UID - 133 + 134 CF$UID - 135 + 136 @@ -1360,12 +1369,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 132 + 133 MainViewController.m @@ -1373,12 +1382,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 134 + 135 Main View @@ -1386,24 +1395,24 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 73 + 74 documentURL CF$UID - 137 + 138 timestamp @@ -1415,7 +1424,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m @@ -1424,14 +1433,10 @@ $class CF$UID - 84 + 85 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -1444,24 +1449,28 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 139 + 140 CF$UID - 140 + 141 CF$UID - 82 + 83 CF$UID - 141 + 142 @@ -1473,7 +1482,7 @@ $class CF$UID - 88 + 89 NS.base @@ -1483,7 +1492,7 @@ NS.relative CF$UID - 144 + 145 file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m @@ -1491,13 +1500,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 146 + 147 @@ -1506,20 +1515,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 148 + 149 @@ -1527,17 +1536,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 149 + 150 CF$UID - 152 + 153 @@ -1545,28 +1554,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 150 + 151 CF$UID - 151 + 152 @@ -1576,28 +1585,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 153 + 154 CF$UID - 154 + 155 @@ -1607,7 +1616,7 @@ $class CF$UID - 89 + 90 NS.keys @@ -1618,28 +1627,28 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 157 + 158 CF$UID - 41 + 42 NS.objects CF$UID - 158 + 159 CF$UID - 159 + 160 @@ -1649,28 +1658,28 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 160 + 161 CF$UID - 43 + 44 NS.objects CF$UID - 161 + 162 CF$UID - 181 + 182 @@ -1679,36 +1688,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 162 + 163 CF$UID - 69 + 70 CF$UID - 179 + 180 @@ -1716,13 +1725,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 163 + 164 @@ -1730,14 +1739,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -1762,36 +1767,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 57 + 58 CF$UID - 164 + 165 CF$UID - 174 + 175 CF$UID - 168 + 169 CF$UID - 168 + 169 CF$UID - 85 + 86 CF$UID - 177 + 178 @@ -1799,12 +1808,12 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 172 + 173 DomainIdentifier @@ -1814,29 +1823,29 @@ IdentifierPath CF$UID - 165 + 166 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 166 + 167 CF$UID - 169 + 170 @@ -1844,20 +1853,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 167 + 168 NS.objects CF$UID - 168 + 169 @@ -1867,20 +1876,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 170 + 171 NS.objects CF$UID - 171 + 172 @@ -1890,12 +1899,12 @@ $class CF$UID - 73 + 74 documentURL CF$UID - 173 + 174 timestamp @@ -1907,7 +1916,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.h @@ -1916,14 +1925,10 @@ $class CF$UID - 84 + 85 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -1936,24 +1941,28 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 175 + 176 CF$UID - 176 + 177 CF$UID - 82 + 83 CF$UID - 83 + 84 @@ -1963,7 +1972,7 @@ $class CF$UID - 88 + 89 NS.base @@ -1973,7 +1982,7 @@ NS.relative CF$UID - 178 + 179 file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.h @@ -1981,13 +1990,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 180 + 181 @@ -1996,36 +2005,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 182 + 183 CF$UID - 69 + 70 CF$UID - 196 + 197 @@ -2033,13 +2042,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 183 + 184 @@ -2047,14 +2056,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -2079,36 +2084,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 128 + 129 CF$UID - 184 + 185 CF$UID - 191 + 192 CF$UID - 194 + 195 CF$UID - 132 + 133 CF$UID - 85 + 86 CF$UID - 195 + 196 @@ -2116,48 +2125,48 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 189 + 190 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 185 + 186 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 186 + 187 CF$UID - 187 + 188 CF$UID - 188 + 189 @@ -2165,48 +2174,48 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 132 + 133 $class CF$UID - 63 + 64 Identifier CF$UID - 134 + 135 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 73 + 74 documentURL CF$UID - 190 + 191 timestamp @@ -2218,7 +2227,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m @@ -2227,44 +2236,44 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 76 + 77 CF$UID - 77 + 78 CF$UID - 78 + 79 CF$UID - 79 + 80 NS.objects CF$UID - 192 + 193 CF$UID - 193 + 194 CF$UID - 82 + 83 CF$UID - 141 + 142 @@ -2275,7 +2284,7 @@ $class CF$UID - 88 + 89 NS.base @@ -2285,20 +2294,20 @@ NS.relative CF$UID - 144 + 145 $class CF$UID - 68 + 69 NS.objects CF$UID - 146 + 147 @@ -2306,7 +2315,7 @@ $class CF$UID - 207 + 208 geniusEditorContextNode @@ -2316,19 +2325,19 @@ primaryEditorContextNode CF$UID - 198 + 199 rootLayoutTreeNode CF$UID - 204 + 205 $class CF$UID - 206 + 207 children @@ -2340,62 +2349,62 @@ documentArchivableRepresentation CF$UID - 199 + 200 orientation 0 parent CF$UID - 204 + 205 $class CF$UID - 74 + 75 DocumentLocation CF$UID - 70 + 71 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 200 + 201 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 201 + 202 CF$UID - 202 + 203 CF$UID - 203 + 204 @@ -2403,48 +2412,48 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 62 + 63 $class CF$UID - 63 + 64 Identifier CF$UID - 65 + 66 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 206 + 207 children CF$UID - 205 + 206 contentType 0 @@ -2465,13 +2474,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 198 + 199 @@ -2497,20 +2506,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 209 + 210 @@ -2518,17 +2527,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 210 + 211 CF$UID - 213 + 214 @@ -2536,28 +2545,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 212 CF$UID - 212 + 213 @@ -2567,28 +2576,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 212 CF$UID - 214 + 215 @@ -2597,14 +2606,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 216 - CF$UID 217 @@ -2633,40 +2638,44 @@ CF$UID 223 + + CF$UID + 224 + NS.objects CF$UID - 224 + 225 CF$UID - 229 + 230 CF$UID - 242 + 243 CF$UID - 222 + 223 CF$UID - 255 + 256 CF$UID - 277 + 278 CF$UID - 285 + 286 CF$UID - 308 + 309 @@ -2682,36 +2691,36 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 225 + 226 CF$UID - 226 + 227 CF$UID - 227 + 228 NS.objects CF$UID - 228 + 229 CF$UID - 69 + 70 CF$UID - 82 + 83 @@ -2723,14 +2732,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 230 - CF$UID 231 @@ -2755,36 +2760,40 @@ CF$UID 236 + + CF$UID + 237 + NS.objects CF$UID - 39 + 40 CF$UID - 39 + 40 CF$UID - 82 + 83 CF$UID - 39 + 40 CF$UID - 211 + 212 CF$UID - 237 + 238 CF$UID - 239 + 240 @@ -2799,13 +2808,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 238 + 239 @@ -2814,17 +2823,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 240 + 241 CF$UID - 241 + 242 @@ -2834,14 +2843,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 243 - CF$UID 244 @@ -2866,36 +2871,40 @@ CF$UID 249 + + CF$UID + 250 + NS.objects CF$UID - 69 + 70 CF$UID - 82 + 83 CF$UID - 211 + 212 CF$UID - 250 + 251 CF$UID - 251 + 252 CF$UID - 69 + 70 CF$UID - 253 + 254 @@ -2911,7 +2920,7 @@ $class CF$UID - 252 + 253 NSRangeCount 0 @@ -2929,7 +2938,7 @@ $class CF$UID - 254 + 255 NSRangeCount 0 @@ -2948,14 +2957,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 256 - CF$UID 257 @@ -2992,48 +2997,52 @@ CF$UID 265 + + CF$UID + 266 + NS.objects CF$UID - 82 + 83 CF$UID - 266 + 267 CF$UID - 267 + 268 CF$UID - 273 + 274 CF$UID - 274 + 275 CF$UID - 82 + 83 CF$UID - 82 + 83 CF$UID - 275 + 276 CF$UID - 82 + 83 CF$UID - 276 + 277 @@ -3052,14 +3061,10 @@ $class CF$UID - 272 + 273 NS.objects - - CF$UID - 268 - CF$UID 269 @@ -3072,6 +3077,10 @@ CF$UID 271 + + CF$UID + 272 + AcousticMessage/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.mm @@ -3092,7 +3101,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -3101,7 +3110,7 @@ $class CF$UID - 113 + 114 NS.objects @@ -3110,7 +3119,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -3119,7 +3128,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -3128,44 +3137,44 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 278 + 279 CF$UID - 279 + 280 CF$UID - 280 + 281 CF$UID - 257 + 258 NS.objects CF$UID - 281 + 282 CF$UID - 82 + 83 CF$UID - 283 + 284 CF$UID - 284 + 285 @@ -3176,7 +3185,7 @@ $class CF$UID - 282 + 283 NS.objects @@ -3194,7 +3203,7 @@ $class CF$UID - 68 + 69 NS.objects @@ -3204,17 +3213,13 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 257 - - - CF$UID - 286 + 258 CF$UID @@ -3230,42 +3235,46 @@ CF$UID - 280 + 290 CF$UID - 290 + 281 + + + CF$UID + 291 NS.objects CF$UID - 291 + 292 CF$UID - 82 + 83 CF$UID - 281 + 282 CF$UID - 82 + 83 CF$UID - 82 + 83 CF$UID - 292 + 293 CF$UID - 294 + 295 @@ -3279,13 +3288,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 293 + 294 @@ -3293,21 +3302,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 65 + 66 CF$UID - 62 + 63 @@ -3315,21 +3324,17 @@ $class CF$UID - 282 + 283 NS.objects - - CF$UID - 295 - CF$UID 296 CF$UID - 298 + 297 CF$UID @@ -3337,7 +3342,7 @@ CF$UID - 301 + 300 CF$UID @@ -3345,11 +3350,15 @@ CF$UID - 304 + 303 CF$UID - 306 + 305 + + + CF$UID + 307 @@ -3357,13 +3366,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 @@ -3371,17 +3380,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 297 + 298 @@ -3390,17 +3399,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 134 + 135 @@ -3408,17 +3417,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 300 + 301 @@ -3427,17 +3436,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 65 + 66 @@ -3445,17 +3454,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 303 + 304 @@ -3464,17 +3473,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 305 + 306 @@ -3483,17 +3492,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 307 + 308 @@ -3502,44 +3511,44 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 236 + 237 CF$UID - 309 + 310 CF$UID - 280 + 281 CF$UID - 257 + 258 NS.objects CF$UID - 310 + 311 CF$UID - 311 + 312 CF$UID - 318 + 319 CF$UID - 284 + 285 @@ -3548,7 +3557,7 @@ $class CF$UID - 113 + 114 NS.objects @@ -3557,14 +3566,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 312 - CF$UID 313 @@ -3577,24 +3582,28 @@ CF$UID 315 + + CF$UID + 316 + NS.objects CF$UID - 82 + 83 CF$UID - 316 + 317 CF$UID - 82 + 83 CF$UID - 317 + 318 @@ -3608,13 +3617,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 319 + 320 @@ -3622,13 +3631,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 320 + 321 @@ -3637,20 +3646,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 322 + 323 @@ -3658,21 +3667,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 323 + 324 CF$UID - 325 + 326 CF$UID - 327 + 328 @@ -3680,28 +3689,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 24 + 25 CF$UID - 324 + 325 @@ -3710,28 +3719,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 20 + 21 CF$UID - 326 + 327 @@ -3740,28 +3749,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 328 + 329 CF$UID - 329 + 330 @@ -3771,13 +3780,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 14 + 15 @@ -3785,125 +3794,116 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 332 + 28 CF$UID - 333 + 22 CF$UID - 334 + 23 CF$UID - 335 + 24 CF$UID - 336 + 25 CF$UID - 337 + 26 CF$UID - 338 + 27 CF$UID - 339 + 21 NS.objects CF$UID - 69 + 70 CF$UID - 39 + 40 CF$UID - 340 + 333 CF$UID - 341 + 334 CF$UID - 351 + 340 CF$UID - 391 + 365 CF$UID - 82 + 83 CF$UID - 400 + 373 - AssistantEditorsLayout - IDEShowNavigator - IDETabLabel - IDEWorkspaceTabControllerUtilityAreaSplitView - IDENavigatorArea - IDEWorkspaceTabControllerDesignAreaSplitView - IDEShowUtilities - IDEEditorArea - icon.png + SoftModemTerminalAppDelegate.m $class CF$UID - 89 + 90 NS.keys CF$UID - 342 + 104 NS.objects CF$UID - 343 + 335 - DVTSplitViewItems $class CF$UID - 113 + 114 NS.objects CF$UID - 344 + 336 CF$UID - 349 + 338 @@ -3911,61 +3911,58 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 347 + 212 CF$UID - 348 + 337 - DVTIdentifier - DVTViewMagnitude - 404 $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 347 + 212 CF$UID - 350 + 339 @@ -3974,14 +3971,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 216 - CF$UID 217 @@ -3992,7 +3985,7 @@ CF$UID - 352 + 219 CF$UID @@ -4004,85 +3997,87 @@ CF$UID - 353 + 222 CF$UID 223 + + CF$UID + 224 + NS.objects CF$UID - 354 + 341 CF$UID - 229 + 230 CF$UID - 242 + 342 CF$UID - 353 + 223 CF$UID - 355 + 346 CF$UID - 277 + 278 CF$UID - 361 + 352 CF$UID - 308 + 309 - SelectedNavigator - Xcode.IDEKit.Navigator.Structure $class CF$UID - 89 + 90 NS.keys CF$UID - 225 + 226 CF$UID - 226 + 227 CF$UID - 227 + 228 NS.objects CF$UID - 228 + 229 CF$UID - 69 + 70 CF$UID - 82 + 83 @@ -4090,92 +4085,180 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 256 - - - CF$UID - 257 - - - CF$UID - 258 - - - CF$UID - 259 + 244 CF$UID - 260 + 245 CF$UID - 261 + 246 CF$UID - 262 + 247 CF$UID - 263 + 248 CF$UID - 264 + 249 CF$UID - 265 + 250 NS.objects CF$UID - 82 + 70 CF$UID - 291 + 83 CF$UID - 356 + 212 CF$UID - 357 + 343 CF$UID - 358 + 344 CF$UID - 82 + 70 CF$UID - 82 + 345 - - CF$UID - 359 + + + view + + $class + + CF$UID + 253 + + NSRangeCount + 0 + + + $class + + CF$UID + 255 + + NSRangeCount + 0 + + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 257 CF$UID - 82 + 258 CF$UID - 360 + 259 + + + CF$UID + 260 + + + CF$UID + 261 + + + CF$UID + 262 + + + CF$UID + 263 + + + CF$UID + 264 + + + CF$UID + 265 + + + CF$UID + 266 + + + NS.objects + + + CF$UID + 83 + + + CF$UID + 292 + + + CF$UID + 347 + + + CF$UID + 348 + + + CF$UID + 349 + + + CF$UID + 83 + + + CF$UID + 83 + + + CF$UID + 350 + + + CF$UID + 83 + + + CF$UID + 351 @@ -4183,21 +4266,21 @@ $class CF$UID - 272 + 273 NS.objects CF$UID - 269 + 270 CF$UID - 270 + 271 CF$UID - 271 + 272 @@ -4205,7 +4288,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -4214,7 +4297,7 @@ $class CF$UID - 113 + 114 NS.objects @@ -4223,7 +4306,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -4232,7 +4315,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -4241,90 +4324,82 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 362 + 258 CF$UID - 363 + 287 CF$UID - 364 + 288 CF$UID - 365 + 289 CF$UID - 366 + 290 CF$UID - 367 + 281 CF$UID - 368 + 291 NS.objects CF$UID - 369 + 285 CF$UID - 82 + 83 CF$UID - 281 + 282 CF$UID - 82 + 83 CF$UID - 82 + 83 CF$UID - 370 + 353 CF$UID - 374 + 355 - IDEVisibleRect - IDEUnsavedDocumentFilteringEnabled - IDENavigatorExpandedItemsBeforeFilteringSet - IDERecentDocumentFilteringEnabled - IDESCMStatusFilteringEnabled - IDESelectedObjects - IDEExpandedItemsSet - {{0, 212}, {244, 584}} $class CF$UID - 68 + 69 NS.objects CF$UID - 371 + 354 @@ -4332,83 +4407,63 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 300 + 308 CF$UID - 373 + 333 - SoftModemTerminal - icon.png $class CF$UID - 282 + 283 NS.objects CF$UID - 375 - - - CF$UID - 376 - - - CF$UID - 378 + 356 CF$UID - 380 + 357 CF$UID - 382 + 358 CF$UID - 384 + 359 CF$UID - 386 + 360 CF$UID - 387 + 361 CF$UID - 389 + 362 - - - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 372 + 363 @@ -4416,112 +4471,103 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 372 - - - CF$UID - 377 + 68 - Products $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 379 + 308 - Frameworks $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 381 + 135 - Audio $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 383 + 298 - Other Sources $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 385 + 306 - Application Delegate $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 300 + 301 @@ -4529,58 +4575,57 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 388 + 304 - Main View $class CF$UID - 113 + 114 NS.objects CF$UID - 372 + 68 CF$UID - 390 + 364 - Flipside View + Frameworks $class CF$UID - 89 + 90 NS.keys CF$UID - 342 + 104 NS.objects CF$UID - 392 + 366 @@ -4588,21 +4633,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 393 + 367 CF$UID - 395 + 369 CF$UID - 397 + 371 @@ -4610,28 +4655,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 336 + 25 CF$UID - 394 + 368 @@ -4640,28 +4685,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 339 + 21 CF$UID - 396 + 370 @@ -4670,229 +4715,215 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 398 + 329 CF$UID - 399 + 372 - IDEUtilitiesArea 260 $class CF$UID - 89 + 90 NS.keys CF$UID - 401 + 30 CF$UID - 402 + 31 CF$UID - 403 + 32 CF$UID - 404 + 33 CF$UID - 405 + 34 CF$UID - 34 + 35 CF$UID - 406 + 36 CF$UID - 407 + 37 CF$UID - 37 + 38 CF$UID - 408 + 39 NS.objects CF$UID - 82 + 83 CF$UID - 409 + 374 CF$UID - 447 + 395 CF$UID - 39 + 40 CF$UID - 69 + 70 CF$UID - 472 + 410 CF$UID - 492 + 429 CF$UID - 500 + 435 CF$UID - 501 + 436 CF$UID - 543 + 478 - ShowDebuggerArea - IDEEditorMode_Standard - IDEEDitorArea_DebugArea - IDEShowEditor - EditorMode - DebuggerSplitView - DefaultPersistentRepresentations - layoutTree $class CF$UID - 89 + 90 NS.keys CF$UID - 410 + 42 NS.objects CF$UID - 411 + 375 - EditorLayout_PersistentRepresentation $class CF$UID - 89 + 90 NS.keys CF$UID - 412 + 44 NS.objects CF$UID - 413 + 376 - Main $class CF$UID - 84 + 85 NS.keys CF$UID - 414 + 46 CF$UID - 415 + 47 CF$UID - 416 + 48 NS.objects CF$UID - 417 + 377 CF$UID - 69 + 70 CF$UID - 445 + 393 - EditorLayout_StateSavingStateDictionaries - EditorLayout_Selected - EditorLayout_Geometry $class CF$UID - 68 + 69 NS.objects CF$UID - 418 + 378 @@ -4900,125 +4931,117 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 419 + 51 CF$UID - 420 + 52 CF$UID - 421 + 53 CF$UID - 422 + 54 CF$UID - 423 + 55 CF$UID - 424 + 56 CF$UID - 425 + 57 NS.objects CF$UID - 426 + 129 CF$UID - 427 + 379 CF$UID - 435 + 386 CF$UID - 373 + 390 CF$UID - 373 + 333 CF$UID - 442 + 86 CF$UID - 443 + 391 - FileDataType - ArchivableRepresentation - EditorState - NavigableItemName - DocumentNavigableItemName - DocumentExtensionIdentifier - DocumentURL - public.png $class CF$UID - 74 + 75 DocumentLocation CF$UID - 433 + 384 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 428 + 380 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 429 + 381 CF$UID - 430 + 382 CF$UID - 431 + 383 @@ -5026,49 +5049,48 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 373 + 333 $class CF$UID - 63 + 64 Identifier CF$UID - 300 + 308 $class CF$UID - 63 + 64 Identifier CF$UID - 432 + 68 - SoftModemTerminal $class CF$UID - 73 + 74 documentURL CF$UID - 434 + 385 timestamp @@ -5080,87 +5102,65 @@ $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/icon.png + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.m $class CF$UID - 84 + 85 NS.keys CF$UID - 436 + 77 - - NS.objects - CF$UID - 437 + 78 + + + CF$UID + 79 + + + CF$UID + 80 - - SelectedDocumentLocations - - $class - - CF$UID - 68 - NS.objects CF$UID - 438 + 387 + + + CF$UID + 388 + + + CF$UID + 83 + + + CF$UID + 389 + 323742127.32270998 + {598, 1446} + {756, 68} + -application:didFinishLaunchingWithOptions: $class CF$UID - 441 - - IDEQuickLookPageNumber - - CF$UID - 69 - - documentURL - - CF$UID - 439 - - timestamp - - CF$UID - 440 - - - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/icon.png - 322374030.961124 - - $classes - - IDEQuickLookDocumentLocation - DVTDocumentLocation - NSObject - - $classname - IDEQuickLookDocumentLocation - - IDEQuickLookEditor.Editor - - $class - - CF$UID - 88 + 89 NS.base @@ -5170,21 +5170,21 @@ NS.relative CF$UID - 444 + 392 - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/icon.png + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.m $class CF$UID - 68 + 69 NS.objects CF$UID - 446 + 394 @@ -5193,109 +5193,102 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 448 + 94 CF$UID - 449 + 95 CF$UID - 450 + 96 CF$UID - 451 + 97 CF$UID - 452 + 98 CF$UID - 453 + 99 NS.objects CF$UID - 99 + 100 CF$UID - 454 + 396 CF$UID - 456 + 397 CF$UID - 99 + 100 CF$UID - 464 + 403 CF$UID - 470 + 409 - LayoutFocusMode - console - IDEDebugArea_SplitView - LayoutMode - IDEDebuggerAreaSplitView - variables $class CF$UID - 89 + 90 NS.keys CF$UID - 455 + 102 NS.objects CF$UID - 69 + 70 - ConsoleFilterMode $class CF$UID - 89 + 90 NS.keys CF$UID - 342 + 104 NS.objects CF$UID - 457 + 398 @@ -5303,17 +5296,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 458 + 399 CF$UID - 461 + 401 @@ -5321,82 +5314,80 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 459 + 109 CF$UID - 460 + 400 - VariablesView 510 $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 462 + 112 CF$UID - 463 + 402 - ConsoleArea 509 $class CF$UID - 89 + 90 NS.keys CF$UID - 342 + 104 NS.objects CF$UID - 465 + 404 @@ -5404,17 +5395,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 466 + 405 CF$UID - 468 + 407 @@ -5422,28 +5413,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 459 + 109 CF$UID - 467 + 406 @@ -5452,28 +5443,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 462 + 112 CF$UID - 469 + 408 @@ -5482,50 +5473,49 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 471 + 122 NS.objects CF$UID - 228 + 229 - DBGVariablesViewFilterMode $class CF$UID - 89 + 90 NS.keys CF$UID - 123 + 124 CF$UID - 41 + 42 NS.objects CF$UID - 69 + 70 CF$UID - 473 + 411 @@ -5533,20 +5523,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 43 + 44 NS.objects CF$UID - 474 + 412 @@ -5554,36 +5544,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 475 + 413 CF$UID - 69 + 70 CF$UID - 490 + 428 @@ -5591,13 +5581,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 476 + 414 @@ -5605,14 +5595,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -5637,36 +5623,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 57 + 58 CF$UID - 477 + 415 CF$UID - 485 + 423 CF$UID - 480 + 418 CF$UID - 480 + 418 CF$UID - 142 + 143 CF$UID - 488 + 426 @@ -5674,48 +5664,48 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 483 + 421 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 478 + 416 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 479 + 417 CF$UID - 481 + 419 CF$UID - 482 + 420 @@ -5723,12 +5713,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 480 + 418 CharReceiver.h @@ -5736,36 +5726,36 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 65 + 66 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 73 + 74 documentURL CF$UID - 484 + 422 timestamp @@ -5777,7 +5767,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/CharReceiver.h @@ -5786,36 +5776,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 79 + 80 CF$UID - 77 + 78 CF$UID - 76 + 77 NS.objects CF$UID - 83 + 84 CF$UID - 486 + 424 CF$UID - 487 + 425 @@ -5825,7 +5815,7 @@ $class CF$UID - 88 + 89 NS.base @@ -5835,7 +5825,7 @@ NS.relative CF$UID - 489 + 427 file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/CharReceiver.h @@ -5843,35 +5833,34 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 491 + 394 - {{0, 0}, {1020, 628}} $class CF$UID - 89 + 90 NS.keys CF$UID - 342 + 104 NS.objects CF$UID - 493 + 430 @@ -5879,17 +5868,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 494 + 431 CF$UID - 497 + 433 @@ -5897,69 +5886,67 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 495 + 151 CF$UID - 496 + 432 - IDEEditor 356 $class CF$UID - 84 + 85 NS.keys CF$UID - 345 + 107 CF$UID - 346 + 108 NS.objects CF$UID - 498 + 154 CF$UID - 499 + 434 - IDEDebuggerArea 272 $class CF$UID - 89 + 90 NS.keys @@ -5970,28 +5957,28 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 157 + 158 CF$UID - 41 + 42 NS.objects CF$UID - 502 + 437 CF$UID - 503 + 438 @@ -6000,28 +5987,28 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 160 + 161 CF$UID - 43 + 44 NS.objects CF$UID - 504 + 439 CF$UID - 522 + 457 @@ -6029,36 +6016,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 505 + 440 CF$UID - 69 + 70 CF$UID - 520 + 455 @@ -6066,13 +6053,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 506 + 441 @@ -6080,14 +6067,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -6112,36 +6095,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 57 + 58 CF$UID - 507 + 442 CF$UID - 514 + 449 CF$UID - 510 + 445 CF$UID - 510 + 445 CF$UID - 85 + 86 CF$UID - 518 + 453 @@ -6149,12 +6136,12 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 512 + 447 DomainIdentifier @@ -6164,29 +6151,29 @@ IdentifierPath CF$UID - 508 + 443 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 509 + 444 CF$UID - 511 + 446 @@ -6194,20 +6181,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 167 + 168 NS.objects CF$UID - 510 + 445 @@ -6216,20 +6203,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 170 + 171 NS.objects CF$UID - 171 + 172 @@ -6237,12 +6224,12 @@ $class CF$UID - 73 + 74 documentURL CF$UID - 513 + 448 timestamp @@ -6254,7 +6241,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.h @@ -6263,14 +6250,10 @@ $class CF$UID - 84 + 85 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -6283,24 +6266,28 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 515 + 450 CF$UID - 516 + 451 CF$UID - 82 + 83 CF$UID - 517 + 452 @@ -6311,7 +6298,7 @@ $class CF$UID - 88 + 89 NS.base @@ -6321,7 +6308,7 @@ NS.relative CF$UID - 519 + 454 file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.h @@ -6329,13 +6316,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 521 + 456 @@ -6344,36 +6331,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 523 + 458 CF$UID - 69 + 70 CF$UID - 541 + 476 @@ -6381,13 +6368,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 524 + 459 @@ -6395,14 +6382,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -6427,36 +6410,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 525 + 460 CF$UID - 526 + 461 CF$UID - 534 + 469 CF$UID - 538 + 473 CF$UID - 529 + 464 CF$UID - 85 + 86 CF$UID - 539 + 474 @@ -6465,48 +6452,48 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 532 + 467 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 527 + 462 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 528 + 463 CF$UID - 530 + 465 CF$UID - 531 + 466 @@ -6514,12 +6501,12 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 529 + 464 FSKRecognizer.mm @@ -6527,36 +6514,36 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 65 + 66 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 73 + 74 documentURL CF$UID - 533 + 468 timestamp @@ -6568,7 +6555,7 @@ $class CF$UID - 72 + 73 NS.string file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.mm @@ -6577,14 +6564,10 @@ $class CF$UID - 84 + 85 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -6597,24 +6580,28 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 535 + 470 CF$UID - 536 + 471 CF$UID - 82 + 83 CF$UID - 537 + 472 @@ -6626,7 +6613,7 @@ $class CF$UID - 88 + 89 NS.base @@ -6636,7 +6623,7 @@ NS.relative CF$UID - 540 + 475 file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.mm @@ -6644,13 +6631,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 542 + 477 @@ -6659,7 +6646,7 @@ $class CF$UID - 207 + 208 geniusEditorContextNode @@ -6669,19 +6656,19 @@ primaryEditorContextNode CF$UID - 544 + 479 rootLayoutTreeNode CF$UID - 551 + 485 $class CF$UID - 206 + 207 children @@ -6693,62 +6680,62 @@ documentArchivableRepresentation CF$UID - 545 + 480 orientation 0 parent CF$UID - 551 + 485 $class CF$UID - 74 + 75 DocumentLocation CF$UID - 433 + 384 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 546 + 481 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 547 + 482 CF$UID - 548 + 483 CF$UID - 549 + 484 @@ -6756,49 +6743,48 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 373 + 333 $class CF$UID - 63 + 64 Identifier CF$UID - 300 + 308 $class CF$UID - 63 + 64 Identifier CF$UID - 550 + 68 - SoftModemTerminal $class CF$UID - 206 + 207 children CF$UID - 552 + 486 contentType 0 @@ -6819,13 +6805,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 544 + 479 @@ -6833,56 +6819,56 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 554 + 488 CF$UID - 555 + 14 CF$UID - 556 + 18 CF$UID - 557 + 17 CF$UID - 558 + 12 CF$UID - 15 + 16 NS.objects CF$UID - 559 + 489 CF$UID - 639 + 569 CF$UID - 82 + 83 CF$UID - 554 + 488 CF$UID - 640 + 570 CF$UID @@ -6891,33 +6877,25 @@ IDEWorkspaceTabController_BB8E09B4-840A-4E76-909A-F596402FF1E8 - IDEOrderedWorkspaceTabControllers - IDEWindowToolbarIsVisible - IDEActiveWorkspaceTabController - IDEWindowFrame $class CF$UID - 89 + 90 NS.keys - - CF$UID - 20 - CF$UID 21 CF$UID - 27 + 22 CF$UID - 23 + 28 CF$UID @@ -6933,42 +6911,46 @@ CF$UID - 22 + 27 + + + CF$UID + 23 NS.objects CF$UID - 560 + 490 CF$UID - 82 + 83 CF$UID - 69 + 70 CF$UID - 611 + 541 CF$UID - 617 + 547 CF$UID - 631 + 561 CF$UID - 82 + 83 CF$UID - 529 + 464 @@ -6976,14 +6958,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 29 - CF$UID 30 @@ -7002,7 +6980,7 @@ CF$UID - 35 + 34 CF$UID @@ -7010,42 +6988,46 @@ CF$UID - 38 + 37 + + + CF$UID + 39 NS.objects CF$UID - 82 + 83 CF$UID - 561 + 491 CF$UID - 580 + 510 CF$UID - 39 + 40 CF$UID - 69 + 70 CF$UID - 595 + 525 CF$UID - 601 + 531 CF$UID - 602 + 532 @@ -7053,20 +7035,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 41 + 42 NS.objects CF$UID - 562 + 492 @@ -7074,20 +7056,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 43 + 44 NS.objects CF$UID - 563 + 493 @@ -7095,36 +7077,36 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 + 46 CF$UID - 46 + 47 CF$UID - 47 + 48 NS.objects CF$UID - 564 + 494 CF$UID - 69 + 70 CF$UID - 578 + 508 @@ -7132,13 +7114,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 565 + 495 @@ -7146,14 +7128,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 50 - CF$UID 51 @@ -7178,36 +7156,40 @@ CF$UID 56 + + CF$UID + 57 + NS.objects CF$UID - 525 + 460 CF$UID - 566 + 496 CF$UID - 572 + 502 CF$UID - 576 + 506 CF$UID - 529 + 464 CF$UID - 85 + 86 CF$UID - 577 + 507 @@ -7215,48 +7197,48 @@ $class CF$UID - 74 + 75 DocumentLocation CF$UID - 571 + 501 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 567 + 497 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 568 + 498 CF$UID - 569 + 499 CF$UID - 570 + 500 @@ -7264,48 +7246,48 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 529 + 464 $class CF$UID - 63 + 64 Identifier CF$UID - 65 + 66 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 73 + 74 documentURL CF$UID - 533 + 468 timestamp @@ -7317,14 +7299,10 @@ $class CF$UID - 84 + 85 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -7337,24 +7315,28 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 573 + 503 CF$UID - 574 + 504 CF$UID - 82 + 83 CF$UID - 575 + 505 @@ -7366,7 +7348,7 @@ $class CF$UID - 88 + 89 NS.base @@ -7376,20 +7358,20 @@ NS.relative CF$UID - 540 + 475 $class CF$UID - 68 + 69 NS.objects CF$UID - 579 + 509 @@ -7398,60 +7380,60 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 93 + 94 CF$UID - 94 + 95 CF$UID - 97 + 98 CF$UID - 96 + 97 CF$UID - 95 + 96 CF$UID - 98 + 99 NS.objects CF$UID - 99 + 100 CF$UID - 581 + 511 CF$UID - 582 + 512 CF$UID - 99 + 100 CF$UID - 588 + 518 CF$UID - 594 + 524 @@ -7459,20 +7441,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 101 + 102 NS.objects CF$UID - 69 + 70 @@ -7480,20 +7462,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 583 + 513 @@ -7501,17 +7483,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 584 + 514 CF$UID - 586 + 516 @@ -7519,28 +7501,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 109 CF$UID - 585 + 515 @@ -7549,28 +7531,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 112 CF$UID - 587 + 517 @@ -7579,20 +7561,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 589 + 519 @@ -7600,17 +7582,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 590 + 520 CF$UID - 592 + 522 @@ -7618,28 +7600,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 109 CF$UID - 591 + 521 @@ -7648,28 +7630,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 112 CF$UID - 593 + 523 @@ -7678,20 +7660,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 121 + 122 NS.objects CF$UID - 228 + 229 @@ -7699,20 +7681,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 596 + 526 @@ -7720,17 +7702,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 597 + 527 CF$UID - 599 + 529 @@ -7738,28 +7720,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 150 + 151 CF$UID - 598 + 528 @@ -7768,28 +7750,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 153 + 154 CF$UID - 600 + 530 @@ -7798,7 +7780,7 @@ $class CF$UID - 89 + 90 NS.keys @@ -7809,7 +7791,7 @@ $class CF$UID - 207 + 208 geniusEditorContextNode @@ -7819,19 +7801,19 @@ primaryEditorContextNode CF$UID - 603 + 533 rootLayoutTreeNode CF$UID - 609 + 539 $class CF$UID - 206 + 207 children @@ -7843,62 +7825,62 @@ documentArchivableRepresentation CF$UID - 604 + 534 orientation 0 parent CF$UID - 609 + 539 $class CF$UID - 74 + 75 DocumentLocation CF$UID - 571 + 501 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 605 + 535 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 606 + 536 CF$UID - 607 + 537 CF$UID - 608 + 538 @@ -7906,48 +7888,48 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 529 + 464 $class CF$UID - 63 + 64 Identifier CF$UID - 65 + 66 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 206 + 207 children CF$UID - 610 + 540 contentType 0 @@ -7968,13 +7950,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 603 + 533 @@ -7982,20 +7964,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 612 + 542 @@ -8003,17 +7985,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 613 + 543 CF$UID - 615 + 545 @@ -8021,28 +8003,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 212 CF$UID - 614 + 544 @@ -8051,28 +8033,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 212 CF$UID - 616 + 546 @@ -8081,28 +8063,28 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 219 + 220 CF$UID - 222 + 223 NS.objects CF$UID - 222 + 223 CF$UID - 618 + 548 @@ -8110,17 +8092,13 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 257 - - - CF$UID - 286 + 258 CF$UID @@ -8136,42 +8114,46 @@ CF$UID - 280 + 290 CF$UID - 290 + 281 + + + CF$UID + 291 NS.objects CF$UID - 619 + 549 CF$UID - 82 + 83 CF$UID - 281 + 282 CF$UID - 82 + 83 CF$UID - 82 + 83 CF$UID - 620 + 550 CF$UID - 622 + 552 @@ -8180,13 +8162,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 621 + 551 @@ -8194,21 +8176,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 65 + 66 CF$UID - 529 + 464 @@ -8216,41 +8198,41 @@ $class CF$UID - 282 + 283 NS.objects CF$UID - 623 + 553 CF$UID - 624 + 554 CF$UID - 625 + 555 CF$UID - 626 + 556 CF$UID - 627 + 557 CF$UID - 628 + 558 CF$UID - 629 + 559 CF$UID - 630 + 560 @@ -8258,13 +8240,13 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 @@ -8272,17 +8254,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 297 + 298 @@ -8290,17 +8272,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 65 + 66 @@ -8308,17 +8290,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 305 + 306 @@ -8326,17 +8308,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 134 + 135 @@ -8344,17 +8326,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 300 + 301 @@ -8362,17 +8344,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 303 + 304 @@ -8380,17 +8362,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 67 + 68 CF$UID - 307 + 308 @@ -8398,20 +8380,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 632 + 562 @@ -8419,21 +8401,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 633 + 563 CF$UID - 635 + 565 CF$UID - 637 + 567 @@ -8441,28 +8423,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 24 + 25 CF$UID - 634 + 564 @@ -8471,28 +8453,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 20 + 21 CF$UID - 636 + 566 @@ -8501,28 +8483,28 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 328 + 329 CF$UID - 638 + 568 @@ -8531,13 +8513,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 554 + 488 @@ -8546,92 +8528,92 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 642 + 572 CF$UID - 643 + 573 CF$UID - 644 + 574 CF$UID - 645 + 575 CF$UID - 646 + 576 CF$UID - 647 + 577 CF$UID - 648 + 578 CF$UID - 649 + 579 CF$UID - 650 + 580 CF$UID - 651 + 581 NS.objects CF$UID - 82 + 83 CF$UID - 652 + 582 CF$UID - 69 + 70 CF$UID - 936 + 877 CF$UID - 939 + 880 CF$UID - 944 + 885 CF$UID - 974 + 915 CF$UID - 975 + 916 CF$UID - 82 + 83 CF$UID - 82 + 83 @@ -8649,103 +8631,103 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 653 + 583 CF$UID - 654 + 584 CF$UID - 655 + 86 CF$UID - 656 + 585 CF$UID - 142 + 143 CF$UID - 85 + 586 CF$UID - 657 + 587 CF$UID - 658 + 588 NS.objects CF$UID - 659 + 589 CF$UID - 665 + 644 CF$UID - 678 + 661 CF$UID - 684 + 798 CF$UID - 719 + 833 CF$UID - 755 + 854 CF$UID - 874 + 860 CF$UID - 924 + 866 - Xcode.IDEKit.EditorDocument.DebuggerLogDocument + Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project IDEQuickLookEditor.Editor - Xcode.IDEKit.EditorDocument.SourceCode-from-Xcode3Project Xcode.IDEKit.CocoaTouchIntegration.EditorDocument.CocoaTouch - Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project + Xcode.IDEKit.EditorDocument.SourceCode-from-Xcode3Project + Xcode.IDEKit.EditorDocument.DebuggerLogDocument Xcode.IDEKit.EditorDocument.LogDocument $class CF$UID - 89 + 90 NS.keys CF$UID - 660 + 590 NS.objects CF$UID - 662 + 592 @@ -8753,7 +8735,7 @@ $class CF$UID - 88 + 89 NS.base @@ -8763,137 +8745,114 @@ NS.relative CF$UID - 661 + 591 - x-xcode-log://EBCB8C2C-6E88-4867-A641-C655A4FCC1A4 $class CF$UID - 89 + 73 - NS.keys - - - CF$UID - 663 - - - NS.objects - - - CF$UID - 664 - - + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/ - DBGConsoleLogEditorScrollRange - {0, 518} $class CF$UID - 89 + 90 NS.keys CF$UID - 666 + 593 + + + CF$UID + 594 CF$UID - 667 + 595 + + + CF$UID + 596 + + + CF$UID + 597 NS.objects CF$UID - 669 + 598 + + + CF$UID + 599 + + + CF$UID + 609 + + + CF$UID + 610 CF$UID - 673 + 643 + Xcode3ProjectEditorPreviousProjectEditorClass + Xcode3ProjectEditor.sourceList.splitview + Xcode3ProjectEditorPreviousTargetEditorClass + Xcode3ProjectEditorSelectedDocumentLocations + Xcode3ProjectEditor_Xcode3BuildSettingsEditor + Xcode3ProjectInfoEditor $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 434 - - - - $class - - CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 668 - - - - $class - - CF$UID - 72 - - NS.string - file://localhost/Users/john/Library/Developer/Xcode/DerivedData/SoftModemTerminal-agqyhyibnkvreqcwhyltwapfogzz/Build/Products/Debug-iphoneos/AcousticMessage.app/ - - - $class - - CF$UID - 89 + 90 NS.keys CF$UID - 436 + 600 NS.objects CF$UID - 670 + 601 + DVTSplitViewItems $class CF$UID - 68 + 114 NS.objects CF$UID - 671 + 602 + + + CF$UID + 607 @@ -8901,57 +8860,77 @@ $class CF$UID - 441 - - IDEQuickLookPageNumber - - CF$UID - 69 - - documentURL - - CF$UID - 439 - - timestamp - - CF$UID - 672 + 85 + NS.keys + + + CF$UID + 603 + + + CF$UID + 604 + + + NS.objects + + + CF$UID + 605 + + + CF$UID + 606 + + - 322374030.95697898 + DVTIdentifier + DVTViewMagnitude + + 170 $class CF$UID - 89 + 85 NS.keys CF$UID - 436 + 603 + + + CF$UID + 604 NS.objects CF$UID - 674 + 605 + + + CF$UID + 608 + 970 + Xcode3BuildSettingsEditor $class CF$UID - 68 + 69 NS.objects CF$UID - 675 + 611 @@ -8959,146 +8938,204 @@ $class CF$UID - 441 + 642 - IDEQuickLookPageNumber + documentURL CF$UID - 69 + 612 - documentURL + selection CF$UID - 676 + 614 timestamp CF$UID - 677 + 613 - file://localhost/Users/john/Library/Developer/Xcode/DerivedData/SoftModemTerminal-agqyhyibnkvreqcwhyltwapfogzz/Build/Products/Debug-iphoneos/AcousticMessage.app/ - 322373999.460684 + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/ + 323804637.44197297 $class CF$UID - 89 + 90 NS.keys CF$UID - 679 + 615 + + + CF$UID + 616 + + + CF$UID + 617 NS.objects CF$UID - 681 + 618 + + + CF$UID + 619 + + + CF$UID + 620 + Editor + Target + Xcode3BuildSettingsEditorLocations + Xcode3BuildSettingsEditor + AcousticMessage $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 680 - - - - $class - - CF$UID - 72 + 69 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.pbxproj + NS.objects + + + CF$UID + 621 + + $class CF$UID - 89 + 90 NS.keys CF$UID - 79 + 622 CF$UID - 77 + 623 CF$UID - 76 + 624 + + + CF$UID + 625 + + + CF$UID + 626 + + + CF$UID + 627 NS.objects CF$UID - 83 + 628 CF$UID - 682 + 641 + + + CF$UID + 70 + + + CF$UID + 70 + + + CF$UID + 100 CF$UID - 683 + 100 - {7663, 862} - 321398707.07565498 + Collapsed Build Property Categories + Selected Build Properties + Xcode3BuildSettingsEditorDisplayMode + Xcode3BuildPropertyValueDisplayMode + Xcode3BuildSettingsEditorMode + Xcode3BuildPropertyNameDisplayMode $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 685 + 629 + + + CF$UID + 630 CF$UID - 687 + 631 CF$UID - 689 + 632 + + + CF$UID + 633 - - NS.objects - CF$UID - 691 + 634 CF$UID - 703 + 635 CF$UID - 711 + 636 + + + CF$UID + 637 + + + CF$UID + 638 + + + CF$UID + 639 + + + CF$UID + 640 @@ -9106,134 +9143,134 @@ $class CF$UID - 88 + 73 - NS.base + NS.string + Architectures||SDKROOT + + + $class CF$UID - 0 + 73 - NS.relative + NS.string + Deployment||INSTALL_PATH + + + $class CF$UID - 686 + 73 + NS.string + Deployment||STRIP_INSTALLED_PRODUCT $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainWindow.xib + Deployment||TARGETED_DEVICE_FAMILY $class CF$UID - 88 + 73 - NS.base + NS.string + Deployment||IPHONEOS_DEPLOYMENT_TARGET + + + $class CF$UID - 0 + 73 - NS.relative + NS.string + Packaging||INFOPLIST_FILE + + + $class CF$UID - 688 + 73 + NS.string + Packaging||PRODUCT_NAME $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainView.xib + Search Paths||ALWAYS_SEARCH_USER_PATHS $class CF$UID - 88 + 73 - NS.base + NS.string + GCC 4.2 - Code Generation||GCC_DYNAMIC_NO_PIC + + + $class CF$UID - 0 + 73 - NS.relative + NS.string + GCC 4.2 - Language||GCC_PRECOMPILE_PREFIX_HEADER + + + $class CF$UID - 690 + 73 + NS.string + GCC 4.2 - Language||GCC_PREFIX_HEADER $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/FlipsideView.xib + User-Defined||PREBINDING $class CF$UID - 89 + 114 - NS.keys - - - CF$UID - 692 - - - CF$UID - 693 - - - CF$UID - 694 - - - CF$UID - 695 - - NS.objects + + + + $classes - - CF$UID - 696 - - - CF$UID - 697 - - - CF$UID - 695 - - - CF$UID - 698 - + Xcode3ProjectDocumentLocation + DVTDocumentLocation + NSObject + $classname + Xcode3ProjectDocumentLocation - IBDockViewController - SelectedObjectIDs - SelectionProvider - IBCanvasViewController $class CF$UID - 89 + 90 NS.keys @@ -9244,116 +9281,56 @@ $class CF$UID - 113 - - NS.objects - - - CF$UID - 228 - - - - - $class - - CF$UID - 89 + 90 NS.keys CF$UID - 699 + 645 CF$UID - 700 + 647 NS.objects CF$UID - 701 + 649 CF$UID - 702 + 656 - ObjectIDToLastKnownCanvasPositionMap - EditedTopLevelObjectIDs $class CF$UID 89 - NS.keys - - NS.objects - - - - $class + NS.base CF$UID - 113 + 0 + + NS.relative + + CF$UID + 646 - NS.objects - - - CF$UID - 228 - - $class CF$UID - 89 + 73 - NS.keys - - - CF$UID - 692 - - - CF$UID - 693 - - - CF$UID - 694 - - - CF$UID - 695 - - - NS.objects - - - CF$UID - 704 - - - CF$UID - 705 - - - CF$UID - 695 - - - CF$UID - 707 - - + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/icon.png $class @@ -9361,123 +9338,114 @@ CF$UID 89 - NS.keys - - NS.objects - + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 648 + $class CF$UID - 113 + 73 - NS.objects - - - CF$UID - 706 - - + NS.string + file://localhost/Users/john/Library/Developer/Xcode/DerivedData/SoftModemTerminal-agqyhyibnkvreqcwhyltwapfogzz/Build/Products/Debug-iphoneos/AcousticMessage.app/ - 82 $class CF$UID - 89 + 90 NS.keys CF$UID - 699 - - - CF$UID - 700 + 650 NS.objects CF$UID - 708 - - - CF$UID - 709 + 651 + SelectedDocumentLocations $class CF$UID - 89 + 69 - NS.keys - NS.objects - + + + CF$UID + 652 + + $class CF$UID - 113 + 655 - NS.objects + IDEQuickLookPageNumber + + CF$UID + 70 + + documentURL + + CF$UID + 653 + + timestamp + + CF$UID + 654 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/icon.png + 323630962.58721799 + + $classes - - CF$UID - 710 - + IDEQuickLookDocumentLocation + DVTDocumentLocation + NSObject + $classname + IDEQuickLookDocumentLocation - 34 $class CF$UID - 89 + 90 NS.keys CF$UID - 692 - - - CF$UID - 693 - - - CF$UID - 694 - - - CF$UID - 695 + 650 NS.objects CF$UID - 712 - - - CF$UID - 713 - - - CF$UID - 695 - - - CF$UID - 715 + 657 @@ -9485,157 +9453,250 @@ $class CF$UID - 89 + 69 - NS.keys - NS.objects - + + + CF$UID + 658 + + $class CF$UID - 113 + 655 + + IDEQuickLookPageNumber + + CF$UID + 70 + + documentURL + + CF$UID + 659 + + timestamp + + CF$UID + 660 - NS.objects - - - CF$UID - 714 - - - 40 + file://localhost/Users/john/Library/Developer/Xcode/DerivedData/SoftModemTerminal-agqyhyibnkvreqcwhyltwapfogzz/Build/Products/Debug-iphoneos/AcousticMessage.app/ + 322373999.460684 $class CF$UID - 89 + 90 NS.keys CF$UID - 699 + 662 CF$UID - 700 + 664 - - NS.objects - CF$UID - 716 + 666 CF$UID - 717 + 668 - - - - $class - - CF$UID - 89 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 718 + 670 - - - 40 - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 720 + 672 CF$UID - 722 + 674 CF$UID - 724 + 676 CF$UID - 726 + 678 CF$UID - 728 + 680 CF$UID - 730 + 682 CF$UID - 732 + 684 - - NS.objects - CF$UID - 734 + 686 CF$UID - 737 + 688 CF$UID - 740 + 690 CF$UID - 743 + 692 CF$UID - 746 + 694 CF$UID - 748 + 696 CF$UID - 751 + 698 - - - - $class + + CF$UID + 700 + + + CF$UID + 702 + + + CF$UID + 704 + + + CF$UID + 706 + + + CF$UID + 708 + + + NS.objects + + + CF$UID + 710 + + + CF$UID + 713 + + + CF$UID + 717 + + + CF$UID + 720 + + + CF$UID + 724 + + + CF$UID + 727 + + + CF$UID + 731 + + + CF$UID + 733 + + + CF$UID + 737 + + + CF$UID + 741 + + + CF$UID + 744 + + + CF$UID + 748 + + + CF$UID + 751 + + + CF$UID + 755 + + + CF$UID + 758 + + + CF$UID + 761 + + + CF$UID + 765 + + + CF$UID + 769 + + + CF$UID + 771 + + + CF$UID + 774 + + + CF$UID + 778 + + + CF$UID + 782 + + + CF$UID + 786 + + + CF$UID + 794 + + + + + $class CF$UID - 88 + 89 NS.base @@ -9645,23 +9706,23 @@ NS.relative CF$UID - 721 + 663 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKSerialGenerator.mm + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/PatternRecognizer.h $class CF$UID - 88 + 89 NS.base @@ -9671,23 +9732,23 @@ NS.relative CF$UID - 723 + 665 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MultiDelegate.m + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/lockfree.h $class CF$UID - 88 + 89 NS.base @@ -9697,23 +9758,23 @@ NS.relative CF$UID - 725 + 667 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalAnalyzer.m + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FlipsideViewController.m $class CF$UID - 88 + 89 NS.base @@ -9723,23 +9784,23 @@ NS.relative CF$UID - 727 + 669 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalGenerator.m + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKByteQueue.h $class CF$UID - 88 + 89 NS.base @@ -9749,23 +9810,23 @@ NS.relative CF$UID - 729 + 671 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FlipsideViewController.h $class CF$UID - 88 + 89 NS.base @@ -9775,23 +9836,23 @@ NS.relative CF$UID - 731 + 673 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.mm + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKSerialGenerator.h $class CF$UID - 88 + 89 NS.base @@ -9801,17 +9862,17 @@ NS.relative CF$UID - 733 + 675 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/main.m + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.m $class @@ -9819,168 +9880,1161 @@ CF$UID 89 - NS.keys - - - CF$UID - 79 - - - CF$UID - 77 - - - CF$UID - 76 - - - NS.objects - - - CF$UID - 83 - - - CF$UID - 735 - - - CF$UID - 736 - - + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 677 + - {0, 390} - 321398509.30550998 $class CF$UID - 89 + 73 - NS.keys - - - CF$UID - 79 - - - CF$UID - 77 - - - CF$UID - 76 - - - NS.objects - - - CF$UID - 83 - - - CF$UID - 738 - - - CF$UID - 739 - - + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalGenerator.h - {142, 236} - 321398518.23721898 $class CF$UID 89 - NS.keys - - - CF$UID - 79 - - - CF$UID - 77 - - - CF$UID - 76 - - - NS.objects - - - CF$UID - 83 - + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 679 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalAnalyzer.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 681 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/main.m + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 683 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKSerialGenerator.mm + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 685 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.mm + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 687 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalGenerator.m + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 689 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 691 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MultiDelegate.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 693 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalAnalyzer.m + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 695 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioQueueObject.m + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 697 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/CharReceiver.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 699 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 701 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKModemConfig.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 703 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioQueueObject.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 705 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.h + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 707 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 709 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MultiDelegate.m + + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 711 + + + CF$UID + 712 + + + CF$UID + 83 + + + CF$UID + 84 + + + + 323730482.650648 + {0, 362} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 714 + + + CF$UID + 715 + + + CF$UID + 83 + + + CF$UID + 716 + + + + 321397062.731062 + {0, 473} + {6497, 0} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 718 + + + CF$UID + 719 + + + CF$UID + 83 + + + CF$UID + 84 + + + + 320115369.83666199 + {231, 873} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 721 + + + CF$UID + 722 + + + CF$UID + 83 + + + CF$UID + 723 + + + + 321398270.78427702 + {0, 275} + {275, 0} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 725 + + + CF$UID + 726 + + + CF$UID + 83 + + + CF$UID + 84 + + + + 320115371.68223 + {0, 556} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 728 + + + CF$UID + 729 + + + CF$UID + 83 + + + CF$UID + 730 + + + + 321398156.456352 + {150, 378} + {528, 0} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 732 + + + CF$UID + 388 + + + CF$UID + 83 + + + CF$UID + 389 + + + + 323742127.31939101 + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 734 + + + CF$UID + 735 + + + CF$UID + 83 + + + CF$UID + 736 + + + + 321398230.09280998 + {527, 531} + {1058, 0} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 738 + + + CF$UID + 739 + + + CF$UID + 83 + + + CF$UID + 740 + + + + 321398244.49687397 + {545, 478} + {1023, 0} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 742 + + + CF$UID + 743 + + + CF$UID + 83 + + + CF$UID + 84 + + + + 320794312.79152501 + {0, 366} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 745 + + + CF$UID + 746 + + + CF$UID + 83 + + + CF$UID + 747 + + + + 321398169.95822501 + {3762, 334} + {4101, 0} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 749 + + + CF$UID + 750 + + + CF$UID + 83 + + + CF$UID + 84 + + + + 321398840.70234603 + {3767, 650} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 752 + + + CF$UID + 753 + + + CF$UID + 83 + + + CF$UID + 754 + + + + 321398226.67057198 + {2889, 239} + {3128, 0} + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 741 + 77 CF$UID - 742 + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 756 + + + CF$UID + 177 + + + CF$UID + 83 + + + CF$UID + 757 - {0, 318} - 321398474.182271 + 323736568.56369698 + {367, 40} $class CF$UID - 89 + 90 NS.keys CF$UID - 79 + 77 CF$UID - 77 + 78 CF$UID - 76 + 79 + + + CF$UID + 80 NS.objects CF$UID - 83 + 759 CF$UID - 744 + 760 CF$UID - 745 + 83 + + + CF$UID + 84 - {2643, 246} - 321398498.38692498 + 320796221.71170402 + {0, 348} $class CF$UID - 89 + 90 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -9993,40 +11047,42 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 747 + 762 CF$UID - 83 + 763 CF$UID - 82 + 83 CF$UID - 83 + 764 - 320803861.587497 + 321398241.87432599 + {6763, 392} + {7155, 0} $class CF$UID - 89 + 90 NS.keys - - CF$UID - 76 - CF$UID 77 @@ -10039,144 +11095,205 @@ CF$UID 79 + + CF$UID + 80 + NS.objects CF$UID - 749 + 766 CF$UID - 750 + 767 CF$UID - 82 + 83 CF$UID - 83 + 768 - 321398473.16409898 - {3941, 227} + 321398253.72789901 + {304, 356} + {660, 0} $class CF$UID - 89 + 90 NS.keys CF$UID - 79 + 77 CF$UID - 77 + 78 CF$UID - 76 + 79 + + + CF$UID + 80 NS.objects CF$UID - 752 + 770 CF$UID - 753 + 424 CF$UID - 754 + 83 + + + CF$UID + 84 - {296, 0} - {0, 366} - 321398838.71867698 + 322373751.03616703 $class CF$UID - 89 + 90 NS.keys CF$UID - 756 + 77 CF$UID - 758 + 78 CF$UID - 760 + 79 CF$UID - 762 + 80 + + NS.objects + CF$UID - 764 + 772 CF$UID - 766 + 773 CF$UID - 768 + 83 CF$UID - 770 + 84 + + + 321398406.05891103 + {0, 326} + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 732 + 77 CF$UID - 720 + 78 CF$UID - 730 + 79 CF$UID - 726 + 80 + + NS.objects + CF$UID - 772 + 775 CF$UID - 774 + 776 CF$UID - 724 + 83 CF$UID - 776 + 777 + + + + 322374004.00385398 + {0, 617} + {410, 64} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 77 CF$UID - 778 + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 779 CF$UID @@ -10184,118 +11301,199 @@ CF$UID - 782 + 83 CF$UID - 784 + 781 + + + 321398260.20802099 + {39, 568} + {607, 0} + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 786 + 77 CF$UID - 728 + 78 CF$UID - 722 + 79 + + + CF$UID + 80 NS.objects CF$UID - 788 + 783 CF$UID - 792 + 784 CF$UID - 795 + 83 + + + CF$UID + 785 + + + + 323736691.83752102 + {0, 884} + {185, 40} + + $class + + CF$UID + 90 + + NS.keys + + + CF$UID + 787 + + + CF$UID + 788 CF$UID - 799 + 789 CF$UID - 802 + 790 + + NS.objects + CF$UID - 806 + 791 CF$UID - 810 + 792 CF$UID - 814 + 83 CF$UID - 818 + 793 + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 323805958.28434801 + {2893, 1822} + {3818, 3} + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 820 + 77 CF$UID - 824 + 78 CF$UID - 827 + 79 CF$UID - 831 + 80 + + NS.objects + CF$UID - 834 + 795 CF$UID - 837 + 796 CF$UID - 841 + 83 CF$UID - 845 + 797 + + + 323630963.29741597 + {0, 976} + {297, 0} + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 852 + 799 CF$UID - 855 + 801 CF$UID - 859 + 803 + + NS.objects + CF$UID - 863 + 805 CF$UID - 867 + 817 CF$UID - 870 + 825 @@ -10303,7 +11501,7 @@ $class CF$UID - 88 + 89 NS.base @@ -10313,23 +11511,23 @@ NS.relative CF$UID - 757 + 800 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/lockfree.h + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainWindow.xib $class CF$UID - 88 + 89 NS.base @@ -10339,23 +11537,23 @@ NS.relative CF$UID - 759 + 802 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FlipsideViewController.m + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainView.xib $class CF$UID - 88 + 89 NS.base @@ -10365,335 +11563,783 @@ NS.relative CF$UID - 761 + 804 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKByteQueue.h + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/FlipsideView.xib $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 763 + 90 + NS.keys + + + CF$UID + 806 + + + CF$UID + 807 + + + CF$UID + 808 + + + CF$UID + 809 + + + NS.objects + + + CF$UID + 810 + + + CF$UID + 811 + + + CF$UID + 809 + + + CF$UID + 812 + + + IBDockViewController + SelectedObjectIDs + SelectionProvider + IBCanvasViewController $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FlipsideViewController.h + NS.keys + + NS.objects + $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 765 + 114 + NS.objects + + + CF$UID + 229 + + $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKSerialGenerator.h + NS.keys + + + CF$UID + 813 + + + CF$UID + 814 + + + NS.objects + + + CF$UID + 815 + + + CF$UID + 816 + + + ObjectIDToLastKnownCanvasPositionMap + EditedTopLevelObjectIDs $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 767 + 90 + NS.keys + + NS.objects + $class CF$UID - 72 + 114 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.m + NS.objects + + + CF$UID + 229 + + $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 769 + 90 + NS.keys + + + CF$UID + 806 + + + CF$UID + 807 + + + CF$UID + 808 + + + CF$UID + 809 + + + NS.objects + + + CF$UID + 818 + + + CF$UID + 819 + + + CF$UID + 809 + + + CF$UID + 821 + + $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalGenerator.h + NS.keys + + NS.objects + $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 771 + 114 + NS.objects + + + CF$UID + 820 + + + 82 $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalAnalyzer.h + NS.keys + + + CF$UID + 813 + + + CF$UID + 814 + + + NS.objects + + + CF$UID + 822 + + + CF$UID + 823 + + $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 773 + 90 + NS.keys + + NS.objects + $class CF$UID - 72 + 114 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.h + NS.objects + + + CF$UID + 824 + + + 34 $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 775 + 90 + NS.keys + + + CF$UID + 806 + + + CF$UID + 807 + + + CF$UID + 808 + + + CF$UID + 809 + + + NS.objects + + + CF$UID + 826 + + + CF$UID + 827 + + + CF$UID + 809 + + + CF$UID + 829 + + $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MultiDelegate.h + NS.keys + + NS.objects + $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 777 + 114 + NS.objects + + + CF$UID + 828 + + + 40 $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioQueueObject.m + NS.keys + + + CF$UID + 813 + + + CF$UID + 814 + + + NS.objects + + + CF$UID + 830 + + + CF$UID + 831 + + $class CF$UID - 88 + 90 - NS.base + NS.keys + + NS.objects + + + + $class CF$UID - 0 + 114 - NS.relative + NS.objects + + + CF$UID + 832 + + + + 40 + + $class CF$UID - 779 + 90 + NS.keys + + + CF$UID + 682 + + + CF$UID + 708 + + + CF$UID + 692 + + + CF$UID + 686 + + + CF$UID + 706 + + + CF$UID + 684 + + + CF$UID + 680 + + + NS.objects + + + CF$UID + 834 + + + CF$UID + 837 + + + CF$UID + 840 + + + CF$UID + 843 + + + CF$UID + 846 + + + CF$UID + 848 + + + CF$UID + 851 + + $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/CharReceiver.h + NS.keys + + + CF$UID + 80 + + + CF$UID + 78 + + + CF$UID + 77 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 835 + + + CF$UID + 836 + + + {0, 390} + 321398509.30550998 $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 781 + 90 + NS.keys + + + CF$UID + 80 + + + CF$UID + 78 + + + CF$UID + 77 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 838 + + + CF$UID + 839 + + + {142, 236} + 321398518.23721898 $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKRecognizer.h + NS.keys + + + CF$UID + 80 + + + CF$UID + 78 + + + CF$UID + 77 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 841 + + + CF$UID + 842 + + + {0, 318} + 321398474.182271 $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 783 + 90 + NS.keys + + + CF$UID + 80 + + + CF$UID + 78 + + + CF$UID + 77 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 844 + + + CF$UID + 845 + + + {2643, 246} + 321398498.38692498 $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKModemConfig.h + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 847 + + + CF$UID + 84 + + + CF$UID + 83 + + + CF$UID + 84 + + + 320803861.587497 $class CF$UID - 88 - - NS.base - - CF$UID - 0 + 90 - NS.relative + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 849 + + + CF$UID + 850 + + + CF$UID + 83 + + + CF$UID + 84 + + + + 321398473.16409898 + {3941, 227} + + $class CF$UID - 785 + 90 + NS.keys + + + CF$UID + 80 + + + CF$UID + 78 + + + CF$UID + 77 + + + NS.objects + + + CF$UID + 852 + + + CF$UID + 743 + + + CF$UID + 853 + + + {296, 0} + 321398838.71867698 $class CF$UID - 72 + 90 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioQueueObject.h + NS.keys + + + CF$UID + 855 + + + NS.objects + + + CF$UID + 857 + + $class CF$UID - 88 + 89 NS.base @@ -10703,33 +12349,29 @@ NS.relative CF$UID - 787 + 856 $class CF$UID - 72 + 73 NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.h + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.pbxproj $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 80 CF$UID @@ -10737,640 +12379,885 @@ CF$UID - 79 + 77 NS.objects CF$UID - 789 - - - CF$UID - 790 + 84 CF$UID - 82 + 858 CF$UID - 791 + 859 - 321397062.731062 - {0, 473} - {6497, 0} + {7663, 862} + 321398707.07565498 $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 - - - CF$UID - 78 - - - CF$UID - 79 + 861 NS.objects CF$UID - 793 - - - CF$UID - 794 - - - CF$UID - 82 - - - CF$UID - 83 + 863 - 320115369.83666199 - {231, 873} $class CF$UID 89 + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 862 + + + x-xcode-log://EBCB8C2C-6E88-4867-A641-C655A4FCC1A4 + + $class + + CF$UID + 90 + NS.keys CF$UID - 76 - - - CF$UID - 77 + 864 + + NS.objects + CF$UID - 78 + 865 + + + DBGConsoleLogEditorScrollRange + {0, 518} + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 79 + 867 NS.objects CF$UID - 796 + 869 + + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 868 + + + x-xcode-log://085169EC-BDD0-4804-B96F-E46A429DF00C + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 797 + 650 + + NS.objects + CF$UID - 82 + 870 + + + + $class + + CF$UID + 69 + + NS.objects + CF$UID - 798 + 871 - 321398270.78427702 - {0, 275} - {275, 0} $class CF$UID - 89 + 876 + + documentURL + + CF$UID + 868 + + expandTranscript + + indexPath + + CF$UID + 872 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 875 + + NSIndexPathData + + CF$UID + 873 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 874 + + NS.data + + AAA= + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $classes + + NSIndexPath + NSObject + + $classname + NSIndexPath + + + $classes + + IDELogDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDELogDocumentLocation + + + $class + + CF$UID + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 - - - CF$UID - 78 - - - CF$UID - 79 + 878 NS.objects CF$UID - 800 - - - CF$UID - 801 - - - CF$UID - 82 - - - CF$UID - 83 + 879 - 320115371.68223 - {0, 556} + IDENameString + AcousticMessage $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 - - - CF$UID - 78 + 881 CF$UID - 79 + 882 NS.objects CF$UID - 803 - - - CF$UID - 804 - - - CF$UID - 82 + 883 CF$UID - 805 + 884 - 321398156.456352 - {150, 378} - {528, 0} + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-iphonePlaceholder:placeholder + armv7 $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 886 CF$UID - 78 + 887 CF$UID - 79 + 888 NS.objects CF$UID - 807 - - - CF$UID - 808 + 889 CF$UID - 82 + 914 CF$UID - 809 + 896 - 320116081.94496799 - {0, 1453} - {1370, 0} + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + IDEActivityReportTitle $class CF$UID - 89 + 114 - NS.keys - - - CF$UID - 76 - - - CF$UID - 77 - - - CF$UID - 78 - - - CF$UID - 79 - - NS.objects CF$UID - 811 + 890 CF$UID - 812 + 897 CF$UID - 82 + 901 CF$UID - 813 + 905 - 321398230.09280998 - {527, 531} - {1058, 0} $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 891 CF$UID - 78 + 892 CF$UID - 79 + 893 NS.objects CF$UID - 815 - - - CF$UID - 816 + 894 CF$UID - 82 + 895 CF$UID - 817 + 896 - 321398244.49687397 - {545, 478} - {1023, 0} + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentStringValue + 2 + + Build $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 891 CF$UID - 78 + 892 CF$UID - 79 + 893 NS.objects CF$UID - 819 - - - CF$UID - 753 + 898 CF$UID - 82 + 899 CF$UID - 83 + 900 - 320794312.79152501 + 4 + : + AcousticMessage $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 891 CF$UID - 78 + 892 CF$UID - 79 + 893 NS.objects CF$UID - 821 - - - CF$UID - 822 + 902 CF$UID - 82 + 903 CF$UID - 823 + 904 - 321398169.95822501 - {3762, 334} - {4101, 0} + 1 + │ $class CF$UID - 89 + 874 - NS.keys - - - CF$UID - 76 - - - CF$UID - 77 - - - CF$UID - 78 - - - CF$UID - 79 - - - NS.objects - - - CF$UID - 825 - - - CF$UID - 826 - - - CF$UID - 82 - - - CF$UID - 83 - - + NS.data + + YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK + CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC + WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui + FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO + U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q + EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh + c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT + cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 + NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 + cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB + cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf + AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA + yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL + AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + - 321398840.70234603 - {3767, 650} $class CF$UID - 89 + 90 NS.keys CF$UID - 76 + 891 CF$UID - 77 + 906 CF$UID - 78 + 907 CF$UID - 79 + 893 + + + CF$UID + 908 + + + CF$UID + 909 NS.objects CF$UID - 828 + 910 CF$UID - 829 + 100 CF$UID - 82 + 911 CF$UID - 830 + 913 + + + CF$UID + 100 + + + CF$UID + 100 - 321398226.67057198 - {2889, 239} - {3128, 0} + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentDate + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentTimeStyle + 3 $class CF$UID - 89 + 912 - NS.keys + NS.time + 322373861.68695599 + + + $classes + + NSDate + NSObject + + $classname + NSDate + + 3/20/11 at 11:17 PM + 106 + + $class + + CF$UID + 114 + + NS.objects + + + + $class + + CF$UID + 114 + + NS.objects CF$UID - 76 + 917 CF$UID - 77 + 919 CF$UID - 78 + 920 CF$UID - 79 + 921 - - NS.objects - CF$UID - 832 + 923 CF$UID - 176 + 924 CF$UID - 82 + 926 CF$UID - 833 + 928 + + + CF$UID + 929 + + + CF$UID + 931 - 320115372.42680103 - {262, 30} $class CF$UID - 89 + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 918 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 612 + + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 392 + + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 922 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/SoftModemTerminalAppDelegate.h + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 179 + + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 925 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/PatternRecognizer.h + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 927 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MultiDelegate.m + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 653 + + + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 930 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKModemConfig.h + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 659 + + + + $class + + CF$UID + 90 NS.keys CF$UID - 76 + 16 CF$UID - 77 + 14 CF$UID - 78 + 933 CF$UID - 79 + 17 + + + CF$UID + 12 + + + CF$UID + 18 NS.objects CF$UID - 835 + 5 CF$UID - 836 + 934 CF$UID - 82 + 935 + + + CF$UID + 933 + + + CF$UID + 570 CF$UID @@ -11378,658 +13265,669 @@ - 320796221.71170402 - {0, 348} + IDEWorkspaceTabController_8F2578C5-402B-4FC2-99A8-F664CDEBB133 $class CF$UID - 89 + 69 + + NS.objects + + + CF$UID + 933 + + + + + $class + + CF$UID + 90 NS.keys CF$UID - 76 + 28 CF$UID - 77 + 22 CF$UID - 78 + 23 CF$UID - 79 + 24 - - NS.objects - CF$UID - 838 + 25 CF$UID - 839 + 26 CF$UID - 82 + 27 CF$UID - 840 + 21 - - 321398241.87432599 - {6763, 392} - {7155, 0} - - $class - - CF$UID - 89 - - NS.keys + NS.objects CF$UID - 76 + 70 CF$UID - 77 + 83 CF$UID - 78 + 133 CF$UID - 79 + 936 - - NS.objects - CF$UID - 842 + 942 CF$UID - 843 + 950 CF$UID - 82 + 83 CF$UID - 844 + 958 - 321398253.72789901 - {304, 356} - {660, 0} $class CF$UID - 89 + 90 NS.keys CF$UID - 846 - - - CF$UID - 847 - - - CF$UID - 848 - - - CF$UID - 849 + 104 NS.objects CF$UID - 850 - - - CF$UID - 851 + 937 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 82 + 938 CF$UID - 83 + 940 - PrimaryDocumentTimestamp - PrimaryDocumentVisibleCharacterRange - HideAllIssues - PrimaryDocumentSelectedCharacterRange - 322373751.03616703 - {0, 250} $class CF$UID - 89 + 85 NS.keys CF$UID - 76 + 107 CF$UID - 77 + 108 + + NS.objects + CF$UID - 78 + 212 CF$UID - 79 + 939 - NS.objects + + 456 + + $class + + CF$UID + 85 + + NS.keys CF$UID - 853 + 107 CF$UID - 854 + 108 + + NS.objects + CF$UID - 82 + 212 CF$UID - 83 + 941 - 321398406.05891103 - {0, 326} + 224 $class CF$UID - 89 + 90 NS.keys CF$UID - 846 - - - CF$UID - 847 + 223 CF$UID - 848 + 220 CF$UID - 849 + 221 NS.objects CF$UID - 856 - - - CF$UID - 857 + 943 CF$UID - 82 + 221 CF$UID - 858 + 944 - 322374004.00385398 - {0, 617} - {410, 64} $class CF$UID - 89 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 258 CF$UID - 78 + 287 CF$UID - 79 + 288 - - NS.objects - CF$UID - 860 + 289 CF$UID - 861 + 290 CF$UID - 82 + 281 CF$UID - 862 + 291 - - 321398260.20802099 - {39, 568} - {607, 0} - - $class - - CF$UID - 89 - - NS.keys + NS.objects CF$UID - 76 - - - CF$UID - 77 + 285 CF$UID - 78 + 83 CF$UID - 79 + 282 - - NS.objects - CF$UID - 864 + 83 CF$UID - 865 + 83 CF$UID - 82 + 284 CF$UID - 866 + 282 - 320115360.564735 - {0, 884} - {670, 18} $class CF$UID - 89 + 90 NS.keys CF$UID - 76 + 257 + + + CF$UID + 258 CF$UID - 77 + 259 CF$UID - 78 + 260 CF$UID - 79 + 261 - - NS.objects - CF$UID - 868 + 262 CF$UID - 869 + 263 CF$UID - 82 + 264 CF$UID - 141 + 265 + + + CF$UID + 266 - - 320803858.28977299 - {2006, 1376} - - $class - - CF$UID - 89 - - NS.keys + NS.objects CF$UID - 76 + 83 CF$UID - 77 + 549 CF$UID - 78 + 945 CF$UID - 79 + 946 - - NS.objects - CF$UID - 871 + 947 CF$UID - 872 + 83 CF$UID - 82 + 83 + + + CF$UID + 948 + + + CF$UID + 83 CF$UID - 873 + 949 - 320796338.98187602 - {293, 527} - {297, 0} $class CF$UID - 89 + 273 - NS.keys - - - CF$UID - 875 - - NS.objects - - - CF$UID - 877 - - + $class CF$UID - 88 + 273 - NS.base + NS.objects + + + + $class CF$UID - 0 + 114 - NS.relative + NS.objects + + + + $class CF$UID - 876 + 273 + NS.objects + $class CF$UID - 72 + 273 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/ + NS.objects + $class CF$UID - 89 + 90 NS.keys CF$UID - 878 + 104 + + NS.objects + CF$UID - 879 + 951 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 880 + 952 CF$UID - 881 + 954 CF$UID - 882 + 956 - NS.objects + + + $class + + CF$UID + 85 + + NS.keys CF$UID - 883 - - - CF$UID - 884 + 107 CF$UID - 890 + 108 + + NS.objects + CF$UID - 891 + 25 CF$UID - 923 + 953 - Xcode3ProjectEditorPreviousProjectEditorClass - Xcode3ProjectEditor.sourceList.splitview - Xcode3ProjectEditorPreviousTargetEditorClass - Xcode3ProjectEditorSelectedDocumentLocations - Xcode3ProjectEditor_Xcode3BuildSettingsEditor - Xcode3ProjectInfoEditor + 260 $class CF$UID - 89 + 85 NS.keys CF$UID - 103 + 107 - - NS.objects - CF$UID - 885 + 108 - - - $class - - CF$UID - 113 - NS.objects CF$UID - 886 + 21 CF$UID - 888 + 955 + 1020 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 329 CF$UID - 887 + 957 - 170 + 260 $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 30 CF$UID - 107 + 31 + + + CF$UID + 32 + + + CF$UID + 33 + + + CF$UID + 34 + + + CF$UID + 36 + + + CF$UID + 37 + + + CF$UID + 39 NS.objects CF$UID - 211 + 83 CF$UID - 889 + 959 + + + CF$UID + 975 + + + CF$UID + 40 + + + CF$UID + 70 + + + CF$UID + 990 + + + CF$UID + 996 + + + CF$UID + 997 - 850 - Xcode3BuildSettingsEditor $class CF$UID - 68 + 90 + NS.keys + + + CF$UID + 42 + + NS.objects CF$UID - 892 + 960 @@ -12037,78 +13935,71 @@ $class CF$UID - 922 - - documentURL - - CF$UID - 893 - - selection - - CF$UID - 895 - - timestamp - - CF$UID - 894 + 90 + NS.keys + + + CF$UID + 44 + + + NS.objects + + + CF$UID + 961 + + - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/ - 320019184.65952802 $class CF$UID - 89 + 85 NS.keys CF$UID - 896 + 46 CF$UID - 897 + 47 CF$UID - 898 + 48 NS.objects CF$UID - 890 + 962 CF$UID - 899 + 70 CF$UID - 900 + 974 - Editor - Target - Xcode3BuildSettingsEditorLocations - AcousticMessage $class CF$UID - 68 + 69 NS.objects CF$UID - 901 + 963 @@ -12116,133 +14007,117 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 902 + 51 CF$UID - 903 + 52 CF$UID - 904 + 53 CF$UID - 905 + 54 CF$UID - 906 + 55 CF$UID - 907 + 56 + + + CF$UID + 57 NS.objects CF$UID - 99 + 129 CF$UID - 908 + 964 + + + CF$UID + 970 CF$UID - 69 + 195 CF$UID - 69 + 133 CF$UID - 99 + 86 CF$UID - 909 + 973 - Xcode3BuildPropertyNameDisplayMode - Selected Build Properties - Xcode3BuildSettingsEditorDisplayMode - Xcode3BuildPropertyValueDisplayMode - Xcode3BuildSettingsEditorMode - Collapsed Build Property Categories $class CF$UID - 113 + 75 + + DocumentLocation + + CF$UID + 969 + + DomainIdentifier + + CF$UID + 60 + + IdentifierPath + + CF$UID + 965 + + IndexOfDocumentIdentifier + + CF$UID + 70 - NS.objects - $class CF$UID - 113 + 69 NS.objects CF$UID - 910 - - - CF$UID - 911 - - - CF$UID - 912 - - - CF$UID - 913 - - - CF$UID - 914 - - - CF$UID - 915 - - - CF$UID - 916 - - - CF$UID - 917 - - - CF$UID - 918 - - - CF$UID - 919 + 966 CF$UID - 920 + 967 CF$UID - 921 + 968 @@ -12250,149 +14125,191 @@ $class CF$UID - 72 + 64 - NS.string - Architectures||SDKROOT - - - $class + Identifier CF$UID - 72 + 133 - NS.string - Deployment||INSTALL_PATH $class CF$UID - 72 + 64 - NS.string - Deployment||STRIP_INSTALLED_PRODUCT - - - $class + Identifier CF$UID - 72 + 135 - NS.string - Deployment||TARGETED_DEVICE_FAMILY $class CF$UID - 72 + 64 - NS.string - Deployment||IPHONEOS_DEPLOYMENT_TARGET - - - $class + Identifier CF$UID - 72 + 68 - NS.string - Packaging||INFOPLIST_FILE $class CF$UID - 72 + 74 - NS.string - Packaging||PRODUCT_NAME - - - $class + documentURL CF$UID - 72 + 191 - NS.string - Search Paths||ALWAYS_SEARCH_USER_PATHS - - - $class + timestamp CF$UID - 72 + 0 - NS.string - GCC 4.2 - Code Generation||GCC_DYNAMIC_NO_PIC $class CF$UID - 72 + 85 - NS.string - GCC 4.2 - Language||GCC_PRECOMPILE_PREFIX_HEADER + NS.keys + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 79 + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 971 + + + CF$UID + 972 + + + CF$UID + 83 + + + CF$UID + 142 + + + 320019262.65279901 + {2746, 1487} $class CF$UID - 72 + 89 - NS.string - GCC 4.2 - Language||GCC_PREFIX_HEADER - - - $class + NS.base CF$UID - 72 + 0 + + NS.relative + + CF$UID + 145 - NS.string - User-Defined||PREBINDING - - - $classes - - Xcode3ProjectDocumentLocation - DVTDocumentLocation - NSObject - - $classname - Xcode3ProjectDocumentLocation $class CF$UID - 89 + 69 - NS.keys - NS.objects - + + + CF$UID + 509 + + $class CF$UID - 89 + 90 NS.keys CF$UID - 925 + 94 + + + CF$UID + 95 + + + CF$UID + 96 + + + CF$UID + 97 + + + CF$UID + 98 + + + CF$UID + 99 NS.objects CF$UID - 927 + 100 + + + CF$UID + 976 + + + CF$UID + 977 + + + CF$UID + 100 + + + CF$UID + 983 + + + CF$UID + 989 @@ -12400,53 +14317,59 @@ $class CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 926 + 90 + NS.keys + + + CF$UID + 102 + + + NS.objects + + + CF$UID + 70 + + - x-xcode-log://085169EC-BDD0-4804-B96F-E46A429DF00C $class CF$UID - 89 + 90 NS.keys CF$UID - 928 + 104 NS.objects CF$UID - 929 + 978 - SelectedDocumentLocations $class CF$UID - 68 + 114 NS.objects CF$UID - 930 + 979 + + + CF$UID + 981 @@ -12454,447 +14377,601 @@ $class CF$UID - 935 - - documentURL - - CF$UID - 926 - - expandTranscript - - indexPath - - CF$UID - 931 - - timestamp - - CF$UID - 0 + 85 + NS.keys + + + CF$UID + 107 + + + CF$UID + 108 + + + NS.objects + + + CF$UID + 109 + + + CF$UID + 980 + + + 512 $class CF$UID - 934 + 85 - NSIndexPathData - - CF$UID - 932 - - NSIndexPathLength - 2 + NS.keys + + + CF$UID + 107 + + + CF$UID + 108 + + + NS.objects + + + CF$UID + 112 + + + CF$UID + 982 + + + 507 $class CF$UID - 933 + 90 - NS.data - - AAA= - - - - $classes + NS.keys - NSMutableData - NSData - NSObject + + CF$UID + 104 + - $classname - NSMutableData - - - $classes + NS.objects - NSIndexPath - NSObject + + CF$UID + 984 + - $classname - NSIndexPath - $classes + $class + + CF$UID + 114 + + NS.objects - IDELogDocumentLocation - DVTDocumentLocation - NSObject + + CF$UID + 985 + + + CF$UID + 987 + - $classname - IDELogDocumentLocation $class CF$UID - 89 + 85 NS.keys CF$UID - 937 + 107 + + + CF$UID + 108 NS.objects CF$UID - 938 + 109 + + + CF$UID + 986 - IDENameString - AcousticMessage + 512 $class CF$UID - 89 + 85 NS.keys CF$UID - 940 + 107 CF$UID - 941 + 108 NS.objects CF$UID - 942 + 112 CF$UID - 943 + 988 - IDEDeviceLocation - IDEDeviceArchitecture - dvtdevice-iphone:21932a7dfffa3670bb726cc5239e3330896ccb7a - armv7 + 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 945 + 122 + + NS.objects + CF$UID - 946 + 229 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 947 + 104 NS.objects CF$UID - 948 + 991 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 973 + 992 CF$UID - 955 + 994 - IDEActivityReportCompletionSummaryStringSegments - IDEActivityReportOptions - IDEActivityReportTitle $class CF$UID - 113 + 85 - NS.objects + NS.keys CF$UID - 949 + 107 CF$UID - 956 + 108 + + NS.objects + CF$UID - 960 + 151 CF$UID - 964 + 993 + 203 $class CF$UID - 89 + 85 NS.keys CF$UID - 950 - - - CF$UID - 951 + 107 CF$UID - 952 + 108 NS.objects CF$UID - 953 - - - CF$UID - 954 + 154 CF$UID - 955 + 995 - IDEActivityReportStringSegmentPriority - IDEActivityReportStringSegmentBackSeparator - IDEActivityReportStringSegmentStringValue - 2 - - Build + 115 $class CF$UID - 89 + 90 NS.keys + + NS.objects + + + + $class + + CF$UID + 208 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 998 + + rootLayoutTreeNode + + CF$UID + 1004 + + + + $class + + CF$UID + 207 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 999 + + orientation + 0 + parent + + CF$UID + 1004 + + + + $class + + CF$UID + 75 + + DocumentLocation + + CF$UID + 969 + + DomainIdentifier + + CF$UID + 60 + + IdentifierPath + + CF$UID + 1000 + + IndexOfDocumentIdentifier + + CF$UID + 70 + + + + $class + + CF$UID + 69 + + NS.objects CF$UID - 950 + 1001 CF$UID - 951 + 1002 CF$UID - 952 + 1003 + + + $class + + CF$UID + 64 + + Identifier + + CF$UID + 133 + + + + $class + + CF$UID + 64 + + Identifier + + CF$UID + 135 + + + + $class + + CF$UID + 64 + + Identifier + + CF$UID + 68 + + + + $class + + CF$UID + 207 + + children + + CF$UID + 1005 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 69 + NS.objects CF$UID - 957 - - - CF$UID - 958 - - - CF$UID - 959 + 998 - 4 - : - AcousticMessage $class CF$UID - 89 + 90 NS.keys CF$UID - 950 + 1007 CF$UID - 951 + 14 CF$UID - 952 + 18 + + + CF$UID + 17 + + + CF$UID + 12 + + + CF$UID + 16 NS.objects CF$UID - 961 + 1008 CF$UID - 962 + 1087 CF$UID - 963 - - - - 1 - │ - - $class - - CF$UID - 933 - - NS.data - - YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy - Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK - CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC - WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui - FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO - U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q - EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh - c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT - cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 - NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 - cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB - cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf - AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA - yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL - AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA - AAA/AAAAAAAAAAAAAAAAAAABvg== - + 83 + + + CF$UID + 1007 + + + CF$UID + 570 + + + CF$UID + 6 + + + IDEWorkspaceTabController_B8F1162F-367E-41AD-8505-B1A452DCDC43 $class CF$UID - 89 + 90 NS.keys CF$UID - 950 + 21 CF$UID - 965 + 22 CF$UID - 966 + 28 CF$UID - 952 + 24 CF$UID - 967 + 25 CF$UID - 968 + 26 + + + CF$UID + 27 + + + CF$UID + 23 NS.objects CF$UID - 969 + 1009 CF$UID - 99 + 83 CF$UID - 970 + 70 CF$UID - 972 + 1066 CF$UID - 99 + 1072 CF$UID - 99 + 1079 - - - IDEActivityReportStringSegmentType - IDEActivityReportStringSegmentDate - IDEActivityReportStringSegmentDateStyle - IDEActivityReportStringSegmentTimeStyle - 3 - - $class - - CF$UID - 971 - - NS.time - 322373861.68695599 - - - $classes - - NSDate - NSObject - - $classname - NSDate - - Today at 11:17 PM - 106 - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 2 + 83 + + + CF$UID + 1015 @@ -12902,49 +14979,76 @@ $class CF$UID - 113 + 90 - NS.objects + NS.keys CF$UID - 976 + 39 CF$UID - 977 + 31 CF$UID - 979 + 32 CF$UID - 980 + 33 CF$UID - 982 + 34 CF$UID - 983 + 36 CF$UID - 985 + 37 CF$UID - 987 + 30 + + NS.objects + CF$UID - 989 + 1010 CF$UID - 991 + 1022 + + + CF$UID + 1044 + + + CF$UID + 40 + + + CF$UID + 70 + + + CF$UID + 1059 + + + CF$UID + 1065 + + + CF$UID + 83 @@ -12952,252 +15056,292 @@ $class CF$UID - 88 + 208 - NS.base + geniusEditorContextNode CF$UID 0 - NS.relative + primaryEditorContextNode + + CF$UID + 1011 + + rootLayoutTreeNode CF$UID - 439 + 1020 $class CF$UID - 88 + 207 - NS.base + children CF$UID 0 - NS.relative + contentType + 1 + documentArchivableRepresentation CF$UID - 978 + 1012 - - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKModemConfig.h - - $class + orientation + 0 + parent CF$UID - 88 + 1020 - NS.base + + + $class CF$UID - 0 + 75 - NS.relative + DocumentLocation CF$UID - 676 + 1018 - - - $class + DomainIdentifier CF$UID - 88 + 60 - NS.base + IdentifierPath CF$UID - 0 + 1013 - NS.relative + IndexOfDocumentIdentifier CF$UID - 981 + 70 - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/CharReceiver.h $class CF$UID - 88 + 69 - NS.base + NS.objects + + + CF$UID + 1014 + + + CF$UID + 1016 + + + CF$UID + 1017 + + + + + $class CF$UID - 0 + 64 - NS.relative + Identifier CF$UID - 540 + 1015 + MainView.xib $class CF$UID - 88 - - NS.base - - CF$UID - 0 + 64 - NS.relative + Identifier CF$UID - 984 + 301 - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/main.m $class CF$UID - 88 - - NS.base - - CF$UID - 0 + 64 - NS.relative + Identifier CF$UID - 986 + 68 - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/SoftModemTerminal.xcodeproj/project.pbxproj $class CF$UID - 88 + 74 - NS.base + documentURL CF$UID - 0 + 1019 - NS.relative + timestamp CF$UID - 988 + 0 - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MultiDelegate.m $class CF$UID - 88 + 73 - NS.base + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainView.xib + + + $class CF$UID - 0 + 207 - NS.relative + children CF$UID - 990 + 1021 - - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/FSKSerialGenerator.mm - - $class + contentType + 0 + documentArchivableRepresentation CF$UID - 88 + 0 - NS.base + orientation + 0 + parent CF$UID 0 - NS.relative + + + $class CF$UID - 992 + 69 + NS.objects + + + CF$UID + 1011 + + - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/AudioSignalGenerator.m $class CF$UID - 89 + 90 NS.keys CF$UID - 15 - - - CF$UID - 555 - - - CF$UID - 556 + 42 + + NS.objects + CF$UID - 558 + 1023 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 994 + 44 + + NS.objects + CF$UID - 557 + 1024 - NS.objects + + + $class + + CF$UID + 85 + + NS.keys CF$UID - 5 + 46 CF$UID - 995 + 47 CF$UID - 82 + 48 + + NS.objects + CF$UID - 640 + 1025 CF$UID - 996 + 70 CF$UID - 994 + 1043 - IDEWorkspaceTabController_8F2578C5-402B-4FC2-99A8-F664CDEBB133 $class CF$UID - 68 + 69 NS.objects CF$UID - 994 + 1026 @@ -13205,115 +15349,118 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 27 - - - CF$UID - 21 + 51 CF$UID - 22 + 52 CF$UID - 23 + 53 CF$UID - 24 + 54 CF$UID - 25 + 55 CF$UID - 26 + 56 CF$UID - 20 + 57 NS.objects CF$UID - 69 - - - CF$UID - 82 + 1027 CF$UID - 132 + 1028 CF$UID - 997 + 1033 CF$UID - 1003 + 1040 CF$UID - 1011 + 1015 CF$UID - 82 + 585 CF$UID - 1019 + 1041 + com.apple.InterfaceBuilder3.CocoaTouch.XIB $class CF$UID - 89 + 75 + + DocumentLocation + + CF$UID + 1018 + + DomainIdentifier + + CF$UID + 60 + + IdentifierPath + + CF$UID + 1029 + + IndexOfDocumentIdentifier + + CF$UID + 70 - NS.keys - - - CF$UID - 103 - - - NS.objects - - - CF$UID - 998 - - $class CF$UID - 113 + 69 NS.objects CF$UID - 999 + 1030 CF$UID - 1001 + 1031 + + + CF$UID + 1032 @@ -13321,165 +15468,80 @@ $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 1015 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - - NS.objects - - - CF$UID - 211 - - - CF$UID - 1000 - - - 456 $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 301 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - - NS.objects - - - CF$UID - 211 - - - CF$UID - 1002 - - - 224 $class CF$UID - 89 + 64 + + Identifier + + CF$UID + 68 - NS.keys - - - CF$UID - 222 - - - CF$UID - 219 - - - CF$UID - 220 - - - NS.objects - - - CF$UID - 1004 - - - CF$UID - 220 - - - CF$UID - 1005 - - $class CF$UID - 89 + 85 NS.keys CF$UID - 257 - - - CF$UID - 286 - - - CF$UID - 287 - - - CF$UID - 288 - - - CF$UID - 289 - - - CF$UID - 280 - - - CF$UID - 290 + 806 - - NS.objects - CF$UID - 284 + 807 CF$UID - 82 + 808 CF$UID - 281 + 809 + + NS.objects + CF$UID - 82 + 1034 CF$UID - 82 + 1035 CF$UID - 283 + 809 CF$UID - 281 + 1037 @@ -13487,92 +15549,163 @@ $class CF$UID - 89 + 90 NS.keys + + NS.objects + + + + $class + + CF$UID + 114 + + NS.objects CF$UID - 256 - - - CF$UID - 257 + 1036 + + + 34 + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 258 + 813 CF$UID - 259 + 814 + + NS.objects + CF$UID - 260 + 822 CF$UID - 261 + 1038 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 262 + 1039 + + + 34 + View + + $class + + CF$UID + 89 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1042 + + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainView.xib + + $class + + CF$UID + 69 + + NS.objects + CF$UID - 263 + 509 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 264 + 94 CF$UID - 265 + 95 - - NS.objects - CF$UID - 82 + 99 CF$UID - 619 + 97 CF$UID - 1006 + 98 CF$UID - 1007 + 96 + + NS.objects + CF$UID - 1008 + 100 CF$UID - 82 + 1045 CF$UID - 82 + 1046 CF$UID - 1009 + 100 CF$UID - 82 + 1047 CF$UID - 1010 + 1053 @@ -13580,65 +15713,62 @@ $class CF$UID - 272 - - NS.objects - - - - $class - - CF$UID - 272 - - NS.objects - - - - $class - - CF$UID - 113 - - NS.objects - - - - $class - - CF$UID - 272 + 90 + NS.keys + + + CF$UID + 102 + + NS.objects - + + + CF$UID + 70 + + $class CF$UID - 272 + 90 + NS.keys + + + CF$UID + 122 + + NS.objects - + + + CF$UID + 229 + + $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1012 + 1048 @@ -13646,21 +15776,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1013 - - - CF$UID - 1015 + 1049 CF$UID - 1017 + 1051 @@ -13668,162 +15794,153 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 24 + 109 CF$UID - 1014 + 1050 - 260 + 512 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 20 + 112 CF$UID - 1016 + 1052 - 1020 + 507 $class CF$UID - 84 + 90 NS.keys CF$UID - 106 - - - CF$UID - 107 + 104 NS.objects CF$UID - 328 - - - CF$UID - 1018 + 1054 - 260 $class CF$UID - 89 + 114 - NS.keys - - - CF$UID - 29 - - - CF$UID - 30 - - - CF$UID - 31 - - - CF$UID - 32 - - - CF$UID - 33 - - - CF$UID - 35 - + NS.objects + CF$UID - 36 + 1055 CF$UID - 38 + 1057 - NS.objects + + + $class + + CF$UID + 85 + + NS.keys CF$UID - 82 + 107 CF$UID - 1020 + 108 + + NS.objects + CF$UID - 1036 + 109 CF$UID - 39 + 1056 + + + 512 + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 69 + 107 CF$UID - 1051 + 108 + + NS.objects + CF$UID - 1057 + 112 CF$UID @@ -13831,24 +15948,25 @@ + 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 41 + 104 NS.objects CF$UID - 1021 + 1060 @@ -13856,20 +15974,17 @@ $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 43 + 1061 - - NS.objects - CF$UID - 1022 + 1063 @@ -13877,360 +15992,321 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 45 - - - CF$UID - 46 + 107 CF$UID - 47 + 108 NS.objects CF$UID - 1023 - - - CF$UID - 69 + 151 CF$UID - 1035 + 1062 + 203 $class CF$UID - 68 + 85 + NS.keys + + + CF$UID + 107 + + + CF$UID + 108 + + NS.objects CF$UID - 1024 + 154 + + + CF$UID + 1064 + 115 $class CF$UID - 89 + 90 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 90 NS.keys CF$UID - 50 - - - CF$UID - 51 + 104 + + NS.objects + CF$UID - 52 + 1067 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 53 + 1068 CF$UID - 54 + 1070 + + + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 55 + 107 CF$UID - 56 + 108 NS.objects CF$UID - 128 - - - CF$UID - 1025 + 212 CF$UID - 1031 + 1069 + + + 456 + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 194 + 107 CF$UID - 132 + 108 + + NS.objects + CF$UID - 85 + 212 CF$UID - 1034 + 1071 + 224 $class CF$UID - 74 - - DocumentLocation - - CF$UID - 1030 - - DomainIdentifier - - CF$UID - 59 - - IdentifierPath - - CF$UID - 1026 - - IndexOfDocumentIdentifier - - CF$UID - 69 - - - - $class - - CF$UID - 68 + 90 - NS.objects + NS.keys CF$UID - 1027 + 220 CF$UID - 1028 + 223 + + NS.objects + CF$UID - 1029 + 223 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 132 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 134 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 67 - - - - $class - - CF$UID - 73 - - documentURL - - CF$UID - 190 - - timestamp - - CF$UID - 0 - + + CF$UID + 1073 + + $class CF$UID - 84 + 90 NS.keys CF$UID - 76 - - - CF$UID - 77 + 258 CF$UID - 78 + 287 CF$UID - 79 + 288 - - NS.objects - CF$UID - 1032 + 289 CF$UID - 1033 + 290 CF$UID - 82 + 281 CF$UID - 141 + 291 - - 320019262.65279901 - {2746, 1487} - - $class - - CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 144 - - - - $class - - CF$UID - 68 - NS.objects CF$UID - 579 + 549 - - - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 93 + 83 CF$UID - 94 + 282 CF$UID - 95 + 83 CF$UID - 96 + 83 CF$UID - 97 + 1074 CF$UID - 98 + 1076 + + + $class + + CF$UID + 69 + NS.objects CF$UID - 99 + 1075 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 1037 + 68 CF$UID - 1038 + 301 CF$UID - 99 + 1015 + + + + $class + + CF$UID + 283 + + NS.objects + CF$UID - 1044 + 1077 CF$UID - 1050 + 1078 @@ -14238,20 +16314,31 @@ $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 101 + 68 + + + $class + + CF$UID + 114 + NS.objects CF$UID - 69 + 68 + + + CF$UID + 301 @@ -14259,20 +16346,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1039 + 1080 @@ -14280,17 +16367,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1040 + 1081 + + + CF$UID + 1083 CF$UID - 1042 + 1085 @@ -14298,98 +16389,103 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 25 CF$UID - 1041 + 1082 - 512 + 260 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 21 CF$UID - 1043 + 1084 - 507 + 1020 $class CF$UID - 89 + 85 NS.keys CF$UID - 103 + 107 + + + CF$UID + 108 NS.objects CF$UID - 1045 + 329 + + + CF$UID + 1086 + 260 $class CF$UID - 113 + 69 NS.objects CF$UID - 1046 - - - CF$UID - 1048 + 1007 @@ -14397,80 +16493,138 @@ $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 1089 CF$UID - 107 + 14 + + + CF$UID + 18 + + + CF$UID + 12 + + + CF$UID + 16 + + + CF$UID + 17 NS.objects CF$UID - 108 + 1090 CF$UID - 1047 + 1163 + + + CF$UID + 83 + + + CF$UID + 570 + + + CF$UID + 7 + + + CF$UID + 1089 - 512 + IDEWorkspaceTabController_8204D086-50AE-4CA8-9A9C-84DF6004CADC $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 28 CF$UID - 107 + 22 + + + CF$UID + 23 + + + CF$UID + 24 + + + CF$UID + 25 + + + CF$UID + 26 + + + CF$UID + 27 + + + CF$UID + 21 + + + NS.objects + + + CF$UID + 70 + + + CF$UID + 83 + + + CF$UID + 133 + + + CF$UID + 1091 - - NS.objects - CF$UID - 111 + 1097 CF$UID - 1049 + 1105 - - - 507 - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 121 + 83 - - NS.objects - CF$UID - 228 + 1113 @@ -14478,20 +16632,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1052 + 1092 @@ -14499,17 +16653,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1053 + 1093 CF$UID - 1055 + 1095 @@ -14517,382 +16671,165 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 150 + 212 CF$UID - 1054 + 1094 - 203 + 456 $class CF$UID - 84 + 85 NS.keys - - CF$UID - 106 - CF$UID 107 - - NS.objects - - - CF$UID - 153 - CF$UID - 1056 + 108 - - 115 - - $class - - CF$UID - 89 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 207 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 1059 - - rootLayoutTreeNode - - CF$UID - 1065 - - - - $class - - CF$UID - 206 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 1060 - - orientation - 0 - parent - - CF$UID - 1065 - - - - $class - - CF$UID - 74 - - DocumentLocation - - CF$UID - 1030 - - DomainIdentifier - - CF$UID - 59 - - IdentifierPath - - CF$UID - 1061 - - IndexOfDocumentIdentifier - - CF$UID - 69 - - - - $class - - CF$UID - 68 - NS.objects CF$UID - 1062 - - - CF$UID - 1063 - - - CF$UID - 1064 + 212 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 132 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 134 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 67 - - - - $class - - CF$UID - 206 - - children - - CF$UID - 1066 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 68 - - NS.objects - CF$UID - 1059 + 1096 + 224 $class CF$UID - 89 + 90 NS.keys CF$UID - 1068 - - - CF$UID - 555 - - - CF$UID - 556 - - - CF$UID - 557 - - - CF$UID - 558 - - - CF$UID - 15 - - - NS.objects - - - CF$UID - 1069 + 223 CF$UID - 1148 + 220 CF$UID - 82 + 221 + + NS.objects + CF$UID - 1068 + 1098 CF$UID - 640 + 221 CF$UID - 6 + 1099 - IDEWorkspaceTabController_B8F1162F-367E-41AD-8505-B1A452DCDC43 $class CF$UID - 89 + 90 NS.keys CF$UID - 20 - - - CF$UID - 21 + 258 CF$UID - 27 + 287 CF$UID - 23 + 288 CF$UID - 24 + 289 CF$UID - 25 + 290 CF$UID - 26 + 281 CF$UID - 22 + 291 NS.objects CF$UID - 1070 - - - CF$UID - 82 + 285 CF$UID - 69 + 83 CF$UID - 1127 + 282 CF$UID - 1133 + 83 CF$UID - 1140 + 83 CF$UID - 82 + 284 CF$UID - 1076 + 282 @@ -14900,173 +16837,92 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 38 + 257 CF$UID - 30 + 258 CF$UID - 31 + 259 CF$UID - 32 + 260 CF$UID - 33 + 261 CF$UID - 35 + 262 CF$UID - 36 + 263 CF$UID - 29 + 264 - - NS.objects - CF$UID - 1071 + 265 CF$UID - 1083 + 266 + + NS.objects + CF$UID - 1105 + 83 CF$UID - 39 + 549 CF$UID - 69 + 1100 CF$UID - 1120 + 1101 CF$UID - 1126 + 1102 CF$UID - 82 + 83 - - - - $class - - CF$UID - 207 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 1072 - - rootLayoutTreeNode - - CF$UID - 1081 - - - - $class - - CF$UID - 206 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 1073 - - orientation - 0 - parent - - CF$UID - 1081 - - - - $class - - CF$UID - 74 - - DocumentLocation - - CF$UID - 1079 - - DomainIdentifier - - CF$UID - 59 - - IdentifierPath - - CF$UID - 1074 - - IndexOfDocumentIdentifier - - CF$UID - 69 - - - - $class - - CF$UID - 68 - - NS.objects - CF$UID - 1075 + 83 CF$UID - 1077 + 1103 CF$UID - 1078 + 83 + + + CF$UID + 1104 @@ -15074,102 +16930,65 @@ $class CF$UID - 63 - - Identifier - - CF$UID - 1076 - - - MainView.xib - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 300 + 273 + NS.objects + $class CF$UID - 63 - - Identifier - - CF$UID - 67 + 273 + NS.objects + $class CF$UID - 73 - - documentURL - - CF$UID - 1080 - - timestamp - - CF$UID - 0 + 114 + NS.objects + $class CF$UID - 72 + 273 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainView.xib + NS.objects + $class CF$UID - 206 - - children - - CF$UID - 1082 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 273 + NS.objects + $class CF$UID - 68 + 90 + NS.keys + + + CF$UID + 104 + + NS.objects CF$UID - 1072 + 1106 @@ -15177,20 +16996,21 @@ $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 41 + 1107 + + + CF$UID + 1109 - - NS.objects - CF$UID - 1084 + 1111 @@ -15198,190 +17018,187 @@ $class CF$UID - 89 + 85 NS.keys CF$UID - 43 + 107 + + + CF$UID + 108 NS.objects CF$UID - 1085 + 25 + + + CF$UID + 1108 + 260 $class CF$UID - 84 + 85 NS.keys CF$UID - 45 - - - CF$UID - 46 + 107 CF$UID - 47 + 108 NS.objects CF$UID - 1086 - - - CF$UID - 69 + 21 CF$UID - 1104 + 1110 + 1020 $class CF$UID - 68 + 85 + NS.keys + + + CF$UID + 107 + + + CF$UID + 108 + + NS.objects CF$UID - 1087 + 329 + + + CF$UID + 1112 + 260 $class CF$UID - 89 + 90 NS.keys CF$UID - 50 + 30 CF$UID - 51 + 31 CF$UID - 52 + 32 CF$UID - 53 + 33 CF$UID - 54 + 34 CF$UID - 55 + 36 CF$UID - 56 + 37 + + + CF$UID + 39 NS.objects CF$UID - 1088 + 83 CF$UID - 1089 + 1114 CF$UID - 1094 + 1132 CF$UID - 1101 + 40 CF$UID - 1076 + 70 CF$UID - 656 + 1147 CF$UID - 1102 + 1153 + + + CF$UID + 1154 - com.apple.InterfaceBuilder3.CocoaTouch.XIB - - $class - - CF$UID - 74 - - DocumentLocation - - CF$UID - 1079 - - DomainIdentifier - - CF$UID - 59 - - IdentifierPath - - CF$UID - 1090 - - IndexOfDocumentIdentifier - - CF$UID - 69 - - $class CF$UID - 68 + 90 - NS.objects + NS.keys CF$UID - 1091 - - - CF$UID - 1092 + 42 + + NS.objects + CF$UID - 1093 + 1115 @@ -15389,80 +17206,20 @@ $class CF$UID - 63 - - Identifier - - CF$UID - 1076 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 300 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 67 - - - - $class - - CF$UID - 84 + 90 NS.keys CF$UID - 692 - - - CF$UID - 693 - - - CF$UID - 694 - - - CF$UID - 695 + 44 NS.objects CF$UID - 1095 - - - CF$UID - 1096 - - - CF$UID - 695 - - - CF$UID - 1098 + 1116 @@ -15470,102 +17227,50 @@ $class CF$UID - 89 + 85 NS.keys - - NS.objects - - - - $class - - CF$UID - 113 - - NS.objects CF$UID - 1097 + 46 - - - 34 - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 699 + 47 CF$UID - 700 + 48 NS.objects CF$UID - 708 + 1117 CF$UID - 1099 + 70 - - - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 1100 + 1131 - 34 - View - - $class - - CF$UID - 88 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1103 - - - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainView.xib $class CF$UID - 68 + 69 NS.objects CF$UID - 579 + 1118 @@ -15573,60 +17278,68 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 93 + 51 + + + CF$UID + 52 CF$UID - 94 + 53 CF$UID - 98 + 54 CF$UID - 96 + 55 CF$UID - 97 + 56 CF$UID - 95 + 57 NS.objects CF$UID - 99 + 129 CF$UID - 1106 + 1119 CF$UID - 1107 + 1125 CF$UID - 99 + 1129 CF$UID - 1108 + 133 CF$UID - 1114 + 86 + + + CF$UID + 1130 @@ -15634,41 +17347,48 @@ $class CF$UID - 89 + 75 + + DocumentLocation + + CF$UID + 1124 + + DomainIdentifier + + CF$UID + 60 + + IdentifierPath + + CF$UID + 1120 + + IndexOfDocumentIdentifier + + CF$UID + 70 - NS.keys - - - CF$UID - 101 - - - NS.objects - - - CF$UID - 69 - - $class CF$UID - 89 + 69 - NS.keys + NS.objects CF$UID - 121 + 1121 - - NS.objects - CF$UID - 228 + 1122 + + + CF$UID + 1123 @@ -15676,137 +17396,132 @@ $class CF$UID - 89 + 64 + + Identifier + + CF$UID + 133 - NS.keys - - - CF$UID - 103 - - - NS.objects - - - CF$UID - 1109 - - $class CF$UID - 113 + 64 + + Identifier + + CF$UID + 135 + + + + $class + + CF$UID + 64 + + Identifier + + CF$UID + 68 + + + + $class + + CF$UID + 74 + + documentURL + + CF$UID + 191 + + timestamp + + CF$UID + 0 - NS.objects - - - CF$UID - 1110 - - - CF$UID - 1112 - - $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 77 CF$UID - 107 + 78 - - NS.objects - CF$UID - 108 + 79 CF$UID - 1111 + 80 - - 512 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 106 + 1126 CF$UID - 107 + 1127 - - NS.objects - CF$UID - 111 + 83 CF$UID - 1113 + 1128 - 507 + 320019261.39516902 + {3715, 1362} + {4463, 0} + -receivedChar: $class CF$UID 89 - NS.keys - - - CF$UID - 103 - - - NS.objects - - - CF$UID - 1115 - - + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 145 + $class CF$UID - 113 + 69 NS.objects CF$UID - 1116 - - - CF$UID - 1118 + 509 @@ -15814,80 +17529,102 @@ $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 94 CF$UID - 107 + 95 + + + CF$UID + 96 + + + CF$UID + 97 + + + CF$UID + 98 + + + CF$UID + 99 NS.objects CF$UID - 108 + 100 CF$UID - 1117 + 1133 + + + CF$UID + 1134 + + + CF$UID + 100 + + + CF$UID + 1140 + + + CF$UID + 1146 - 512 $class CF$UID - 84 + 90 NS.keys CF$UID - 106 - - - CF$UID - 107 + 102 NS.objects CF$UID - 111 - - - CF$UID - 1119 + 70 - 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1121 + 1135 @@ -15895,17 +17632,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1122 + 1136 CF$UID - 1124 + 1138 @@ -15913,91 +17650,80 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 150 + 109 CF$UID - 1123 + 1137 - 203 + 512 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 153 + 112 CF$UID - 1125 + 1139 - 115 - - $class - - CF$UID - 89 - - NS.keys - - NS.objects - - + 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1128 + 1141 @@ -16005,17 +17731,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1129 + 1142 CF$UID - 1131 + 1144 @@ -16023,88 +17749,80 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 109 CF$UID - 1130 + 1143 - 456 + 512 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 211 + 112 CF$UID - 1132 + 1145 - 224 + 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 219 - - - CF$UID - 222 + 122 NS.objects CF$UID - 222 - - - CF$UID - 1134 + 229 @@ -16112,68 +17830,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 257 - - - CF$UID - 286 - - - CF$UID - 287 - - - CF$UID - 288 - - - CF$UID - 289 - - - CF$UID - 280 - - - CF$UID - 290 + 104 NS.objects CF$UID - 619 - - - CF$UID - 82 - - - CF$UID - 281 - - - CF$UID - 82 - - - CF$UID - 82 - - - CF$UID - 1135 - - - CF$UID - 1137 + 1148 @@ -16181,13 +17851,17 @@ $class CF$UID - 68 + 114 NS.objects CF$UID - 1136 + 1149 + + + CF$UID + 1151 @@ -16195,114 +17869,167 @@ $class CF$UID - 113 + 85 - NS.objects + NS.keys CF$UID - 67 - - - CF$UID - 300 + 107 CF$UID - 1076 + 108 - - - $class - - CF$UID - 282 - NS.objects CF$UID - 1138 + 151 CF$UID - 1139 + 1150 + 203 $class CF$UID - 113 + 85 - NS.objects + NS.keys CF$UID - 67 + 107 + + + CF$UID + 108 - - - $class - - CF$UID - 113 - NS.objects CF$UID - 67 + 154 CF$UID - 300 + 1152 + 115 $class CF$UID - 89 + 90 NS.keys - - - CF$UID - 103 - - + NS.objects - - - CF$UID - 1141 - - + + + + $class + + CF$UID + 208 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 1155 + + rootLayoutTreeNode + + CF$UID + 1161 + + + + $class + + CF$UID + 207 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 1156 + + orientation + 0 + parent + + CF$UID + 1161 + + + + $class + + CF$UID + 75 + + DocumentLocation + + CF$UID + 1124 + + DomainIdentifier + + CF$UID + 60 + + IdentifierPath + + CF$UID + 1157 + + IndexOfDocumentIdentifier + + CF$UID + 70 + $class CF$UID - 113 + 69 NS.objects CF$UID - 1142 + 1158 CF$UID - 1144 + 1159 CF$UID - 1146 + 1160 @@ -16310,103 +18037,89 @@ $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 133 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - - NS.objects - - - CF$UID - 24 - - - CF$UID - 1143 - - - 260 $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 135 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - - NS.objects - - - CF$UID - 20 - - - CF$UID - 1145 - - - 1020 $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 68 + + + + $class + + CF$UID + 207 + + children + + CF$UID + 1162 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 69 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - NS.objects CF$UID - 328 - - - CF$UID - 1147 + 1155 - 260 $class CF$UID - 68 + 69 NS.objects CF$UID - 1068 + 1089 @@ -16414,88 +18127,94 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 1150 + 16 CF$UID - 555 + 14 CF$UID - 556 + 18 CF$UID - 557 + 12 CF$UID - 558 + 17 CF$UID - 15 + 1165 NS.objects CF$UID - 1151 + 8 CF$UID - 1224 + 1166 CF$UID - 82 + 83 CF$UID - 1150 + 570 CF$UID - 640 + 1165 CF$UID - 7 + 1167 - IDEWorkspaceTabController_8204D086-50AE-4CA8-9A9C-84DF6004CADC + IDEWorkspaceTabController_965F6790-AE09-4D61-8776-61851FD8ED2A $class CF$UID - 89 + 69 - NS.keys + NS.objects CF$UID - 27 + 1165 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 21 + 28 CF$UID 22 - - CF$UID - 23 - CF$UID 24 @@ -16510,81 +18229,42 @@ CF$UID - 20 - - - NS.objects - - - CF$UID - 69 - - - CF$UID - 82 - - - CF$UID - 132 + 27 CF$UID - 1152 + 21 + + NS.objects + CF$UID - 1158 + 70 CF$UID - 1166 + 83 CF$UID - 82 + 1168 CF$UID 1174 - - - - $class - - CF$UID - 89 - - NS.keys - - - CF$UID - 103 - - - NS.objects - CF$UID - 1153 + 1182 - - - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 1154 + 83 CF$UID - 1156 + 1190 @@ -16592,165 +18272,135 @@ $class CF$UID - 84 + 90 NS.keys CF$UID - 106 - - - CF$UID - 107 + 104 NS.objects CF$UID - 211 - - - CF$UID - 1155 + 1169 - 456 $class CF$UID - 84 + 114 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - NS.objects CF$UID - 211 + 1170 CF$UID - 1157 + 1172 - 224 $class CF$UID - 89 + 85 NS.keys CF$UID - 222 - - - CF$UID - 219 + 107 CF$UID - 220 + 108 NS.objects CF$UID - 1159 - - - CF$UID - 220 + 212 CF$UID - 1160 + 1171 + 456 $class CF$UID - 89 + 85 NS.keys CF$UID - 257 + 107 CF$UID - 286 + 108 + + NS.objects + CF$UID - 287 + 212 CF$UID - 288 + 1173 + + + 224 + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 289 + 221 CF$UID - 280 + 220 CF$UID - 290 + 223 NS.objects CF$UID - 284 - - - CF$UID - 82 - - - CF$UID - 281 - - - CF$UID - 82 - - - CF$UID - 82 + 1175 CF$UID - 283 + 221 CF$UID - 281 + 1181 @@ -16758,14 +18408,10 @@ $class CF$UID - 89 + 90 NS.keys - - CF$UID - 256 - CF$UID 257 @@ -16802,48 +18448,52 @@ CF$UID 265 + + CF$UID + 266 + NS.objects CF$UID - 82 + 83 CF$UID - 619 + 549 CF$UID - 1161 + 1176 CF$UID - 1162 + 1177 CF$UID - 1163 + 1178 CF$UID - 82 + 83 CF$UID - 82 + 83 CF$UID - 1164 + 1179 CF$UID - 82 + 83 CF$UID - 1165 + 1180 @@ -16851,7 +18501,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -16860,7 +18510,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -16869,7 +18519,7 @@ $class CF$UID - 113 + 114 NS.objects @@ -16878,7 +18528,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -16887,7 +18537,7 @@ $class CF$UID - 272 + 273 NS.objects @@ -16896,371 +18546,278 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 258 - - NS.objects - CF$UID - 1167 + 287 - - - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 1168 + 288 CF$UID - 1170 + 289 CF$UID - 1172 + 290 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 281 CF$UID - 107 + 291 NS.objects CF$UID - 24 + 285 CF$UID - 1169 + 83 - - - 260 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 282 CF$UID - 107 + 83 - - NS.objects - CF$UID - 20 + 83 CF$UID - 1171 + 284 + + + CF$UID + 282 - 1020 $class CF$UID - 84 + 90 NS.keys CF$UID - 106 - - - CF$UID - 107 + 104 NS.objects CF$UID - 328 - - - CF$UID - 1173 + 1183 - 260 $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 29 - - - CF$UID - 30 - - - CF$UID - 31 - - - CF$UID - 32 + 1184 CF$UID - 33 + 1186 CF$UID - 35 + 1188 + + + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 36 + 107 CF$UID - 38 + 108 NS.objects CF$UID - 82 - - - CF$UID - 1175 - - - CF$UID - 1193 - - - CF$UID - 39 - - - CF$UID - 69 - - - CF$UID - 1208 - - - CF$UID - 1214 + 25 CF$UID - 1215 + 1185 + 260 $class CF$UID - 89 + 85 NS.keys CF$UID - 41 + 107 - - NS.objects - CF$UID - 1176 + 108 - - - $class - - CF$UID - 89 - - NS.keys + NS.objects CF$UID - 43 + 21 - - NS.objects - CF$UID - 1177 + 1187 + 1020 $class CF$UID - 84 + 85 NS.keys CF$UID - 45 - - - CF$UID - 46 + 107 CF$UID - 47 + 108 NS.objects CF$UID - 1178 - - - CF$UID - 69 + 329 CF$UID - 1192 + 1189 + 260 $class CF$UID - 68 + 90 - NS.objects + NS.keys CF$UID - 1179 + 39 - - - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 50 + 31 CF$UID - 51 + 32 CF$UID - 52 + 33 CF$UID - 53 + 34 CF$UID - 54 + 36 CF$UID - 55 + 37 CF$UID - 56 + 30 NS.objects CF$UID - 128 + 1191 CF$UID - 1180 + 1195 CF$UID - 1186 + 1201 CF$UID - 1190 + 40 CF$UID - 132 + 70 CF$UID - 85 + 1216 CF$UID - 1191 + 1222 + + + CF$UID + 83 @@ -17268,48 +18825,108 @@ $class CF$UID - 74 + 208 - DocumentLocation + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode CF$UID - 1185 + 1192 - DomainIdentifier + rootLayoutTreeNode CF$UID - 59 + 1193 - IdentifierPath + + + $class CF$UID - 1181 + 207 - IndexOfDocumentIdentifier + children CF$UID - 69 + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 1193 $class CF$UID - 68 + 207 + + children + + CF$UID + 1194 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 69 NS.objects CF$UID - 1182 + 1192 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 1183 + 42 + + NS.objects + CF$UID - 1184 + 1196 @@ -17317,235 +18934,418 @@ $class CF$UID - 63 - - Identifier - - CF$UID - 132 + 90 + NS.keys + + + CF$UID + 44 + + + NS.objects + + + CF$UID + 1197 + + $class CF$UID - 63 - - Identifier - - CF$UID - 134 + 85 + NS.keys + + + CF$UID + 46 + + + CF$UID + 47 + + + CF$UID + 48 + + + NS.objects + + + CF$UID + 1198 + + + CF$UID + 70 + + + CF$UID + 1200 + + $class CF$UID - 63 - - Identifier - - CF$UID - 67 + 69 + NS.objects + + + CF$UID + 1199 + + $class CF$UID - 73 - - documentURL - - CF$UID - 190 + 90 - timestamp + NS.keys + + NS.objects + + + + $class CF$UID - 0 + 69 + NS.objects + + + CF$UID + 509 + + $class CF$UID - 84 + 90 NS.keys CF$UID - 76 + 94 + + + CF$UID + 95 + + + CF$UID + 99 + + + CF$UID + 97 + + + CF$UID + 98 + + + CF$UID + 96 + + + NS.objects + + + CF$UID + 100 + + + CF$UID + 1202 CF$UID - 77 + 1203 CF$UID - 78 + 100 CF$UID - 79 + 1204 + + + CF$UID + 1210 - NS.objects + + + $class + + CF$UID + 90 + + NS.keys CF$UID - 1187 + 102 + + NS.objects + CF$UID - 1188 + 70 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 82 + 122 + + NS.objects + CF$UID - 1189 + 229 - 320019261.39516902 - {3715, 1362} - {4463, 0} - -receivedChar: $class CF$UID - 88 - - NS.base - - CF$UID - 0 + 90 - NS.relative + NS.keys + + + CF$UID + 104 + + + NS.objects + + + CF$UID + 1205 + + + + + $class CF$UID - 144 + 114 + NS.objects + + + CF$UID + 1206 + + + CF$UID + 1208 + + $class CF$UID - 68 + 85 + NS.keys + + + CF$UID + 107 + + + CF$UID + 108 + + NS.objects CF$UID - 579 + 109 + + + CF$UID + 1207 + 512 $class CF$UID - 89 + 85 NS.keys CF$UID - 93 + 107 CF$UID - 94 + 108 + + NS.objects + CF$UID - 95 + 112 CF$UID - 96 + 1209 + + + 507 + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 97 + 104 + + NS.objects + CF$UID - 98 + 1211 + + + $class + + CF$UID + 114 + NS.objects CF$UID - 99 + 1212 CF$UID - 1194 + 1214 + + + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 1195 + 107 CF$UID - 99 + 108 + + NS.objects + CF$UID - 1201 + 109 CF$UID - 1207 + 1213 + 512 $class CF$UID - 89 + 85 NS.keys CF$UID - 101 + 107 + + + CF$UID + 108 NS.objects CF$UID - 69 + 112 + + + CF$UID + 1215 + 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1196 + 1217 @@ -17553,17 +19353,17 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1197 + 1218 CF$UID - 1199 + 1220 @@ -17571,218 +19371,209 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 151 CF$UID - 1198 + 1219 - 512 + 203 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 154 CF$UID - 1200 + 1221 - 507 + 115 $class CF$UID - 89 + 90 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 90 NS.keys CF$UID - 103 + 1224 + + + CF$UID + 14 + + + CF$UID + 18 + + + CF$UID + 17 + + + CF$UID + 12 + + + CF$UID + 16 + + + NS.objects + + + CF$UID + 1225 + + + CF$UID + 1301 + + + CF$UID + 83 + + + CF$UID + 1224 + + + CF$UID + 1302 - - NS.objects - CF$UID - 1202 + 9 + IDEWorkspaceTabController_BCFDD4A4-DD7E-4075-A08D-BFDE43B7ABEA $class CF$UID - 113 + 90 - NS.objects + NS.keys CF$UID - 1203 + 21 CF$UID - 1205 + 22 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 28 CF$UID - 107 + 24 - - NS.objects - CF$UID - 108 + 25 CF$UID - 1204 + 26 - - - 512 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 27 CF$UID - 107 + 23 NS.objects CF$UID - 111 + 1226 CF$UID - 1206 + 83 - - - 507 - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 121 + 70 - - NS.objects - CF$UID - 228 + 1280 - - - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 103 + 1286 - - NS.objects - CF$UID - 1209 + 1293 - - - - $class - - CF$UID - 113 - - NS.objects - CF$UID - 1210 + 83 CF$UID - 1212 + 1232 @@ -17790,78 +19581,84 @@ $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 39 CF$UID - 107 + 31 - - NS.objects - CF$UID - 150 + 32 CF$UID - 1211 + 33 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 34 CF$UID - 107 + 36 + + + CF$UID + 37 + + + CF$UID + 30 NS.objects CF$UID - 153 + 1227 CF$UID - 1213 + 1239 + + + CF$UID + 1258 + + + CF$UID + 40 + + + CF$UID + 70 + + + CF$UID + 1273 + + + CF$UID + 1279 + + + CF$UID + 83 - 115 - - $class - - CF$UID - 89 - - NS.keys - - NS.objects - - $class CF$UID - 207 + 208 geniusEditorContextNode @@ -17871,19 +19668,19 @@ primaryEditorContextNode CF$UID - 1216 + 1228 rootLayoutTreeNode CF$UID - 1222 + 1237 $class CF$UID - 206 + 207 children @@ -17895,62 +19692,62 @@ documentArchivableRepresentation CF$UID - 1217 + 1229 orientation 0 parent CF$UID - 1222 + 1237 $class CF$UID - 74 + 75 DocumentLocation CF$UID - 1185 + 1235 DomainIdentifier CF$UID - 59 + 60 IdentifierPath CF$UID - 1218 + 1230 IndexOfDocumentIdentifier CF$UID - 69 + 70 $class CF$UID - 68 + 69 NS.objects CF$UID - 1219 + 1231 CF$UID - 1220 + 1233 CF$UID - 1221 + 1234 @@ -17958,48 +19755,75 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 132 + 1232 + MainWindow.xib $class CF$UID - 63 + 64 Identifier CF$UID - 134 + 301 $class CF$UID - 63 + 64 Identifier CF$UID - 67 + 68 $class CF$UID - 206 + 74 + + documentURL + + CF$UID + 1236 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 73 + + NS.string + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainWindow.xib + + + $class + + CF$UID + 207 children CF$UID - 1223 + 1238 contentType 0 @@ -18020,13 +19844,13 @@ $class CF$UID - 68 + 69 NS.objects CF$UID - 1216 + 1228 @@ -18034,13 +19858,20 @@ $class CF$UID - 68 + 90 + NS.keys + + + CF$UID + 42 + + NS.objects CF$UID - 1150 + 1240 @@ -18048,75 +19879,71 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 557 - - - CF$UID - 555 - - - CF$UID - 556 - - - CF$UID - 558 - - - CF$UID - 15 + 44 + + NS.objects + CF$UID - 1226 + 1241 - NS.objects + + + $class + + CF$UID + 85 + + NS.keys CF$UID - 1226 + 46 CF$UID - 1227 + 47 CF$UID - 82 + 48 + + NS.objects + CF$UID - 640 + 1242 CF$UID - 8 + 70 CF$UID - 1228 + 1257 - IDEWorkspaceTabController_965F6790-AE09-4D61-8776-61851FD8ED2A $class CF$UID - 68 + 69 NS.objects CF$UID - 1226 + 1243 @@ -18124,68 +19951,68 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 27 + 51 CF$UID - 21 + 52 CF$UID - 23 + 53 CF$UID - 24 + 54 CF$UID - 25 + 55 CF$UID - 26 + 56 CF$UID - 20 + 57 NS.objects CF$UID - 69 + 1027 CF$UID - 82 + 1244 CF$UID - 1229 + 1249 CF$UID - 1235 + 1254 CF$UID - 1243 + 1232 CF$UID - 82 + 585 CF$UID - 1251 + 1255 @@ -18193,38 +20020,48 @@ $class CF$UID - 89 + 75 + + DocumentLocation + + CF$UID + 1235 + + DomainIdentifier + + CF$UID + 60 + + IdentifierPath + + CF$UID + 1245 + + IndexOfDocumentIdentifier + + CF$UID + 70 - NS.keys - - - CF$UID - 103 - - - NS.objects - - - CF$UID - 1230 - - $class CF$UID - 113 + 69 NS.objects CF$UID - 1231 + 1246 CF$UID - 1233 + 1247 + + + CF$UID + 1248 @@ -18232,189 +20069,134 @@ $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 1232 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - - NS.objects - - - CF$UID - 211 - - - CF$UID - 1232 - - - 456 $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 301 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - - NS.objects - - - CF$UID - 211 - - - CF$UID - 1234 - - - 224 $class CF$UID - 89 + 64 + + Identifier + + CF$UID + 68 - NS.keys - - - CF$UID - 220 - - - CF$UID - 219 - - - CF$UID - 222 - - - NS.objects - - - CF$UID - 1236 - - - CF$UID - 220 - - - CF$UID - 1242 - - $class CF$UID - 89 + 85 NS.keys CF$UID - 256 - - - CF$UID - 257 - - - CF$UID - 258 - - - CF$UID - 259 - - - CF$UID - 260 - - - CF$UID - 261 - - - CF$UID - 262 + 806 CF$UID - 263 + 807 CF$UID - 264 + 808 CF$UID - 265 + 809 NS.objects CF$UID - 82 - - - CF$UID - 619 + 1250 CF$UID - 1237 + 1251 CF$UID - 1238 + 809 CF$UID - 1239 + 1252 + + + + $class + + CF$UID + 90 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 82 + 229 + + + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 82 + 813 CF$UID - 1240 + 814 + + NS.objects + CF$UID - 82 + 815 CF$UID - 1241 + 1253 @@ -18422,113 +20204,107 @@ $class CF$UID - 272 + 114 NS.objects - + + + CF$UID + 229 + + + Window $class CF$UID - 272 + 89 - NS.objects - - - - $class + NS.base CF$UID - 113 + 0 - NS.objects - - - - $class + NS.relative CF$UID - 272 + 1256 - NS.objects - + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainWindow.xib $class CF$UID - 272 + 69 NS.objects - + + + CF$UID + 509 + + $class CF$UID - 89 + 90 NS.keys CF$UID - 257 - - - CF$UID - 286 + 94 CF$UID - 287 + 95 CF$UID - 288 + 99 CF$UID - 289 + 97 CF$UID - 280 + 98 CF$UID - 290 + 96 NS.objects CF$UID - 284 - - - CF$UID - 82 + 100 CF$UID - 281 + 1259 CF$UID - 82 + 1260 CF$UID - 82 + 100 CF$UID - 283 + 1261 CF$UID - 281 + 1267 @@ -18536,20 +20312,20 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 102 NS.objects CF$UID - 1244 + 70 @@ -18557,21 +20333,20 @@ $class CF$UID - 113 + 90 - NS.objects + NS.keys CF$UID - 1245 - - - CF$UID - 1247 + 122 + + NS.objects + CF$UID - 1249 + 229 @@ -18579,254 +20354,137 @@ $class CF$UID - 84 + 90 NS.keys CF$UID - 106 - - - CF$UID - 107 + 104 NS.objects CF$UID - 24 - - - CF$UID - 1246 + 1262 - 260 $class CF$UID - 84 + 114 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - NS.objects CF$UID - 20 + 1263 CF$UID - 1248 + 1265 - 1020 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 328 + 109 CF$UID - 1250 + 1264 - 260 + 512 $class CF$UID - 89 + 85 NS.keys CF$UID - 38 - - - CF$UID - 30 - - - CF$UID - 31 - - - CF$UID - 32 - - - CF$UID - 33 - - - CF$UID - 35 - - - CF$UID - 36 - - - CF$UID - 29 - - - NS.objects - - - CF$UID - 1252 - - - CF$UID - 1256 - - - CF$UID - 1262 - - - CF$UID - 39 - - - CF$UID - 69 - - - CF$UID - 1277 - - - CF$UID - 1283 + 107 CF$UID - 82 + 108 - - - - $class - - CF$UID - 207 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 1253 - - rootLayoutTreeNode - - CF$UID - 1254 - - - - $class - - CF$UID - 206 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 1254 - - - - $class - - CF$UID - 206 - - children - - CF$UID - 1255 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent + + NS.objects + + + CF$UID + 112 + + + CF$UID + 1266 + + + + 507 + + $class CF$UID - 0 + 90 + NS.keys + + + CF$UID + 104 + + + NS.objects + + + CF$UID + 1268 + + $class CF$UID - 68 + 114 NS.objects CF$UID - 1253 + 1269 + + + CF$UID + 1271 @@ -18834,100 +20492,166 @@ $class CF$UID - 89 + 85 NS.keys CF$UID - 41 + 107 + + + CF$UID + 108 NS.objects CF$UID - 1257 + 109 + + + CF$UID + 1270 + 512 $class CF$UID - 89 + 85 NS.keys CF$UID - 43 + 107 + + + CF$UID + 108 NS.objects CF$UID - 1258 + 112 + + + CF$UID + 1272 + 507 $class CF$UID - 84 + 90 NS.keys CF$UID - 45 + 104 + + NS.objects + CF$UID - 46 + 1274 + + + + + $class + + CF$UID + 114 + + NS.objects + + + CF$UID + 1275 CF$UID - 47 + 1277 - NS.objects + + + $class + + CF$UID + 85 + + NS.keys CF$UID - 1259 + 107 CF$UID - 69 + 108 + + NS.objects + CF$UID - 1261 + 151 + + + CF$UID + 1276 + 203 $class CF$UID - 68 + 85 + NS.keys + + + CF$UID + 107 + + + CF$UID + 108 + + NS.objects CF$UID - 1260 + 154 + + + CF$UID + 1278 + 115 $class CF$UID - 89 + 90 NS.keys @@ -18938,13 +20662,20 @@ $class CF$UID - 68 + 90 + NS.keys + + + CF$UID + 104 + + NS.objects CF$UID - 579 + 1281 @@ -18952,81 +20683,106 @@ $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 93 - - - CF$UID - 94 - - - CF$UID - 98 + 1282 CF$UID - 96 + 1284 + + + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 97 + 107 CF$UID - 95 + 108 NS.objects CF$UID - 99 + 212 CF$UID - 1263 + 1283 + + + 456 + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 1264 + 107 CF$UID - 99 + 108 + + NS.objects + CF$UID - 1265 + 212 CF$UID - 1271 + 1285 + 224 $class CF$UID - 89 + 90 NS.keys CF$UID - 101 + 220 + + + CF$UID + 223 NS.objects CF$UID - 69 + 223 + + + CF$UID + 1287 @@ -19034,20 +20790,68 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 121 + 258 + + + CF$UID + 287 + + + CF$UID + 288 + + + CF$UID + 289 + + + CF$UID + 290 + + + CF$UID + 281 + + + CF$UID + 291 NS.objects CF$UID - 228 + 549 + + + CF$UID + 83 + + + CF$UID + 282 + + + CF$UID + 83 + + + CF$UID + 83 + + + CF$UID + 1288 + + + CF$UID + 1290 @@ -19055,20 +20859,13 @@ $class CF$UID - 89 + 69 - NS.keys - - - CF$UID - 103 - - NS.objects CF$UID - 1266 + 1289 @@ -19076,17 +20873,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1267 + 68 CF$UID - 1269 + 301 + + + CF$UID + 1232 @@ -19094,80 +20895,70 @@ $class CF$UID - 84 + 283 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - NS.objects CF$UID - 108 + 1291 CF$UID - 1268 + 1292 - 512 $class CF$UID - 84 + 114 - NS.keys + NS.objects CF$UID - 106 - - - CF$UID - 107 + 68 + + + $class + + CF$UID + 114 + NS.objects CF$UID - 111 + 68 CF$UID - 1270 + 301 - 507 $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 104 NS.objects CF$UID - 1272 + 1294 @@ -19175,17 +20966,21 @@ $class CF$UID - 113 + 114 NS.objects CF$UID - 1273 + 1295 CF$UID - 1275 + 1297 + + + CF$UID + 1299 @@ -19193,585 +20988,588 @@ $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 108 + 25 CF$UID - 1274 + 1296 - 512 + 260 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 107 CF$UID - 107 + 108 NS.objects CF$UID - 111 + 21 CF$UID - 1276 + 1298 - 507 + 1020 $class CF$UID - 89 + 85 NS.keys CF$UID - 103 + 107 + + + CF$UID + 108 NS.objects CF$UID - 1278 + 329 + + + CF$UID + 1300 + 260 $class CF$UID - 113 + 69 NS.objects CF$UID - 1279 - - - CF$UID - 1281 + 1224 + {{776, -63}, {1020, 704}} $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 1304 CF$UID - 107 + 1305 - - NS.objects - CF$UID - 150 + 1306 CF$UID - 1280 + 1307 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 1308 CF$UID - 107 + 1309 NS.objects CF$UID - 153 + 10 CF$UID - 1282 + 1310 + + + CF$UID + 40 + + + CF$UID + 1311 + + + CF$UID + 1307 + + + CF$UID + 1445 - 115 + IDEWorkspaceWindowControllerUniqueIdentifier + IDEOrderedWorkspaceTabControllers + IDEWindowToolbarIsVisible + IDEWorkspaceTabController_BE25BBCB-2850-4C1B-93FE-D134F835E583 + IDEActiveWorkspaceTabController + IDEWindowFrame $class CF$UID - 89 + 69 - NS.keys - NS.objects - + + + CF$UID + 1307 + + $class CF$UID - 89 + 90 NS.keys CF$UID - 1285 + 1312 CF$UID - 555 + 1313 CF$UID - 556 + 1314 CF$UID - 557 + 1315 CF$UID - 558 + 1316 CF$UID - 15 + 1317 + + + CF$UID + 1318 + + + CF$UID + 1319 NS.objects CF$UID - 1286 + 70 CF$UID - 1362 + 40 CF$UID - 82 + 1320 CF$UID - 1285 + 1321 CF$UID - 1363 + 1327 CF$UID - 9 + 1347 + + + CF$UID + 83 + + + CF$UID + 1356 - IDEWorkspaceTabController_BCFDD4A4-DD7E-4075-A08D-BFDE43B7ABEA + AssistantEditorsLayout + IDEShowNavigator + IDETabLabel + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + IDEEditorArea + MainViewController.m $class CF$UID - 89 + 90 NS.keys CF$UID - 20 + 600 + + NS.objects + CF$UID - 21 + 1322 + + + + $class + + CF$UID + 114 + + NS.objects + CF$UID - 27 + 1323 CF$UID - 23 + 1325 + + + + $class + + CF$UID + 85 + + NS.keys + CF$UID - 24 + 603 CF$UID - 25 + 604 + + NS.objects + CF$UID - 26 + 605 CF$UID - 22 + 1324 - NS.objects + + 652 + + $class + + CF$UID + 85 + + NS.keys CF$UID - 1287 + 603 CF$UID - 82 + 604 + + NS.objects + CF$UID - 69 + 605 CF$UID - 1341 + 1326 + + + 224 + + $class + + CF$UID + 90 + + NS.keys + CF$UID - 1347 + 1328 CF$UID - 1354 + 1329 + + NS.objects + CF$UID - 82 + 1329 CF$UID - 1293 + 1330 + SelectedNavigator + Xcode.IDEKit.Navigator.Structure $class CF$UID - 89 + 90 NS.keys CF$UID - 38 - - - CF$UID - 30 + 1331 CF$UID - 31 + 1332 CF$UID - 32 + 1333 CF$UID - 33 + 1334 CF$UID - 35 + 1335 CF$UID - 36 + 1336 CF$UID - 29 + 1337 NS.objects CF$UID - 1288 - - - CF$UID - 1300 + 1338 CF$UID - 1319 + 83 CF$UID - 39 + 282 CF$UID - 69 + 83 CF$UID - 1334 + 83 CF$UID - 1340 + 1339 CF$UID - 82 + 1344 + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {259, 832}} $class - - CF$UID - 207 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 1289 - - rootLayoutTreeNode - - CF$UID - 1298 - - - - $class - - CF$UID - 206 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 1290 - - orientation - 0 - parent - - CF$UID - 1298 - - - - $class - - CF$UID - 74 - - DocumentLocation - - CF$UID - 1296 - - DomainIdentifier - - CF$UID - 59 - - IdentifierPath - - CF$UID - 1291 - - IndexOfDocumentIdentifier CF$UID 69 + NS.objects + + + CF$UID + 1340 + + $class CF$UID - 68 + 114 NS.objects CF$UID - 1292 + 1341 CF$UID - 1294 + 1342 CF$UID - 1295 + 1343 + SoftModemTerminal + Main View + MainViewController.m $class CF$UID - 63 - - Identifier - - CF$UID - 1293 - - - MainWindow.xib - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 300 - - - - $class - - CF$UID - 63 - - Identifier - - CF$UID - 67 - - - - $class - - CF$UID - 73 - - documentURL - - CF$UID - 1297 - - timestamp - - CF$UID - 0 + 283 + NS.objects + + + CF$UID + 1345 + + + CF$UID + 1346 + + $class CF$UID - 72 + 114 - NS.string - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainWindow.xib + NS.objects + + + CF$UID + 1341 + + $class CF$UID - 206 - - children - - CF$UID - 1299 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 114 + NS.objects + + + CF$UID + 1341 + + + CF$UID + 1342 + + $class CF$UID - 68 + 90 + NS.keys + + + CF$UID + 600 + + NS.objects CF$UID - 1289 + 1348 @@ -19779,20 +21577,21 @@ $class CF$UID - 89 + 114 - NS.keys + NS.objects CF$UID - 41 + 1349 - - NS.objects - CF$UID - 1301 + 1351 + + + CF$UID + 1353 @@ -19800,189 +21599,273 @@ $class CF$UID - 89 + 85 NS.keys CF$UID - 43 + 603 + + + CF$UID + 604 NS.objects CF$UID - 1302 + 1316 + + + CF$UID + 1350 + 260 $class CF$UID - 84 + 85 NS.keys CF$UID - 45 - - - CF$UID - 46 + 603 CF$UID - 47 + 604 NS.objects CF$UID - 1303 - - - CF$UID - 69 + 1319 CF$UID - 1318 + 1352 + 1140 $class CF$UID - 68 + 85 + NS.keys + + + CF$UID + 603 + + + CF$UID + 604 + + NS.objects CF$UID - 1304 + 1354 + + + CF$UID + 1355 + IDEUtilitiesArea + 260 $class CF$UID - 89 + 90 NS.keys CF$UID - 50 + 1357 CF$UID - 51 + 1358 CF$UID - 52 + 1359 CF$UID - 53 + 1360 CF$UID - 54 + 1361 CF$UID - 55 + 1362 CF$UID - 56 + 1363 + + + CF$UID + 1364 NS.objects CF$UID - 1088 + 1365 CF$UID - 1305 + 1377 CF$UID - 1310 + 1411 CF$UID - 1315 + 40 CF$UID - 1293 + 70 CF$UID - 656 + 1436 CF$UID - 1316 + 1444 + + + CF$UID + 83 + layoutTree + IDEEditorMode_Standard + IDEEDitorArea_DebugArea + IDEShowEditor + EditorMode + DebuggerSplitView + DefaultPersistentRepresentations + ShowDebuggerArea + + $class + + CF$UID + 208 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 1366 + + rootLayoutTreeNode + + CF$UID + 1375 + + $class CF$UID - 74 + 207 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 1367 + + orientation + 0 + parent + + CF$UID + 1375 + + + + $class + + CF$UID + 75 DocumentLocation CF$UID - 1296 + 1374 DomainIdentifier CF$UID - 59 + 1368 IdentifierPath CF$UID - 1306 + 1369 IndexOfDocumentIdentifier CF$UID - 69 + 70 + Xcode.IDENavigableItemDomain.WorkspaceStructure $class CF$UID - 68 + 69 NS.objects CF$UID - 1307 + 1370 CF$UID - 1308 + 1371 CF$UID - 1309 + 1372 @@ -19990,181 +21873,93 @@ $class CF$UID - 63 + 64 Identifier CF$UID - 1293 + 1343 $class CF$UID - 63 + 64 Identifier CF$UID - 300 + 1342 $class CF$UID - 63 + 64 Identifier CF$UID - 67 - - - - $class - - CF$UID - 84 + 1373 - NS.keys - - - CF$UID - 692 - - - CF$UID - 693 - - - CF$UID - 694 - - - CF$UID - 695 - - - NS.objects - - - CF$UID - 1311 - - - CF$UID - 1312 - - - CF$UID - 695 - - - CF$UID - 1313 - - + SoftModemTerminal $class CF$UID - 89 + 74 - NS.keys - - NS.objects - - - - $class + documentURL CF$UID - 113 + 707 - NS.objects - - - CF$UID - 228 - - - - - $class + timestamp CF$UID - 89 + 0 - NS.keys - - - CF$UID - 699 - - - CF$UID - 700 - - - NS.objects - - - CF$UID - 701 - - - CF$UID - 1314 - - $class CF$UID - 113 + 207 - NS.objects - - - CF$UID - 228 - - - - Window - - $class + children CF$UID - 88 + 1376 - NS.base + contentType + 0 + documentArchivableRepresentation CF$UID 0 - NS.relative + orientation + 0 + parent CF$UID - 1317 + 0 - file://localhost/Users/john/Projects/syseng/SoftModemTerminal/MainWindow.xib $class CF$UID - 68 + 69 NS.objects CF$UID - 579 + 1366 @@ -20172,141 +21967,97 @@ $class CF$UID - 89 + 90 NS.keys CF$UID - 93 - - - CF$UID - 94 - - - CF$UID - 98 - - - CF$UID - 96 - - - CF$UID - 97 - - - CF$UID - 95 + 1378 NS.objects CF$UID - 99 - - - CF$UID - 1320 - - - CF$UID - 1321 - - - CF$UID - 99 - - - CF$UID - 1322 - - - CF$UID - 1328 + 1379 + EditorLayout_PersistentRepresentation $class CF$UID - 89 + 90 NS.keys CF$UID - 101 + 1380 NS.objects CF$UID - 69 + 1381 + Main $class CF$UID - 89 + 85 NS.keys CF$UID - 121 + 1382 - - NS.objects - CF$UID - 228 + 1383 - - - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 103 + 1384 NS.objects CF$UID - 1323 + 1385 + + + CF$UID + 70 + + + CF$UID + 1409 + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry $class CF$UID - 113 + 69 NS.objects CF$UID - 1324 - - - CF$UID - 1326 + 1386 @@ -20314,98 +22065,125 @@ $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 1387 CF$UID - 107 + 1388 - - NS.objects - CF$UID - 108 + 1389 CF$UID - 1325 + 1390 - - - 512 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 1391 CF$UID - 107 + 1392 + + + CF$UID + 1393 NS.objects CF$UID - 111 + 1394 CF$UID - 1327 + 1395 - - - 507 - - $class - - CF$UID - 89 - - NS.keys - CF$UID - 103 + 1401 - - NS.objects - CF$UID - 1329 + 1405 + + + CF$UID + 1343 + + + CF$UID + 1406 + + + CF$UID + 1407 + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + public.objective-c-source + + $class + + CF$UID + 75 + + DocumentLocation + + CF$UID + 1374 + + DomainIdentifier + + CF$UID + 1368 + + IdentifierPath + + CF$UID + 1396 + + IndexOfDocumentIdentifier + + CF$UID + 70 + + $class CF$UID - 113 + 69 NS.objects CF$UID - 1330 + 1397 CF$UID - 1332 + 1398 + + + CF$UID + 1399 @@ -20413,402 +22191,352 @@ $class CF$UID - 84 + 64 + + Identifier + + CF$UID + 1343 + + + + $class + + CF$UID + 64 + + Identifier + + CF$UID + 1342 + + + + $class + + CF$UID + 64 + + Identifier + + CF$UID + 1400 + + + SoftModemTerminal + + $class + + CF$UID + 85 NS.keys CF$UID - 106 + 787 CF$UID - 107 + 788 - - NS.objects - CF$UID - 108 + 789 CF$UID - 1331 + 790 - - 512 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 106 + 1402 CF$UID - 107 + 1403 - - NS.objects - CF$UID - 111 + 83 CF$UID - 1333 + 1404 - 507 + 323805958.28526503 + {2893, 1822} + {3818, 3} + -textFieldShouldReturn: + Xcode.IDEKit.EditorDocument.SourceCode $class CF$UID 89 - NS.keys - - - CF$UID - 103 - - - NS.objects - - - CF$UID - 1335 - - + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1408 + + file://localhost/Users/john/Projects/syseng/SoftModemTerminal/Classes/MainViewController.m $class CF$UID - 113 + 69 NS.objects CF$UID - 1336 - - - CF$UID - 1338 + 1410 + {{0, 0}, {1140, 876}} $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 1412 CF$UID - 107 + 1413 - - NS.objects - CF$UID - 150 + 1414 CF$UID - 1337 + 1415 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 106 + 1416 CF$UID - 107 + 1417 NS.objects CF$UID - 153 + 100 CF$UID - 1339 + 1418 + + + CF$UID + 1420 + + + CF$UID + 100 + + + CF$UID + 1422 + + + CF$UID + 1430 - 115 - - $class - - CF$UID - 89 - - NS.keys - - NS.objects - - + LayoutFocusMode + console + variables + LayoutMode + IDEDebugArea_SplitView + IDEDebuggerAreaSplitView $class CF$UID - 89 + 90 NS.keys CF$UID - 103 + 1419 NS.objects CF$UID - 1342 + 70 + ConsoleFilterMode $class CF$UID - 113 + 90 - NS.objects + NS.keys CF$UID - 1343 + 1421 + + NS.objects + CF$UID - 1345 + 229 + DBGVariablesViewFilterMode $class CF$UID - 84 + 90 NS.keys CF$UID - 106 - - - CF$UID - 107 + 600 NS.objects CF$UID - 211 - - - CF$UID - 1344 + 1423 - 456 $class CF$UID - 84 + 114 - NS.keys - - - CF$UID - 106 - - - CF$UID - 107 - - NS.objects CF$UID - 211 + 1424 CF$UID - 1346 + 1427 - 224 $class CF$UID - 89 + 85 NS.keys CF$UID - 219 + 603 CF$UID - 222 + 604 NS.objects CF$UID - 222 + 1425 CF$UID - 1348 + 1426 + VariablesView + 298 $class CF$UID - 89 + 85 NS.keys CF$UID - 257 - - - CF$UID - 286 - - - CF$UID - 287 - - - CF$UID - 288 - - - CF$UID - 289 - - - CF$UID - 280 + 603 CF$UID - 290 + 604 NS.objects CF$UID - 619 - - - CF$UID - 82 - - - CF$UID - 281 - - - CF$UID - 82 - - - CF$UID - 82 - - - CF$UID - 1349 + 1428 CF$UID - 1351 + 1429 + ConsoleArea + 841 $class CF$UID - 68 + 90 - NS.objects + NS.keys CF$UID - 1350 + 600 - - - $class - - CF$UID - 113 - NS.objects CF$UID - 67 - - - CF$UID - 300 - - - CF$UID - 1293 + 1431 @@ -20816,17 +22544,17 @@ $class CF$UID - 282 + 114 NS.objects CF$UID - 1352 + 1432 CF$UID - 1353 + 1434 @@ -20834,182 +22562,175 @@ $class CF$UID - 113 + 85 - NS.objects + NS.keys CF$UID - 67 + 603 + + + CF$UID + 604 - - - $class - - CF$UID - 113 - NS.objects CF$UID - 67 + 1425 CF$UID - 300 + 1433 + 298 $class CF$UID - 89 + 85 NS.keys CF$UID - 103 + 603 - - NS.objects - CF$UID - 1355 + 604 - - - $class - - CF$UID - 113 - NS.objects CF$UID - 1356 - - - CF$UID - 1358 + 1428 CF$UID - 1360 + 1435 + 841 $class CF$UID - 84 + 90 NS.keys CF$UID - 106 + 600 + + NS.objects + CF$UID - 107 + 1437 + + + $class + + CF$UID + 114 + NS.objects CF$UID - 24 + 1438 CF$UID - 1357 + 1441 - 260 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 603 CF$UID - 107 + 604 NS.objects CF$UID - 20 + 1439 CF$UID - 1359 + 1440 - 1020 + IDEEditor + 203 $class CF$UID - 84 + 85 NS.keys CF$UID - 106 + 603 CF$UID - 107 + 604 NS.objects CF$UID - 328 + 1442 CF$UID - 1361 + 1443 - 260 + IDEDebuggerArea + 115 $class CF$UID - 68 + 90 + NS.keys + NS.objects - - - CF$UID - 1285 - - + - {{776, -63}, {1020, 704}} + {{198, 81}, {1400, 952}} $top diff --git a/iNeedCaffeine/Classes/AudioQueueObject.h b/iNeedCaffeine/Classes/AudioQueueObject.h new file mode 100644 index 0000000..d4b60f6 --- /dev/null +++ b/iNeedCaffeine/Classes/AudioQueueObject.h @@ -0,0 +1,25 @@ +// +// AudioQueueObject.h +// iNfrared +// +// Created by George Dean on 11/28/08. +// Culled from SpeakHere sample code. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import +#include + +#define kNumberAudioDataBuffers 3 + +@interface AudioQueueObject : NSObject { + AudioQueueRef queueObject; // the audio queue object being used for playback + AudioStreamBasicDescription audioFormat; +} + +@property (readwrite) AudioQueueRef queueObject; +@property (readwrite) AudioStreamBasicDescription audioFormat; + +- (BOOL) isRunning; + +@end diff --git a/iNeedCaffeine/Classes/AudioQueueObject.m b/iNeedCaffeine/Classes/AudioQueueObject.m new file mode 100644 index 0000000..ee2a64c --- /dev/null +++ b/iNeedCaffeine/Classes/AudioQueueObject.m @@ -0,0 +1,39 @@ +// +// AudioQueueObject.m +// iNfrared +// +// Created by George Dean on 11/28/08. +// Culled from SpeakHere sample code. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import "AudioQueueObject.h" + + +@implementation AudioQueueObject + +@synthesize queueObject; +@synthesize audioFormat; + +- (BOOL) isRunning { + + UInt32 isRunning; + UInt32 propertySize = sizeof (UInt32); + OSStatus result; + + result = AudioQueueGetProperty ( + queueObject, + kAudioQueueProperty_IsRunning, + &isRunning, + &propertySize + ); + + if (result != noErr) { + return false; + } else { + return isRunning; + } +} + + +@end diff --git a/iNeedCaffeine/Classes/AudioSignalAnalyzer.h b/iNeedCaffeine/Classes/AudioSignalAnalyzer.h new file mode 100644 index 0000000..f579b60 --- /dev/null +++ b/iNeedCaffeine/Classes/AudioSignalAnalyzer.h @@ -0,0 +1,54 @@ +// +// AudioSignalAnalyzer.h +// iNfrared +// +// Created by George Dean on 11/28/08. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import "AudioQueueObject.h" +#import "PatternRecognizer.h" + +//#define DETAILED_ANALYSIS + +typedef struct +{ + int lastFrame; + int lastEdgeSign; + unsigned lastEdgeWidth; + int edgeSign; + int edgeDiff; + unsigned edgeWidth; + unsigned plateauWidth; +#ifdef DETAILED_ANALYSIS + SInt64 edgeSum; + int edgeMin; + int edgeMax; + SInt64 plateauSum; + int plateauMin; + int plateauMax; +#endif +} +analyzerData; + +@interface AudioSignalAnalyzer : AudioQueueObject { + BOOL stopping; + analyzerData pulseData; + NSMutableArray* recognizers; +} + +@property (readwrite) BOOL stopping; +@property (readonly) analyzerData* pulseData; + +- (void) addRecognizer: (id)recognizer; + +- (void) setupRecording; + +- (void) record; +- (void) stop; + +- (void) edge: (int)height width:(unsigned)width interval:(unsigned)interval; +- (void) idle: (unsigned)samples; +- (void) reset; + +@end diff --git a/iNeedCaffeine/Classes/AudioSignalAnalyzer.m b/iNeedCaffeine/Classes/AudioSignalAnalyzer.m new file mode 100644 index 0000000..947fd8c --- /dev/null +++ b/iNeedCaffeine/Classes/AudioSignalAnalyzer.m @@ -0,0 +1,299 @@ +// +// AudioSignalAnalyzer.m +// iNfrared +// +// Created by George Dean on 11/28/08. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import "AudioSignalAnalyzer.h" + +#define SAMPLE_RATE 44100 +#define SAMPLE SInt16 +#define NUM_CHANNELS 1 +#define BYTES_PER_FRAME (NUM_CHANNELS * sizeof(SAMPLE)) + +#define SAMPLES_TO_NS(__samples__) (((UInt64)(__samples__) * 1000000000) / SAMPLE_RATE) +#define NS_TO_SAMPLES(__nanosec__) (unsigned)(((UInt64)(__nanosec__) * SAMPLE_RATE) / 1000000000) +#define US_TO_SAMPLES(__microsec__) (unsigned)(((UInt64)(__microsec__) * SAMPLE_RATE) / 1000000) +#define MS_TO_SAMPLES(__millisec__) (unsigned)(((UInt64)(__millisec__) * SAMPLE_RATE) / 1000) + +#define EDGE_DIFF_THRESHOLD 16384 +#define EDGE_SLOPE_THRESHOLD 256 +#define EDGE_MAX_WIDTH 8 +#define IDLE_CHECK_PERIOD MS_TO_SAMPLES(10) + +static int analyze( SAMPLE *inputBuffer, + unsigned long framesPerBuffer, + AudioSignalAnalyzer* analyzer) +{ + analyzerData *data = analyzer.pulseData; + SAMPLE *pSample = inputBuffer; + int lastFrame = data->lastFrame; + + unsigned idleInterval = data->plateauWidth + data->lastEdgeWidth + data->edgeWidth; + + for (long i=0; i < framesPerBuffer; i++, pSample++) + { + int thisFrame = *pSample; + int diff = thisFrame - lastFrame; + + int sign = 0; + if (diff > EDGE_SLOPE_THRESHOLD) + { + // Signal is rising + sign = 1; + } + else if(-diff > EDGE_SLOPE_THRESHOLD) + { + // Signal is falling + sign = -1; + } + + // If the signal has changed direction or the edge detector has gone on for too long, + // then close out the current edge detection phase + if(data->edgeSign != sign || (data->edgeSign && data->edgeWidth + 1 > EDGE_MAX_WIDTH)) + { + if(abs(data->edgeDiff) > EDGE_DIFF_THRESHOLD && data->lastEdgeSign != data->edgeSign) + { + // The edge is significant + [analyzer edge:data->edgeDiff + width:data->edgeWidth + interval:data->plateauWidth + data->edgeWidth]; + + // Save the edge + data->lastEdgeSign = data->edgeSign; + data->lastEdgeWidth = data->edgeWidth; + + // Reset the plateau + data->plateauWidth = 0; + idleInterval = data->edgeWidth; +#ifdef DETAILED_ANALYSIS + data->plateauSum = 0; + data->plateauMin = data->plateauMax = thisFrame; +#endif + } + else + { + // The edge is rejected; add the edge data to the plateau + data->plateauWidth += data->edgeWidth; +#ifdef DETAILED_ANALYSIS + data->plateauSum += data->edgeSum; + if(data->plateauMax < data->edgeMax) + data->plateauMax = data->edgeMax; + if(data->plateauMin > data->edgeMin) + data->plateauMin = data->edgeMin; +#endif + } + + data->edgeSign = sign; + data->edgeWidth = 0; + data->edgeDiff = 0; +#ifdef DETAILED_ANALYSIS + data->edgeSum = 0; + data->edgeMin = data->edgeMax = lastFrame; +#endif + } + + if(data->edgeSign) + { + // Sample may be part of an edge + data->edgeWidth++; + data->edgeDiff += diff; +#ifdef DETAILED_ANALYSIS + data->edgeSum += thisFrame; + if(data->edgeMax < thisFrame) + data->edgeMax = thisFrame; + if(data->edgeMin > thisFrame) + data->edgeMin = thisFrame; +#endif + } + else + { + // Sample is part of a plateau + data->plateauWidth++; +#ifdef DETAILED_ANALYSIS + data->plateauSum += thisFrame; + if(data->plateauMax < thisFrame) + data->plateauMax = thisFrame; + if(data->plateauMin > thisFrame) + data->plateauMin = thisFrame; +#endif + } + idleInterval++; + + data->lastFrame = lastFrame = thisFrame; + + if ( (idleInterval % IDLE_CHECK_PERIOD) == 0 ) + [analyzer idle:idleInterval]; + + } + + return 0; +} + + +static void recordingCallback ( + void *inUserData, + AudioQueueRef inAudioQueue, + AudioQueueBufferRef inBuffer, + const AudioTimeStamp *inStartTime, + UInt32 inNumPackets, + const AudioStreamPacketDescription *inPacketDesc +) { + // This is not a Cocoa thread, it needs a manually allocated pool +// NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + // This callback, being outside the implementation block, needs a reference to the AudioRecorder object + AudioSignalAnalyzer *analyzer = (AudioSignalAnalyzer *) inUserData; + + // if there is audio data, analyze it + if (inNumPackets > 0) { + analyze((SAMPLE*)inBuffer->mAudioData, inBuffer->mAudioDataByteSize / BYTES_PER_FRAME, analyzer); + } + + // if not stopping, re-enqueue the buffer so that it can be filled again + if ([analyzer isRunning]) { + AudioQueueEnqueueBuffer ( + inAudioQueue, + inBuffer, + 0, + NULL + ); + } + +// [pool release]; +} + + + +@implementation AudioSignalAnalyzer + +@synthesize stopping; + +- (analyzerData*) pulseData +{ + return &pulseData; +} + +- (id) init +{ + self = [super init]; + + if (self != nil) + { + recognizers = [[NSMutableArray alloc] init]; + // these statements define the audio stream basic description + // for the file to record into. + audioFormat.mSampleRate = SAMPLE_RATE; + audioFormat.mFormatID = kAudioFormatLinearPCM; + audioFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; + audioFormat.mFramesPerPacket = 1; + audioFormat.mChannelsPerFrame = 1; + audioFormat.mBitsPerChannel = 16; + audioFormat.mBytesPerPacket = 2; + audioFormat.mBytesPerFrame = 2; + + + AudioQueueNewInput ( + &audioFormat, + recordingCallback, + self, // userData + NULL, // run loop + NULL, // run loop mode + 0, // flags + &queueObject + ); + + } + return self; +} + +- (void) addRecognizer: (id)recognizer +{ + [recognizers addObject:recognizer]; +} + +- (void) record +{ + [self setupRecording]; + + [self reset]; + + AudioQueueStart ( + queueObject, + NULL // start time. NULL means ASAP. + ); +} + + +- (void) stop +{ + AudioQueueStop ( + queueObject, + TRUE + ); + + [self reset]; +} + + +- (void) setupRecording +{ + // allocate and enqueue buffers + int bufferByteSize = 4096; // this is the maximum buffer size used by the player class + int bufferIndex; + + for (bufferIndex = 0; bufferIndex < 20; ++bufferIndex) { + + AudioQueueBufferRef bufferRef; + + AudioQueueAllocateBuffer ( + queueObject, + bufferByteSize, &bufferRef + ); + + AudioQueueEnqueueBuffer ( + queueObject, + bufferRef, + 0, + NULL + ); + } +} + +- (void) idle: (unsigned)samples +{ + // Convert to microseconds + UInt64 nsInterval = SAMPLES_TO_NS(samples); + for (id rec in recognizers) + [rec idle:nsInterval]; +} + +- (void) edge: (int)height width:(unsigned)width interval:(unsigned)interval +{ + // Convert to microseconds + UInt64 nsInterval = SAMPLES_TO_NS(interval); + UInt64 nsWidth = SAMPLES_TO_NS(width); + for (id rec in recognizers) + [rec edge:height width:nsWidth interval:nsInterval]; +} + +- (void) reset +{ + [recognizers makeObjectsPerformSelector:@selector(reset)]; + + memset(&pulseData, 0, sizeof(pulseData)); +} + +- (void) dealloc +{ + AudioQueueDispose (queueObject, + TRUE); + + [recognizers release]; + + [super dealloc]; +} + +@end diff --git a/iNeedCaffeine/Classes/AudioSignalGenerator.h b/iNeedCaffeine/Classes/AudioSignalGenerator.h new file mode 100644 index 0000000..811325c --- /dev/null +++ b/iNeedCaffeine/Classes/AudioSignalGenerator.h @@ -0,0 +1,41 @@ +// +// AudioSignalGenerator.h +// FSK Terminal +// +// Created by George Dean on 1/6/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#import "AudioQueueObject.h" + + +@interface AudioSignalGenerator : AudioQueueObject { + + AudioQueueBufferRef buffers[kNumberAudioDataBuffers]; // the audio queue buffers for the audio queue + + UInt32 bufferByteSize; // the number of bytes to use in each audio queue buffer + UInt32 bufferPacketCount; + + AudioStreamPacketDescription *packetDescriptions; + + BOOL stopped; + BOOL audioPlayerShouldStopImmediately; +} + +@property (readwrite) AudioStreamPacketDescription *packetDescriptions; +@property (readwrite) BOOL stopped, audioPlayerShouldStopImmediately; +@property (readwrite) UInt32 bufferByteSize; +@property (readwrite) UInt32 bufferPacketCount; + +- (void) setupAudioFormat; +- (void) setupPlaybackAudioQueueObject; +- (void) setupAudioQueueBuffers; + +- (void) play; +- (void) stop; +- (void) pause; +- (void) resume; + +- (void) fillBuffer:(void*)buffer; + +@end diff --git a/iNeedCaffeine/Classes/AudioSignalGenerator.m b/iNeedCaffeine/Classes/AudioSignalGenerator.m new file mode 100644 index 0000000..7f026e3 --- /dev/null +++ b/iNeedCaffeine/Classes/AudioSignalGenerator.m @@ -0,0 +1,163 @@ +// +// AudioSignalGenerator.m +// FSK Terminal +// +// Created by George Dean on 1/6/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#include +#import "AudioQueueObject.h" +#import "AudioSignalGenerator.h" + + +static void playbackCallback ( + void *inUserData, + AudioQueueRef inAudioQueue, + AudioQueueBufferRef bufferReference +) { + // This is not a Cocoa thread, it needs a manually allocated pool +// NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + // This callback, being outside the implementation block, needs a reference to the AudioSignalGenerator object + AudioSignalGenerator *player = (AudioSignalGenerator *) inUserData; + if ([player stopped]) return; + + [player fillBuffer:bufferReference->mAudioData]; + + bufferReference->mAudioDataByteSize = player.bufferByteSize; + + AudioQueueEnqueueBuffer ( + inAudioQueue, + bufferReference, + player.bufferPacketCount, + player.packetDescriptions + ); + +// [pool release]; +} + +@implementation AudioSignalGenerator + +@synthesize packetDescriptions; +@synthesize bufferByteSize; +@synthesize bufferPacketCount; +@synthesize stopped; +@synthesize audioPlayerShouldStopImmediately; + + +- (id) init { + + self = [super init]; + + if (self != nil) { + [self setupAudioFormat]; + [self setupPlaybackAudioQueueObject]; + self.stopped = NO; + self.audioPlayerShouldStopImmediately = NO; + } + + return self; +} + +- (void) setupAudioFormat { +} + +- (void) fillBuffer: (void*) buffer +{ +} + +- (void) setupPlaybackAudioQueueObject { + + // create the playback audio queue object + AudioQueueNewOutput ( + &audioFormat, + playbackCallback, + self, + nil, + nil, + 0, // run loop flags + &queueObject + ); + + AudioQueueSetParameter ( + queueObject, + kAudioQueueParam_Volume, + 1.0f + ); + +} + +- (void) setupAudioQueueBuffers { + + // prime the queue with some data before starting + // allocate and enqueue buffers + int bufferIndex; + + for (bufferIndex = 0; bufferIndex < 3; ++bufferIndex) { + + AudioQueueAllocateBuffer ( + [self queueObject], + [self bufferByteSize], + &buffers[bufferIndex] + ); + + playbackCallback ( + self, + [self queueObject], + buffers[bufferIndex] + ); + + if ([self stopped]) break; + } +} + + +- (void) play { + + [self setupAudioQueueBuffers]; + + AudioQueueStart ( + self.queueObject, + NULL // start time. NULL means ASAP. + ); +} + +- (void) stop { + + AudioQueueStop ( + self.queueObject, + self.audioPlayerShouldStopImmediately + ); + +} + + +- (void) pause { + + AudioQueuePause ( + self.queueObject + ); +} + + +- (void) resume { + + AudioQueueStart ( + self.queueObject, + NULL // start time. NULL means ASAP + ); +} + + +- (void) dealloc { + + AudioQueueDispose ( + queueObject, + YES + ); + + [super dealloc]; +} + +@end diff --git a/iNeedCaffeine/Classes/CharReceiver.h b/iNeedCaffeine/Classes/CharReceiver.h new file mode 100644 index 0000000..b4c9a47 --- /dev/null +++ b/iNeedCaffeine/Classes/CharReceiver.h @@ -0,0 +1,16 @@ +// +// CharReceiver.h +// FSK Terminal +// +// Created by George Dean on 1/18/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#import + + +@protocol CharReceiver + +- (void) receivedChar:(char)input; + +@end diff --git a/iNeedCaffeine/Classes/FSKByteQueue.h b/iNeedCaffeine/Classes/FSKByteQueue.h new file mode 100644 index 0000000..e1810f2 --- /dev/null +++ b/iNeedCaffeine/Classes/FSKByteQueue.h @@ -0,0 +1,14 @@ +/* + * FSKByteQueue.h + * SoftModemTerminal + * + * Created by arms22 on 10/07/22. + * Copyright 2010 __MyCompanyName__. All rights reserved. + * + */ + +#import "lockfree.h" + +struct FSKByteQueue: public lock_free::queue { + FSKByteQueue(): lock_free::queue(256){}; +}; diff --git a/iNeedCaffeine/Classes/FSKModemConfig.h b/iNeedCaffeine/Classes/FSKModemConfig.h new file mode 100644 index 0000000..5234ddd --- /dev/null +++ b/iNeedCaffeine/Classes/FSKModemConfig.h @@ -0,0 +1,35 @@ +/* + * FSKModemConfig.h + * + * Created by arms22 on 10/05/06. + * Copyright 2010 __MyCompanyName__. All rights reserved. + * + */ + +//#define FREQ_LOW 882 +//#define FREQ_HIGH 1764 +//#define BAUD 126 + +//#define FREQ_LOW 630 +//#define FREQ_HIGH 1260 +//#define BAUD 126 + +//#define FREQ_LOW 800 +//#define FREQ_HIGH 1600 +//#define BAUD 100 + +//#define FREQ_LOW 1575 +//#define FREQ_HIGH 3150 +//#define BAUD 315 + +#define FREQ_LOW 2666 +#define FREQ_HIGH 4000 +#define BAUD 600 + +//#define FREQ_LOW 3150 +//#define FREQ_HIGH 6300 +//#define BAUD 630 + +//#define FREQ_LOW 4900 +//#define FREQ_HIGH 7350 +//#define BAUD 1225 diff --git a/iNeedCaffeine/Classes/FSKRecognizer.h b/iNeedCaffeine/Classes/FSKRecognizer.h new file mode 100644 index 0000000..31d54ff --- /dev/null +++ b/iNeedCaffeine/Classes/FSKRecognizer.h @@ -0,0 +1,46 @@ +// +// FSKRecognizer.h +// FSK Terminal +// +// Created by George Dean on 12/22/08. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import "PatternRecognizer.h" + +#define FSK_SMOOTH 3 + +typedef enum +{ + FSKStart, + FSKBits, + FSKSuccess, + FSKFail +} FSKRecState; + +@class MultiDelegate; + +@protocol CharReceiver; + +struct FSKByteQueue; + +@interface FSKRecognizer : NSObject { + unsigned recentLows; + unsigned recentHighs; + unsigned halfWaveHistory[FSK_SMOOTH]; + unsigned bitPosition; + unsigned recentWidth; + unsigned recentAvrWidth; + char bits; + FSKRecState state; + MultiDelegate* receivers; + struct FSKByteQueue* byteQueue; +} + +- (void) addReceiver:(id)receiver; + +- (void) edge: (int)height width:(UInt64)nsWidth interval:(UInt64)nsInterval; +- (void) idle: (UInt64)nsInterval; +- (void) reset; + +@end diff --git a/iNeedCaffeine/Classes/FSKRecognizer.mm b/iNeedCaffeine/Classes/FSKRecognizer.mm new file mode 100644 index 0000000..03b514f --- /dev/null +++ b/iNeedCaffeine/Classes/FSKRecognizer.mm @@ -0,0 +1,229 @@ + +// +// FSKRecognizer.m +// FSK Terminal +// +// Created by George Dean on 12/22/08. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import "FSKModemConfig.h" +#import "FSKRecognizer.h" +#import "FSKByteQueue.h" +#import "MultiDelegate.h" +#import "CharReceiver.h" + +#define WL_HIGH (1000000000 / FREQ_HIGH) +#define WL_LOW (1000000000 / FREQ_LOW) +#define HWL_HIGH (500000000 / FREQ_HIGH) +#define HWL_LOW (500000000 / FREQ_LOW) + +#define SMOOTHER_COUNT (FSK_SMOOTH * (FSK_SMOOTH + 1) / 2) + +#define DISCRIMINATOR (SMOOTHER_COUNT * (WL_HIGH + WL_LOW) / 4) + +#define BIT_PERIOD (1000000000 / BAUD) +#define HALF_BIT_PERIOD (500000000 / BAUD) + +@implementation FSKRecognizer + +- (id) init +{ + self = [super init]; + if(self) + { + receivers = [[MultiDelegate alloc] init]; + byteQueue = new FSKByteQueue(); + [self reset]; + } + + return self; +} + +- (void) addReceiver:(id)receiver +{ + [receivers addDelegate:receiver]; +} + +- (void) commitBytes +{ + char input; + while (byteQueue->get(input)) + { + //NSLog(@"Byte: %c (%02x)", input, (unsigned char)input); + [receivers receivedChar:input]; + } +} + +- (void) dataBit:(BOOL)one +{ + if(one) + bits |= (1 << bitPosition); + bitPosition++; +} + +- (void) freqRegion:(unsigned)length high:(BOOL)high +{ + FSKRecState newState = FSKFail; + switch (state) { + case FSKStart: + if(!high) // Start Bit + { + //NSLog(@"Start bit: %c %d", high?'H':'L', length); + newState = FSKBits; + bits = 0; + bitPosition = 0; + } + else + newState = FSKStart; + break; + case FSKBits: + //NSLog(@"Bit: %c %d", high?'H':'L', length); + if((bitPosition > 0) && (bitPosition <= 7)){ //Data Bits + newState = FSKBits; + [self dataBit:high]; + } + else if(bitPosition == 8){ // Stop Bit + newState = FSKStart; + byteQueue->put(bits); + [self performSelectorOnMainThread:@selector(commitBytes) + withObject:nil + waitUntilDone:NO]; + bits = 0; + bitPosition = 0; + } + break; + default: break; + } + state = newState; +} + +- (void) halfWave:(unsigned)width +{ + for (int i = FSK_SMOOTH - 2; i >= 0; i--) { + halfWaveHistory[i+1] = halfWaveHistory[i]; + } + halfWaveHistory[0] = width; + + unsigned waveSum = 0; + for(int i=0; i recentLows) + { +// NSLog(@"False start: %d", recentLows); + recentLows = recentHighs = 0; + } + } + + if(recentLows + recentHighs >= BIT_PERIOD) + { + [self freqRegion:recentLows high:FALSE]; + recentWidth = recentAvrWidth = 0; + if(recentLows < BIT_PERIOD) + { + recentLows = 0; + } + else + { + recentLows -= BIT_PERIOD; + } + if(!high) + recentHighs = 0; + } + } + else + { + if(high) + recentHighs += avgWidth; + else + recentLows += avgWidth; + + if(recentLows + recentHighs >= BIT_PERIOD) + { + BOOL regionHigh = (recentHighs > recentLows); + [self freqRegion:regionHigh?recentHighs:recentLows high:regionHigh]; + + recentWidth -= BIT_PERIOD; + recentAvrWidth -= BIT_PERIOD; + + if(state == FSKStart) + { + // The byte ended, reset the accumulators + recentLows = recentHighs = 0; + return; + } + + unsigned* matched = regionHigh?&recentHighs:&recentLows; + unsigned* unmatched = regionHigh?&recentLows:&recentHighs; + if(*matched < BIT_PERIOD) + { + *matched = 0; + } + else + { + *matched -= BIT_PERIOD; + } + if(high == regionHigh) + *unmatched = 0; + } + } +} + +- (void) edge: (int)height width:(UInt64)nsWidth interval:(UInt64)nsInterval +{ + if(nsInterval <= HWL_LOW + HWL_HIGH) + [self halfWave:(unsigned)nsInterval]; + else { +// NSLog(@"skip"); + } + +} + +- (void) idle: (UInt64)nsInterval +{ + [self reset]; +} + +- (void) reset +{ + bits = 0; + bitPosition = 0; + state = FSKStart; + for (int i = 0; i < FSK_SMOOTH; i++) { + halfWaveHistory[i] = (WL_HIGH + WL_LOW) / 4; + } + recentLows = recentHighs = 0; +} + +- (void) dealloc +{ + if(byteQueue) + delete byteQueue; + + [receivers release]; + + [super dealloc]; +} + +@end diff --git a/iNeedCaffeine/Classes/FSKSerialGenerator.h b/iNeedCaffeine/Classes/FSKSerialGenerator.h new file mode 100644 index 0000000..97772a0 --- /dev/null +++ b/iNeedCaffeine/Classes/FSKSerialGenerator.h @@ -0,0 +1,29 @@ +// +// FSKSerialGenerator.h +// FSK Terminal +// +// Created by George Dean on 1/7/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#import "AudioSignalGenerator.h" + +struct FSKByteQueue; + +@interface FSKSerialGenerator : AudioSignalGenerator { + float nsBitProgress; + unsigned sineTableIndex; + + unsigned bitCount; + UInt16 bits; + + BOOL byteUnderflow; + BOOL sendCarrier; + + struct FSKByteQueue* byteQueue; +} + +- (void) writeByte:(UInt8)byte; +- (void) writeBytes:(const UInt8 *)bytes length:(int)length; + +@end diff --git a/iNeedCaffeine/Classes/FSKSerialGenerator.mm b/iNeedCaffeine/Classes/FSKSerialGenerator.mm new file mode 100644 index 0000000..8966b42 --- /dev/null +++ b/iNeedCaffeine/Classes/FSKSerialGenerator.mm @@ -0,0 +1,176 @@ +// +// FSKSerialGenerator.m +// FSK Terminal +// +// Created by George Dean on 1/7/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#import "FSKModemConfig.h" +#import "FSKSerialGenerator.h" +#import "FSKByteQueue.h" + +#define SAMPLE_RATE 44100 +#define SAMPLE SInt16 +#define SAMPLE_MAX 32767 +#define NUM_CHANNELS 1 + +#define BITS_PER_CHANNEL (sizeof(SAMPLE) * 8) +#define BYTES_PER_FRAME (NUM_CHANNELS * sizeof(SAMPLE)) + +#define SAMPLE_DURATION (1000000000 / SAMPLE_RATE) +#define SAMPLES_TO_NS(__samples__) (((UInt64)(__samples__) * 1000000000) / SAMPLE_RATE) +#define NS_TO_SAMPLES(__nanosec__) (unsigned)(((UInt64)(__nanosec__) * SAMPLE_RATE) / 1000000000) +#define US_TO_SAMPLES(__microsec__) (unsigned)(((UInt64)(__microsec__) * SAMPLE_RATE) / 1000000) +#define MS_TO_SAMPLES(__millisec__) (unsigned)(((UInt64)(__millisec__) * SAMPLE_RATE) / 1000) + +#define WL_HIGH (1000000000 / FREQ_HIGH) +#define WL_LOW (1000000000 / FREQ_LOW) +#define HWL_HIGH (500000000 / FREQ_HIGH) +#define HWL_LOW (500000000 / FREQ_LOW) + +#define BIT_PERIOD (1000000000 / BAUD) + +#define SINE_TABLE_LENGTH 441 + +#define PRE_CARRIER_BITS ((40000000+BIT_PERIOD)/BIT_PERIOD) +#define POST_CARRIER_BITS (( 5000000+BIT_PERIOD)/BIT_PERIOD) + +// TABLE_JUMP = phase_per_sample / phase_per_entry +// phase_per_sample = 2pi * time_per_sample / time_per_wave +// phase_per_entry = 2pi / SINE_TABLE_LENGTH +// TABLE_JUMP = time_per_sample / time_per_wave * SINE_TABLE_LENGTH +// time_per_sample = 1000000000 / SAMPLE_RATE +// time_per_wave = 1000000000 / FREQ +// TABLE_JUMP = FREQ / SAMPLE_RATE * SINE_TABLE_LENGTH +#define TABLE_JUMP_HIGH (FREQ_HIGH * SINE_TABLE_LENGTH / SAMPLE_RATE) +#define TABLE_JUMP_LOW (FREQ_LOW * SINE_TABLE_LENGTH / SAMPLE_RATE) + +SAMPLE sineTable[SINE_TABLE_LENGTH]; + +@implementation FSKSerialGenerator + +- (id) init +{ + if (self = [super init]) + { + byteQueue = new FSKByteQueue(); + byteUnderflow = YES; + for(int i=0; iempty()) + { + bits = 1; + bitCount = PRE_CARRIER_BITS; + sendCarrier = YES; + byteUnderflow = NO; + return YES; + } + } + else + { + if(byteQueue->get(byte)) + { + bits = ((UInt16)byte << 1) | (0x0200); + bitCount = 10; + sendCarrier = NO; + return YES; + } + else + { + bits = 1; + bitCount = POST_CARRIER_BITS; + sendCarrier = YES; + byteUnderflow = YES; + return YES; + } + } + bits = 1; // Make sure the output is HIGH when there is no data + return NO; +} + +- (void) fillBuffer:(void*)buffer +{ + SAMPLE* sample = (SAMPLE*)buffer; + BOOL underflow = NO; + + if(!bitCount) + underflow = ![self getNextByte]; + + for(int i=0; i= BIT_PERIOD) + { + if(bitCount) + { + --bitCount; + if(!sendCarrier) + bits >>= 1; + } + nsBitProgress -= BIT_PERIOD; + if(!bitCount) + underflow = ![self getNextByte]; + } + + if(underflow){ + *sample = 0; + } + else{ + sineTableIndex += (bits & 1)?TABLE_JUMP_HIGH:TABLE_JUMP_LOW; + if(sineTableIndex >= SINE_TABLE_LENGTH) + sineTableIndex -= SINE_TABLE_LENGTH; + *sample = sineTable[sineTableIndex]; + } + + if(bitCount) + nsBitProgress += SAMPLE_DURATION; + } +} + +- (void) writeByte:(UInt8)byte +{ + byteQueue->put((char)byte); +} + +- (void) writeBytes:(const UInt8 *)bytes length:(int)length +{ + for(int i = 0; iput((char)*bytes++); + } +} + +- (void) dealloc +{ + if(byteQueue) + delete byteQueue; + + [super dealloc]; +} + +@end diff --git a/iNeedCaffeine/Classes/MultiDelegate.h b/iNeedCaffeine/Classes/MultiDelegate.h new file mode 100644 index 0000000..285a73e --- /dev/null +++ b/iNeedCaffeine/Classes/MultiDelegate.h @@ -0,0 +1,20 @@ +// +// MultiDelegate.h +// iNfrared +// +// Created by George Dean on 1/19/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#import + + +@interface MultiDelegate : NSObject { + NSMutableSet* delegateSet; + Protocol* proto; +} + +- (id) initWithProtocol:(Protocol*)p; +- (void) addDelegate:(id)delegate; + +@end diff --git a/iNeedCaffeine/Classes/MultiDelegate.m b/iNeedCaffeine/Classes/MultiDelegate.m new file mode 100644 index 0000000..54cd565 --- /dev/null +++ b/iNeedCaffeine/Classes/MultiDelegate.m @@ -0,0 +1,62 @@ +// +// MultiDelegate.m +// iNfrared +// +// Created by George Dean on 1/19/09. +// Copyright 2009 Perceptive Development. All rights reserved. +// + +#import "MultiDelegate.h" +#import + +@implementation MultiDelegate + +- (id) initWithProtocol:(Protocol*)p +{ + self = [super init]; + if (self) + { + proto = p; + } + + return self; +} + +- (void) addDelegate:(id)delegate +{ + if(!delegateSet) + delegateSet = [[NSMutableSet alloc] init]; + if (delegate != nil) + [delegateSet addObject:delegate]; +} + +- (NSMethodSignature*) methodSignatureForSelector:(SEL)selector +{ + if([delegateSet count]) + return [[delegateSet anyObject] methodSignatureForSelector:selector]; + + if(proto) + { + struct objc_method_description desc = protocol_getMethodDescription(proto, selector, YES, YES); + return [NSMethodSignature signatureWithObjCTypes:desc.types]; + } + + // return void-void signature by default + return [self methodSignatureForSelector:@selector(dealloc)]; +} + +- (void) forwardInvocation:(NSInvocation*)invocation +{ + if(delegateSet) for (id delegate in delegateSet) { + if([delegate respondsToSelector:[invocation selector]]) + [invocation invokeWithTarget:delegate]; + } +} + +- (void) dealloc +{ + [delegateSet release]; + [super dealloc]; +} + +@end diff --git a/iNeedCaffeine/Classes/PatternRecognizer.h b/iNeedCaffeine/Classes/PatternRecognizer.h new file mode 100644 index 0000000..9ee0903 --- /dev/null +++ b/iNeedCaffeine/Classes/PatternRecognizer.h @@ -0,0 +1,18 @@ +// +// PatternRecognizer.h +// iNfrared +// +// Created by George Dean on 12/22/08. +// Copyright 2008 Perceptive Development. All rights reserved. +// + +#import + + +@protocol PatternRecognizer + +- (void) edge: (int)height width:(UInt64)nsWidth interval:(UInt64)nsInterval; +- (void) idle: (UInt64)nsInterval; +- (void) reset; + +@end diff --git a/iNeedCaffeine/Classes/lockfree.h b/iNeedCaffeine/Classes/lockfree.h new file mode 100755 index 0000000..b126e69 --- /dev/null +++ b/iNeedCaffeine/Classes/lockfree.h @@ -0,0 +1,401 @@ + +#pragma once + + +#ifdef __APPLE__ + +#include + +#endif + + +// This is a collection of lock-free data structures that use atomic operations +// to ensure thread safety. Based on the C# examples from a series of articles +// by Julian M. Bucknall. The first article can be found here: +// +// http://www.boyet.com/Articles/LockfreeStack.html + +namespace lock_free +{ + + // The linked list node for lock-free data structures + template + struct node + { + node* volatile next; + T data; + + node():next(NULL),data(){} + }; + + // This is the classic atomic compare-and-swap operation. Pseudocode: + // if (dest == oldValue){ + // dest = newValue; + // return true; + // }else{ + // return false; + // } + template + inline static bool atomic_cas(node* volatile &dest, node* oldValue, node* newValue) + { +#ifdef WIN32 + return oldValue == (node*)InterlockedCompareExchangePointer((volatile PVOID*)&dest, newValue, oldValue); +#endif +#ifdef __APPLE__ + return OSAtomicCompareAndSwapPtr(oldValue, newValue, (void* volatile *)&dest); +#endif + } + + + + // Basic functionality of a lock-free stack implemented as a linked list + template + class node_stack + { + public: + node_stack() + { + head = NULL; + } + + bool empty() const + { + return head; + } + + protected: + // Add a node to the head of the list + void node_add(node* pNewHead) + { + // Just keep trying to push until it succeeds + do{ + pNewHead->next = head; + }while(!atomic_cas(head, pNewHead->next, pNewHead)); + } + + // Pop a node from the head of the list + node* node_remove() + { + node* pOldHead; + + // Keep trying to pop until it succeeds or the list is empty + do{ + // If the head is NULL then the list is empty, so return NULL + if(!(pOldHead = head)) + return NULL; + }while(!atomic_cas(head, pOldHead, pOldHead->next)); + return pOldHead; + } + + // Pointer to the head of the node list + node* volatile head; + }; + + + + // Basic functionality of a lock-free queue implemented as a linked list + template + class node_queue + { + public: + node_queue():tail(NULL),dummy(NULL){} + + bool empty() const + { + return tail == dummy; + } + + protected: + // Add a node to the tail of the list + void node_add(node* pNewTail) + { + node *pOldTail, *pOldNext; + + // Loop until we have managed to update the tail's Next link + // to point to our new node + bool done = false; + while(!done) + { + pOldTail = tail; + pOldNext = pOldTail->next; + + // A lot could have changed between those statements, so check + // if things still look the same + if(tail != pOldTail) + continue; + + if(pOldNext) + { + // If the tail's Next field was non-null, then another thread + // has pushed a new tail, so try to advance the tail pointer + atomic_cas(tail, pOldTail, pOldNext); + continue; + } + + // Make our new node the tail's Next node + done = atomic_cas(pOldTail->next, pOldNext, pNewTail); + } + + // Try to advance the tail pointer to point to our node; if this fails, + // that means another thread already took care of it + atomic_cas(tail, pOldTail, pNewTail); + } + + // Pop a node from the head of the list + node* node_remove() + { + T tempData = T(); + node *pOldDummy, *pOldHead; + + // Keep trying to pop until it succeeds or the list is empty + bool done = false; + while(!done) + { + pOldDummy = dummy; + pOldHead = pOldDummy->next; + node* pOldTail = tail; + + // A lot could have changed between those statements, so check + // if things still look the same + if(dummy != pOldDummy) + continue; + + // If the head is NULL then the list is empty, so return NULL + if(!pOldHead) + return NULL; + + // If the tail is pointed at the dummy but the list is not empty, + // then we should try to advance the tail + if(pOldTail == pOldDummy) + { + atomic_cas(tail, pOldTail, pOldHead); + continue; + } + + // Store the data in case this succeeds + tempData = pOldHead->data; + + // Try to advance the dummy so the head becomes the new dummy + done = atomic_cas(dummy, pOldDummy, pOldHead); + } + + pOldDummy->data = tempData; + return pOldDummy; + } + + // Pointer to the dummy node at the head of the list + node* volatile dummy; + + // Pointer to the tail of the list + node* volatile tail; + }; + + + + // A simple new/delete allocator for lock-free nodes + template + class node_allocator + { + public: + node* acquire() + { + return new node; + } + + void release(node* pNode) + { + delete pNode; + } + }; + + + + // A free-node list used to store and allocate nodes for lock-free structures + template + class cached_node_allocator: public node_stack + { + using node_stack::node_remove; + + public: + cached_node_allocator(int nPreAllocate = 0) + { + // Preallocate some nodes and add them to the free node list + for(int i=0; i); + } + } + + ~cached_node_allocator() + { + // Pop and delete all nodes from the list + node* pNode; + while(pNode = node_remove()) + delete pNode; + } + + + // Get a free node + node* acquire() + { + // Try to get one from the head of the list + node* pOldHead = node_remove(); + + // If the free node list is empty, allocate a new one + if(!pOldHead) + pOldHead = new node; + + // Clear the Next pointer + pOldHead->next = NULL; + return pOldHead; + } + + // Add a node to the head of the free node list + void release(node* pNode) + { + node_add(pNode); + } + }; + + + + // A lock-free collection implementation layer with node allocator support + template