├── .gitignore ├── .gitignore~ ├── README.markdown ├── README.markdown~ ├── ToolDrawer.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ ├── aspitz.xcuserdatad │ │ ├── UserInterfaceState.xcuserstate │ │ └── WorkspaceSettings.xcsettings │ │ └── jcarlson.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ ├── aspitz.xcuserdatad │ ├── xcdebugger │ │ └── Breakpoints.xcbkptlist │ └── xcschemes │ │ ├── ToolDrawer.xcscheme │ │ └── xcschememanagement.plist │ └── jcarlson.xcuserdatad │ ├── xcdebugger │ └── Breakpoints.xcbkptlist │ └── xcschemes │ ├── ToolDrawer.xcscheme │ └── xcschememanagement.plist ├── ToolDrawer ├── ToolDrawer-Info.plist ├── ToolDrawer-Prefix.pch ├── ToolDrawerAppDelegate.h ├── ToolDrawerAppDelegate.m ├── ToolDrawerViewController.h ├── ToolDrawerViewController.m ├── en.lproj │ ├── InfoPlist.strings │ └── ToolDrawerViewController.xib └── main.m ├── ToolDrawerView.h ├── ToolDrawerView.m ├── ToolbarView.png └── lgpl-3.0.txt /.gitignore: -------------------------------------------------------------------------------- 1 | DerivedData 2 | ToolDrawer.xcodeproj/ -------------------------------------------------------------------------------- /.gitignore~: -------------------------------------------------------------------------------- 1 | DerivedData 2 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | ## ToolbarView 2 | 3 | Accessible toolbar for tools, buttons, etc, 4 | 5 | The software is licensed under LGPLv3.0. Please feel free to use it in your application. 6 | 7 | ## Obligatory Screenshot 8 | 9 | Here is a screenshot of the sample project, running it "out of the box" 10 | 11 | ![alt Screenshot](http://www.schazm.com/resources/ToolbarView.png "Screenshot") 12 | 13 | 14 | -------------------------------------------------------------------------------- /README.markdown~: -------------------------------------------------------------------------------- 1 | ## SlideRule 2 | 3 | SlideRule is a custom UI widget that allows you to have a "slider-like" object 4 | that can extend beyond the bounds of your window. 5 | 6 | ## Code Sample 7 | 8 | First Example - creates a simple Slide Rule with default parameters. 9 | 10 | 11 | 12 | SlideRuleControlView * slideRuler = [[SlideRuleControlView alloc] initWithFrame:CGRectMake(10, 150, 300, 50)]; 13 | CustomSliderTheme * theme = [CustomSliderTheme buildTheme:kCSThemeWhite]; 14 | [view addSubview:slideRuler]; 15 | [slideRuler applyTheme:theme]; 16 | [slideRuler release]; 17 | 18 | 19 | 20 | But more realistically, you might want a label to display the value, set parameters, 21 | and of course apply a theme to the sliderule. 22 | 23 | 24 | 25 | 26 | SlideRuleControlView * slideRuler = [[SlideRuleControlView alloc] initWithFrame:CGRectMake(10, 150, 300, 50) params:parms]; 27 | CustomSliderTheme * theme = [CustomSliderTheme buildTheme:kCSThemeWhite]; 28 | [view addSubview:slideRuler]; 29 | [slideRuler applyTheme:theme]; 30 | 31 | 32 | SlideLabel * label = [[SlideLabel alloc] initWithFrame:CGRectMake(10, 200, 300, 30)]; 33 | [view addSubview:label]; 34 | [label setTextColor:[UIColor lightGrayColor]]; 35 | [slideRuler setSlideDelegate:label]; 36 | [label release]; 37 | 38 | // update our parameters to change the second slide rule 39 | parms->minValue = 100.0f; 40 | parms->maxValue = 400.0f; 41 | 42 | SlideRuleControlView * secondSlider = [[SlideRuleControlView alloc] initWithFrame:CGRectMake(10, 300, 300, 50) params:parms]; 43 | [view addSubview:secondSlider]; 44 | [secondSlider setCurrentValue:150.0]; 45 | [secondSlider release]; 46 | 47 | 48 | 49 | ## Obligatory Screenshot 50 | 51 | Here is a screenshot of the sample project, running it "out of the box" 52 | 53 | ![alt Screenshot](http://www.schazm.com/resources/Screenshot.png "Screenshot") 54 | 55 | 56 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 791AACE613D3290500ADD2D2 /* ToolDrawerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 791AACE513D3290500ADD2D2 /* ToolDrawerView.m */; }; 11 | 79745BA113D31E800065EF70 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79745BA013D31E800065EF70 /* UIKit.framework */; }; 12 | 79745BA313D31E800065EF70 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79745BA213D31E800065EF70 /* Foundation.framework */; }; 13 | 79745BA513D31E800065EF70 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79745BA413D31E800065EF70 /* CoreGraphics.framework */; }; 14 | 79745BAB13D31E800065EF70 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 79745BA913D31E800065EF70 /* InfoPlist.strings */; }; 15 | 79745BAD13D31E800065EF70 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 79745BAC13D31E800065EF70 /* main.m */; }; 16 | 79745BB113D31E800065EF70 /* ToolDrawerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 79745BB013D31E800065EF70 /* ToolDrawerAppDelegate.m */; }; 17 | 79745BB413D31E800065EF70 /* ToolDrawerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 79745BB313D31E800065EF70 /* ToolDrawerViewController.m */; }; 18 | 79745BB713D31E800065EF70 /* ToolDrawerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 79745BB513D31E800065EF70 /* ToolDrawerViewController.xib */; }; 19 | /* End PBXBuildFile section */ 20 | 21 | /* Begin PBXFileReference section */ 22 | 791AACE413D3290500ADD2D2 /* ToolDrawerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToolDrawerView.h; sourceTree = SOURCE_ROOT; }; 23 | 791AACE513D3290500ADD2D2 /* ToolDrawerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ToolDrawerView.m; sourceTree = SOURCE_ROOT; }; 24 | 79745B9C13D31E800065EF70 /* ToolDrawer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ToolDrawer.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25 | 79745BA013D31E800065EF70 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 26 | 79745BA213D31E800065EF70 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 27 | 79745BA413D31E800065EF70 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 28 | 79745BA813D31E800065EF70 /* ToolDrawer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ToolDrawer-Info.plist"; sourceTree = ""; }; 29 | 79745BAA13D31E800065EF70 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 30 | 79745BAC13D31E800065EF70 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 31 | 79745BAE13D31E800065EF70 /* ToolDrawer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ToolDrawer-Prefix.pch"; sourceTree = ""; }; 32 | 79745BAF13D31E800065EF70 /* ToolDrawerAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ToolDrawerAppDelegate.h; sourceTree = ""; }; 33 | 79745BB013D31E800065EF70 /* ToolDrawerAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ToolDrawerAppDelegate.m; sourceTree = ""; }; 34 | 79745BB213D31E800065EF70 /* ToolDrawerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ToolDrawerViewController.h; sourceTree = ""; }; 35 | 79745BB313D31E800065EF70 /* ToolDrawerViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ToolDrawerViewController.m; sourceTree = ""; }; 36 | 79745BB613D31E800065EF70 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ToolDrawerViewController.xib; sourceTree = ""; }; 37 | /* End PBXFileReference section */ 38 | 39 | /* Begin PBXFrameworksBuildPhase section */ 40 | 79745B9913D31E800065EF70 /* Frameworks */ = { 41 | isa = PBXFrameworksBuildPhase; 42 | buildActionMask = 2147483647; 43 | files = ( 44 | 79745BA113D31E800065EF70 /* UIKit.framework in Frameworks */, 45 | 79745BA313D31E800065EF70 /* Foundation.framework in Frameworks */, 46 | 79745BA513D31E800065EF70 /* CoreGraphics.framework in Frameworks */, 47 | ); 48 | runOnlyForDeploymentPostprocessing = 0; 49 | }; 50 | /* End PBXFrameworksBuildPhase section */ 51 | 52 | /* Begin PBXGroup section */ 53 | 79745B9113D31E800065EF70 = { 54 | isa = PBXGroup; 55 | children = ( 56 | 79745BA613D31E800065EF70 /* ToolDrawer */, 57 | 79745B9F13D31E800065EF70 /* Frameworks */, 58 | 79745B9D13D31E800065EF70 /* Products */, 59 | ); 60 | sourceTree = ""; 61 | }; 62 | 79745B9D13D31E800065EF70 /* Products */ = { 63 | isa = PBXGroup; 64 | children = ( 65 | 79745B9C13D31E800065EF70 /* ToolDrawer.app */, 66 | ); 67 | name = Products; 68 | sourceTree = ""; 69 | }; 70 | 79745B9F13D31E800065EF70 /* Frameworks */ = { 71 | isa = PBXGroup; 72 | children = ( 73 | 79745BA013D31E800065EF70 /* UIKit.framework */, 74 | 79745BA213D31E800065EF70 /* Foundation.framework */, 75 | 79745BA413D31E800065EF70 /* CoreGraphics.framework */, 76 | ); 77 | name = Frameworks; 78 | sourceTree = ""; 79 | }; 80 | 79745BA613D31E800065EF70 /* ToolDrawer */ = { 81 | isa = PBXGroup; 82 | children = ( 83 | 79745BAF13D31E800065EF70 /* ToolDrawerAppDelegate.h */, 84 | 79745BB013D31E800065EF70 /* ToolDrawerAppDelegate.m */, 85 | 79745BB213D31E800065EF70 /* ToolDrawerViewController.h */, 86 | 79745BB313D31E800065EF70 /* ToolDrawerViewController.m */, 87 | 79745BB513D31E800065EF70 /* ToolDrawerViewController.xib */, 88 | 791AACE413D3290500ADD2D2 /* ToolDrawerView.h */, 89 | 791AACE513D3290500ADD2D2 /* ToolDrawerView.m */, 90 | 79745BA713D31E800065EF70 /* Supporting Files */, 91 | ); 92 | path = ToolDrawer; 93 | sourceTree = ""; 94 | }; 95 | 79745BA713D31E800065EF70 /* Supporting Files */ = { 96 | isa = PBXGroup; 97 | children = ( 98 | 79745BA813D31E800065EF70 /* ToolDrawer-Info.plist */, 99 | 79745BA913D31E800065EF70 /* InfoPlist.strings */, 100 | 79745BAC13D31E800065EF70 /* main.m */, 101 | 79745BAE13D31E800065EF70 /* ToolDrawer-Prefix.pch */, 102 | ); 103 | name = "Supporting Files"; 104 | sourceTree = ""; 105 | }; 106 | /* End PBXGroup section */ 107 | 108 | /* Begin PBXNativeTarget section */ 109 | 79745B9B13D31E800065EF70 /* ToolDrawer */ = { 110 | isa = PBXNativeTarget; 111 | buildConfigurationList = 79745BBA13D31E800065EF70 /* Build configuration list for PBXNativeTarget "ToolDrawer" */; 112 | buildPhases = ( 113 | 79745B9813D31E800065EF70 /* Sources */, 114 | 79745B9913D31E800065EF70 /* Frameworks */, 115 | 79745B9A13D31E800065EF70 /* Resources */, 116 | ); 117 | buildRules = ( 118 | ); 119 | dependencies = ( 120 | ); 121 | name = ToolDrawer; 122 | productName = ToolDrawer; 123 | productReference = 79745B9C13D31E800065EF70 /* ToolDrawer.app */; 124 | productType = "com.apple.product-type.application"; 125 | }; 126 | /* End PBXNativeTarget section */ 127 | 128 | /* Begin PBXProject section */ 129 | 79745B9313D31E800065EF70 /* Project object */ = { 130 | isa = PBXProject; 131 | attributes = { 132 | LastUpgradeCheck = 0420; 133 | ORGANIZATIONNAME = "Ayal Spitz"; 134 | }; 135 | buildConfigurationList = 79745B9613D31E800065EF70 /* Build configuration list for PBXProject "ToolDrawer" */; 136 | compatibilityVersion = "Xcode 3.2"; 137 | developmentRegion = English; 138 | hasScannedForEncodings = 0; 139 | knownRegions = ( 140 | en, 141 | ); 142 | mainGroup = 79745B9113D31E800065EF70; 143 | productRefGroup = 79745B9D13D31E800065EF70 /* Products */; 144 | projectDirPath = ""; 145 | projectRoot = ""; 146 | targets = ( 147 | 79745B9B13D31E800065EF70 /* ToolDrawer */, 148 | ); 149 | }; 150 | /* End PBXProject section */ 151 | 152 | /* Begin PBXResourcesBuildPhase section */ 153 | 79745B9A13D31E800065EF70 /* Resources */ = { 154 | isa = PBXResourcesBuildPhase; 155 | buildActionMask = 2147483647; 156 | files = ( 157 | 79745BAB13D31E800065EF70 /* InfoPlist.strings in Resources */, 158 | 79745BB713D31E800065EF70 /* ToolDrawerViewController.xib in Resources */, 159 | ); 160 | runOnlyForDeploymentPostprocessing = 0; 161 | }; 162 | /* End PBXResourcesBuildPhase section */ 163 | 164 | /* Begin PBXSourcesBuildPhase section */ 165 | 79745B9813D31E800065EF70 /* Sources */ = { 166 | isa = PBXSourcesBuildPhase; 167 | buildActionMask = 2147483647; 168 | files = ( 169 | 79745BAD13D31E800065EF70 /* main.m in Sources */, 170 | 79745BB113D31E800065EF70 /* ToolDrawerAppDelegate.m in Sources */, 171 | 79745BB413D31E800065EF70 /* ToolDrawerViewController.m in Sources */, 172 | 791AACE613D3290500ADD2D2 /* ToolDrawerView.m in Sources */, 173 | ); 174 | runOnlyForDeploymentPostprocessing = 0; 175 | }; 176 | /* End PBXSourcesBuildPhase section */ 177 | 178 | /* Begin PBXVariantGroup section */ 179 | 79745BA913D31E800065EF70 /* InfoPlist.strings */ = { 180 | isa = PBXVariantGroup; 181 | children = ( 182 | 79745BAA13D31E800065EF70 /* en */, 183 | ); 184 | name = InfoPlist.strings; 185 | sourceTree = ""; 186 | }; 187 | 79745BB513D31E800065EF70 /* ToolDrawerViewController.xib */ = { 188 | isa = PBXVariantGroup; 189 | children = ( 190 | 79745BB613D31E800065EF70 /* en */, 191 | ); 192 | name = ToolDrawerViewController.xib; 193 | sourceTree = ""; 194 | }; 195 | /* End PBXVariantGroup section */ 196 | 197 | /* Begin XCBuildConfiguration section */ 198 | 79745BB813D31E800065EF70 /* Debug */ = { 199 | isa = XCBuildConfiguration; 200 | buildSettings = { 201 | ALWAYS_SEARCH_USER_PATHS = NO; 202 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 203 | CLANG_ENABLE_OBJC_ARC = YES; 204 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 205 | COPY_PHASE_STRIP = NO; 206 | GCC_C_LANGUAGE_STANDARD = gnu99; 207 | GCC_DYNAMIC_NO_PIC = NO; 208 | GCC_OPTIMIZATION_LEVEL = 0; 209 | GCC_PREPROCESSOR_DEFINITIONS = ( 210 | "DEBUG=1", 211 | "$(inherited)", 212 | ); 213 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 214 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 215 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 216 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 217 | GCC_WARN_UNUSED_VARIABLE = YES; 218 | IPHONEOS_DEPLOYMENT_TARGET = 5.0; 219 | SDKROOT = iphoneos; 220 | }; 221 | name = Debug; 222 | }; 223 | 79745BB913D31E800065EF70 /* Release */ = { 224 | isa = XCBuildConfiguration; 225 | buildSettings = { 226 | ALWAYS_SEARCH_USER_PATHS = NO; 227 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 228 | CLANG_ENABLE_OBJC_ARC = YES; 229 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 230 | COPY_PHASE_STRIP = YES; 231 | GCC_C_LANGUAGE_STANDARD = gnu99; 232 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 233 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 234 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 235 | GCC_WARN_UNUSED_VARIABLE = YES; 236 | IPHONEOS_DEPLOYMENT_TARGET = 5.0; 237 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 238 | SDKROOT = iphoneos; 239 | VALIDATE_PRODUCT = YES; 240 | }; 241 | name = Release; 242 | }; 243 | 79745BBB13D31E800065EF70 /* Debug */ = { 244 | isa = XCBuildConfiguration; 245 | buildSettings = { 246 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 247 | GCC_PREFIX_HEADER = "ToolDrawer/ToolDrawer-Prefix.pch"; 248 | INFOPLIST_FILE = "ToolDrawer/ToolDrawer-Info.plist"; 249 | IPHONEOS_DEPLOYMENT_TARGET = 4.0; 250 | PRODUCT_NAME = "$(TARGET_NAME)"; 251 | WRAPPER_EXTENSION = app; 252 | }; 253 | name = Debug; 254 | }; 255 | 79745BBC13D31E800065EF70 /* Release */ = { 256 | isa = XCBuildConfiguration; 257 | buildSettings = { 258 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 259 | GCC_PREFIX_HEADER = "ToolDrawer/ToolDrawer-Prefix.pch"; 260 | INFOPLIST_FILE = "ToolDrawer/ToolDrawer-Info.plist"; 261 | IPHONEOS_DEPLOYMENT_TARGET = 4.0; 262 | PRODUCT_NAME = "$(TARGET_NAME)"; 263 | WRAPPER_EXTENSION = app; 264 | }; 265 | name = Release; 266 | }; 267 | /* End XCBuildConfiguration section */ 268 | 269 | /* Begin XCConfigurationList section */ 270 | 79745B9613D31E800065EF70 /* Build configuration list for PBXProject "ToolDrawer" */ = { 271 | isa = XCConfigurationList; 272 | buildConfigurations = ( 273 | 79745BB813D31E800065EF70 /* Debug */, 274 | 79745BB913D31E800065EF70 /* Release */, 275 | ); 276 | defaultConfigurationIsVisible = 0; 277 | defaultConfigurationName = Release; 278 | }; 279 | 79745BBA13D31E800065EF70 /* Build configuration list for PBXNativeTarget "ToolDrawer" */ = { 280 | isa = XCConfigurationList; 281 | buildConfigurations = ( 282 | 79745BBB13D31E800065EF70 /* Debug */, 283 | 79745BBC13D31E800065EF70 /* Release */, 284 | ); 285 | defaultConfigurationIsVisible = 0; 286 | defaultConfigurationName = Release; 287 | }; 288 | /* End XCConfigurationList section */ 289 | }; 290 | rootObject = 79745B9313D31E800065EF70 /* Project object */; 291 | } 292 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/project.xcworkspace/xcuserdata/aspitz.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 6 | 7 | IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/project.xcworkspace/xcuserdata/jcarlson.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $archiver 6 | NSKeyedArchiver 7 | $objects 8 | 9 | $null 10 | 11 | $class 12 | 13 | CF$UID 14 | 58 15 | 16 | NS.keys 17 | 18 | 19 | CF$UID 20 | 2 21 | 22 | 23 | CF$UID 24 | 3 25 | 26 | 27 | NS.objects 28 | 29 | 30 | CF$UID 31 | 4 32 | 33 | 34 | CF$UID 35 | 209 36 | 37 | 38 | 39 | IDEWorkspaceDocument 40 | 80F32949-B84C-4E55-AD74-7BEE6EF560D5 41 | 42 | $class 43 | 44 | CF$UID 45 | 44 46 | 47 | NS.keys 48 | 49 | 50 | CF$UID 51 | 5 52 | 53 | 54 | CF$UID 55 | 6 56 | 57 | 58 | CF$UID 59 | 7 60 | 61 | 62 | CF$UID 63 | 8 64 | 65 | 66 | CF$UID 67 | 9 68 | 69 | 70 | CF$UID 71 | 10 72 | 73 | 74 | CF$UID 75 | 11 76 | 77 | 78 | CF$UID 79 | 12 80 | 81 | 82 | CF$UID 83 | 13 84 | 85 | 86 | CF$UID 87 | 14 88 | 89 | 90 | NS.objects 91 | 92 | 93 | CF$UID 94 | 15 95 | 96 | 97 | CF$UID 98 | 16 99 | 100 | 101 | CF$UID 102 | 146 103 | 104 | 105 | CF$UID 106 | 147 107 | 108 | 109 | CF$UID 110 | 150 111 | 112 | 113 | CF$UID 114 | 155 115 | 116 | 117 | CF$UID 118 | 188 119 | 120 | 121 | CF$UID 122 | 189 123 | 124 | 125 | CF$UID 126 | 116 127 | 128 | 129 | CF$UID 130 | 116 131 | 132 | 133 | 134 | BreakpointsActivated 135 | DefaultEditorStatesForURLs 136 | DebuggingWindowBehavior 137 | ActiveScheme 138 | ActiveRunDestination 139 | LastCompletedPersistentSchemeBasedActivityReport 140 | DocumentWindows 141 | RecentEditorDocumentURLs 142 | AppFocusInMiniDebugging 143 | MiniDebuggingConsole 144 | 145 | 146 | $class 147 | 148 | CF$UID 149 | 44 150 | 151 | NS.keys 152 | 153 | 154 | CF$UID 155 | 17 156 | 157 | 158 | CF$UID 159 | 18 160 | 161 | 162 | CF$UID 163 | 19 164 | 165 | 166 | NS.objects 167 | 168 | 169 | CF$UID 170 | 20 171 | 172 | 173 | CF$UID 174 | 74 175 | 176 | 177 | CF$UID 178 | 92 179 | 180 | 181 | 182 | Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project 183 | Xcode.IDEKit.CocoaTouchIntegration.EditorDocument.CocoaTouch 184 | Xcode.IDEKit.EditorDocument.SourceCode 185 | 186 | $class 187 | 188 | CF$UID 189 | 44 190 | 191 | NS.keys 192 | 193 | 194 | CF$UID 195 | 21 196 | 197 | 198 | NS.objects 199 | 200 | 201 | CF$UID 202 | 25 203 | 204 | 205 | 206 | 207 | $class 208 | 209 | CF$UID 210 | 24 211 | 212 | NS.base 213 | 214 | CF$UID 215 | 0 216 | 217 | NS.relative 218 | 219 | CF$UID 220 | 22 221 | 222 | 223 | 224 | $class 225 | 226 | CF$UID 227 | 23 228 | 229 | NS.string 230 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer.xcodeproj/ 231 | 232 | 233 | $classes 234 | 235 | NSMutableString 236 | NSString 237 | NSObject 238 | 239 | $classname 240 | NSMutableString 241 | 242 | 243 | $classes 244 | 245 | NSURL 246 | NSObject 247 | 248 | $classname 249 | NSURL 250 | 251 | 252 | $class 253 | 254 | CF$UID 255 | 44 256 | 257 | NS.keys 258 | 259 | 260 | CF$UID 261 | 26 262 | 263 | 264 | CF$UID 265 | 27 266 | 267 | 268 | CF$UID 269 | 28 270 | 271 | 272 | CF$UID 273 | 29 274 | 275 | 276 | CF$UID 277 | 30 278 | 279 | 280 | CF$UID 281 | 31 282 | 283 | 284 | CF$UID 285 | 32 286 | 287 | 288 | NS.objects 289 | 290 | 291 | CF$UID 292 | 33 293 | 294 | 295 | CF$UID 296 | 34 297 | 298 | 299 | CF$UID 300 | 51 301 | 302 | 303 | CF$UID 304 | 62 305 | 306 | 307 | CF$UID 308 | 63 309 | 310 | 311 | CF$UID 312 | 64 313 | 314 | 315 | CF$UID 316 | 73 317 | 318 | 319 | 320 | Xcode3ProjectEditorPreviousProjectEditorClass 321 | Xcode3ProjectEditor_Xcode3BuildPhasesEditor 322 | Xcode3ProjectEditor.sourceList.splitview 323 | Xcode3ProjectEditorPreviousTargetEditorClass 324 | Xcode3ProjectEditor_Xcode3BuildSettingsEditor 325 | Xcode3ProjectEditorSelectedDocumentLocations 326 | Xcode3ProjectEditor_Xcode3TargetEditor 327 | Xcode3BuildSettingsEditor 328 | 329 | $class 330 | 331 | CF$UID 332 | 44 333 | 334 | NS.keys 335 | 336 | 337 | CF$UID 338 | 35 339 | 340 | 341 | CF$UID 342 | 36 343 | 344 | 345 | CF$UID 346 | 37 347 | 348 | 349 | CF$UID 350 | 38 351 | 352 | 353 | CF$UID 354 | 39 355 | 356 | 357 | CF$UID 358 | 40 359 | 360 | 361 | CF$UID 362 | 41 363 | 364 | 365 | NS.objects 366 | 367 | 368 | CF$UID 369 | 42 370 | 371 | 372 | CF$UID 373 | 43 374 | 375 | 376 | CF$UID 377 | 45 378 | 379 | 380 | CF$UID 381 | 46 382 | 383 | 384 | CF$UID 385 | 48 386 | 387 | 388 | CF$UID 389 | 49 390 | 391 | 392 | CF$UID 393 | 50 394 | 395 | 396 | 397 | Xcode3BuildPhasesEditorFilterKey 398 | 79745B9813D31E800065EF70 399 | 79745B9B13D31E800065EF70 400 | Xcode3BuildPhasesEditorDisclosedIndexes 401 | 79745B9913D31E800065EF70 402 | 79745B9A13D31E800065EF70 403 | kXcode3BuildPhasesEditorScrollPointKey 404 | 405 | 406 | $class 407 | 408 | CF$UID 409 | 44 410 | 411 | NS.keys 412 | 413 | NS.objects 414 | 415 | 416 | 417 | $classes 418 | 419 | NSMutableDictionary 420 | NSDictionary 421 | NSObject 422 | 423 | $classname 424 | NSMutableDictionary 425 | 426 | 427 | $class 428 | 429 | CF$UID 430 | 44 431 | 432 | NS.keys 433 | 434 | NS.objects 435 | 436 | 437 | 438 | $class 439 | 440 | CF$UID 441 | 47 442 | 443 | NS.objects 444 | 445 | 446 | 447 | $classes 448 | 449 | NSArray 450 | NSObject 451 | 452 | $classname 453 | NSArray 454 | 455 | 456 | $class 457 | 458 | CF$UID 459 | 44 460 | 461 | NS.keys 462 | 463 | NS.objects 464 | 465 | 466 | 467 | $class 468 | 469 | CF$UID 470 | 44 471 | 472 | NS.keys 473 | 474 | NS.objects 475 | 476 | 477 | {0, 0} 478 | 479 | $class 480 | 481 | CF$UID 482 | 44 483 | 484 | NS.keys 485 | 486 | 487 | CF$UID 488 | 52 489 | 490 | 491 | NS.objects 492 | 493 | 494 | CF$UID 495 | 53 496 | 497 | 498 | 499 | DVTSplitViewItems 500 | 501 | $class 502 | 503 | CF$UID 504 | 61 505 | 506 | NS.objects 507 | 508 | 509 | CF$UID 510 | 54 511 | 512 | 513 | CF$UID 514 | 59 515 | 516 | 517 | 518 | 519 | $class 520 | 521 | CF$UID 522 | 58 523 | 524 | NS.keys 525 | 526 | 527 | CF$UID 528 | 55 529 | 530 | 531 | CF$UID 532 | 56 533 | 534 | 535 | NS.objects 536 | 537 | 538 | CF$UID 539 | 42 540 | 541 | 542 | CF$UID 543 | 57 544 | 545 | 546 | 547 | DVTIdentifier 548 | DVTViewMagnitude 549 | 170 550 | 551 | $classes 552 | 553 | NSDictionary 554 | NSObject 555 | 556 | $classname 557 | NSDictionary 558 | 559 | 560 | $class 561 | 562 | CF$UID 563 | 58 564 | 565 | NS.keys 566 | 567 | 568 | CF$UID 569 | 55 570 | 571 | 572 | CF$UID 573 | 56 574 | 575 | 576 | NS.objects 577 | 578 | 579 | CF$UID 580 | 42 581 | 582 | 583 | CF$UID 584 | 60 585 | 586 | 587 | 588 | 936 589 | 590 | $classes 591 | 592 | NSMutableArray 593 | NSArray 594 | NSObject 595 | 596 | $classname 597 | NSMutableArray 598 | 599 | Xcode3TargetEditor 600 | 601 | $class 602 | 603 | CF$UID 604 | 44 605 | 606 | NS.keys 607 | 608 | NS.objects 609 | 610 | 611 | 612 | $class 613 | 614 | CF$UID 615 | 47 616 | 617 | NS.objects 618 | 619 | 620 | CF$UID 621 | 65 622 | 623 | 624 | 625 | 626 | $class 627 | 628 | CF$UID 629 | 72 630 | 631 | documentURL 632 | 633 | CF$UID 634 | 66 635 | 636 | selection 637 | 638 | CF$UID 639 | 68 640 | 641 | timestamp 642 | 643 | CF$UID 644 | 67 645 | 646 | 647 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer.xcodeproj/ 648 | 332619024.504426 649 | 650 | $class 651 | 652 | CF$UID 653 | 44 654 | 655 | NS.keys 656 | 657 | 658 | CF$UID 659 | 69 660 | 661 | 662 | CF$UID 663 | 70 664 | 665 | 666 | NS.objects 667 | 668 | 669 | CF$UID 670 | 62 671 | 672 | 673 | CF$UID 674 | 71 675 | 676 | 677 | 678 | Editor 679 | Target 680 | ToolDrawer 681 | 682 | $classes 683 | 684 | Xcode3ProjectDocumentLocation 685 | DVTDocumentLocation 686 | NSObject 687 | 688 | $classname 689 | Xcode3ProjectDocumentLocation 690 | 691 | 692 | $class 693 | 694 | CF$UID 695 | 44 696 | 697 | NS.keys 698 | 699 | NS.objects 700 | 701 | 702 | 703 | $class 704 | 705 | CF$UID 706 | 44 707 | 708 | NS.keys 709 | 710 | 711 | CF$UID 712 | 75 713 | 714 | 715 | NS.objects 716 | 717 | 718 | CF$UID 719 | 77 720 | 721 | 722 | 723 | 724 | $class 725 | 726 | CF$UID 727 | 24 728 | 729 | NS.base 730 | 731 | CF$UID 732 | 0 733 | 734 | NS.relative 735 | 736 | CF$UID 737 | 76 738 | 739 | 740 | 741 | $class 742 | 743 | CF$UID 744 | 23 745 | 746 | NS.string 747 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/en.lproj/ToolDrawerViewController.xib 748 | 749 | 750 | $class 751 | 752 | CF$UID 753 | 44 754 | 755 | NS.keys 756 | 757 | 758 | CF$UID 759 | 78 760 | 761 | 762 | CF$UID 763 | 79 764 | 765 | 766 | CF$UID 767 | 80 768 | 769 | 770 | CF$UID 771 | 81 772 | 773 | 774 | NS.objects 775 | 776 | 777 | CF$UID 778 | 82 779 | 780 | 781 | CF$UID 782 | 85 783 | 784 | 785 | CF$UID 786 | 81 787 | 788 | 789 | CF$UID 790 | 87 791 | 792 | 793 | 794 | IBDockViewController 795 | SelectedObjectIDs 796 | SelectionProvider 797 | IBCanvasViewController 798 | 799 | $class 800 | 801 | CF$UID 802 | 44 803 | 804 | NS.keys 805 | 806 | 807 | CF$UID 808 | 83 809 | 810 | 811 | NS.objects 812 | 813 | 814 | CF$UID 815 | 84 816 | 817 | 818 | 819 | LastKnownOutlineViewWidth 820 | 270 821 | 822 | $class 823 | 824 | CF$UID 825 | 61 826 | 827 | NS.objects 828 | 829 | 830 | CF$UID 831 | 86 832 | 833 | 834 | 835 | 6 836 | 837 | $class 838 | 839 | CF$UID 840 | 44 841 | 842 | NS.keys 843 | 844 | 845 | CF$UID 846 | 88 847 | 848 | 849 | CF$UID 850 | 89 851 | 852 | 853 | NS.objects 854 | 855 | 856 | CF$UID 857 | 90 858 | 859 | 860 | CF$UID 861 | 91 862 | 863 | 864 | 865 | ObjectIDToLastKnownCanvasPositionMap 866 | EditedTopLevelObjectIDs 867 | 868 | $class 869 | 870 | CF$UID 871 | 44 872 | 873 | NS.keys 874 | 875 | NS.objects 876 | 877 | 878 | 879 | $class 880 | 881 | CF$UID 882 | 61 883 | 884 | NS.objects 885 | 886 | 887 | CF$UID 888 | 86 889 | 890 | 891 | 892 | 893 | $class 894 | 895 | CF$UID 896 | 44 897 | 898 | NS.keys 899 | 900 | 901 | CF$UID 902 | 93 903 | 904 | 905 | CF$UID 906 | 95 907 | 908 | 909 | CF$UID 910 | 97 911 | 912 | 913 | CF$UID 914 | 99 915 | 916 | 917 | CF$UID 918 | 101 919 | 920 | 921 | CF$UID 922 | 103 923 | 924 | 925 | CF$UID 926 | 105 927 | 928 | 929 | CF$UID 930 | 107 931 | 932 | 933 | NS.objects 934 | 935 | 936 | CF$UID 937 | 109 938 | 939 | 940 | CF$UID 941 | 117 942 | 943 | 944 | CF$UID 945 | 120 946 | 947 | 948 | CF$UID 949 | 123 950 | 951 | 952 | CF$UID 953 | 127 954 | 955 | 956 | CF$UID 957 | 135 958 | 959 | 960 | CF$UID 961 | 139 962 | 963 | 964 | CF$UID 965 | 142 966 | 967 | 968 | 969 | 970 | $class 971 | 972 | CF$UID 973 | 24 974 | 975 | NS.base 976 | 977 | CF$UID 978 | 0 979 | 980 | NS.relative 981 | 982 | CF$UID 983 | 94 984 | 985 | 986 | 987 | $class 988 | 989 | CF$UID 990 | 23 991 | 992 | NS.string 993 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/en.lproj/InfoPlist.strings 994 | 995 | 996 | $class 997 | 998 | CF$UID 999 | 24 1000 | 1001 | NS.base 1002 | 1003 | CF$UID 1004 | 0 1005 | 1006 | NS.relative 1007 | 1008 | CF$UID 1009 | 96 1010 | 1011 | 1012 | 1013 | $class 1014 | 1015 | CF$UID 1016 | 23 1017 | 1018 | NS.string 1019 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerViewController.m 1020 | 1021 | 1022 | $class 1023 | 1024 | CF$UID 1025 | 24 1026 | 1027 | NS.base 1028 | 1029 | CF$UID 1030 | 0 1031 | 1032 | NS.relative 1033 | 1034 | CF$UID 1035 | 98 1036 | 1037 | 1038 | 1039 | $class 1040 | 1041 | CF$UID 1042 | 23 1043 | 1044 | NS.string 1045 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerViewController.h 1046 | 1047 | 1048 | $class 1049 | 1050 | CF$UID 1051 | 24 1052 | 1053 | NS.base 1054 | 1055 | CF$UID 1056 | 0 1057 | 1058 | NS.relative 1059 | 1060 | CF$UID 1061 | 100 1062 | 1063 | 1064 | 1065 | $class 1066 | 1067 | CF$UID 1068 | 23 1069 | 1070 | NS.string 1071 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerAppDelegate.h 1072 | 1073 | 1074 | $class 1075 | 1076 | CF$UID 1077 | 24 1078 | 1079 | NS.base 1080 | 1081 | CF$UID 1082 | 0 1083 | 1084 | NS.relative 1085 | 1086 | CF$UID 1087 | 102 1088 | 1089 | 1090 | 1091 | $class 1092 | 1093 | CF$UID 1094 | 23 1095 | 1096 | NS.string 1097 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawerView.h 1098 | 1099 | 1100 | $class 1101 | 1102 | CF$UID 1103 | 24 1104 | 1105 | NS.base 1106 | 1107 | CF$UID 1108 | 0 1109 | 1110 | NS.relative 1111 | 1112 | CF$UID 1113 | 104 1114 | 1115 | 1116 | 1117 | $class 1118 | 1119 | CF$UID 1120 | 23 1121 | 1122 | NS.string 1123 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawerView.m 1124 | 1125 | 1126 | $class 1127 | 1128 | CF$UID 1129 | 24 1130 | 1131 | NS.base 1132 | 1133 | CF$UID 1134 | 0 1135 | 1136 | NS.relative 1137 | 1138 | CF$UID 1139 | 106 1140 | 1141 | 1142 | 1143 | $class 1144 | 1145 | CF$UID 1146 | 23 1147 | 1148 | NS.string 1149 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/main.m 1150 | 1151 | 1152 | $class 1153 | 1154 | CF$UID 1155 | 24 1156 | 1157 | NS.base 1158 | 1159 | CF$UID 1160 | 0 1161 | 1162 | NS.relative 1163 | 1164 | CF$UID 1165 | 108 1166 | 1167 | 1168 | 1169 | $class 1170 | 1171 | CF$UID 1172 | 23 1173 | 1174 | NS.string 1175 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerAppDelegate.m 1176 | 1177 | 1178 | $class 1179 | 1180 | CF$UID 1181 | 44 1182 | 1183 | NS.keys 1184 | 1185 | 1186 | CF$UID 1187 | 110 1188 | 1189 | 1190 | CF$UID 1191 | 111 1192 | 1193 | 1194 | CF$UID 1195 | 112 1196 | 1197 | 1198 | CF$UID 1199 | 113 1200 | 1201 | 1202 | NS.objects 1203 | 1204 | 1205 | CF$UID 1206 | 114 1207 | 1208 | 1209 | CF$UID 1210 | 115 1211 | 1212 | 1213 | CF$UID 1214 | 116 1215 | 1216 | 1217 | CF$UID 1218 | 50 1219 | 1220 | 1221 | 1222 | PrimaryDocumentTimestamp 1223 | PrimaryDocumentVisibleCharacterRange 1224 | HideAllIssues 1225 | PrimaryDocumentSelectedCharacterRange 1226 | 332619263.71352601 1227 | {0, 45} 1228 | 1229 | 1230 | $class 1231 | 1232 | CF$UID 1233 | 44 1234 | 1235 | NS.keys 1236 | 1237 | 1238 | CF$UID 1239 | 110 1240 | 1241 | 1242 | CF$UID 1243 | 111 1244 | 1245 | 1246 | CF$UID 1247 | 112 1248 | 1249 | 1250 | CF$UID 1251 | 113 1252 | 1253 | 1254 | NS.objects 1255 | 1256 | 1257 | CF$UID 1258 | 118 1259 | 1260 | 1261 | CF$UID 1262 | 119 1263 | 1264 | 1265 | CF$UID 1266 | 116 1267 | 1268 | 1269 | CF$UID 1270 | 50 1271 | 1272 | 1273 | 1274 | 332619051.69120502 1275 | {0, 1483} 1276 | 1277 | $class 1278 | 1279 | CF$UID 1280 | 44 1281 | 1282 | NS.keys 1283 | 1284 | 1285 | CF$UID 1286 | 110 1287 | 1288 | 1289 | CF$UID 1290 | 111 1291 | 1292 | 1293 | CF$UID 1294 | 112 1295 | 1296 | 1297 | CF$UID 1298 | 113 1299 | 1300 | 1301 | NS.objects 1302 | 1303 | 1304 | CF$UID 1305 | 121 1306 | 1307 | 1308 | CF$UID 1309 | 122 1310 | 1311 | 1312 | CF$UID 1313 | 116 1314 | 1315 | 1316 | CF$UID 1317 | 50 1318 | 1319 | 1320 | 1321 | 332619048.92232001 1322 | {0, 217} 1323 | 1324 | $class 1325 | 1326 | CF$UID 1327 | 44 1328 | 1329 | NS.keys 1330 | 1331 | 1332 | CF$UID 1333 | 110 1334 | 1335 | 1336 | CF$UID 1337 | 111 1338 | 1339 | 1340 | CF$UID 1341 | 112 1342 | 1343 | 1344 | CF$UID 1345 | 113 1346 | 1347 | 1348 | NS.objects 1349 | 1350 | 1351 | CF$UID 1352 | 124 1353 | 1354 | 1355 | CF$UID 1356 | 125 1357 | 1358 | 1359 | CF$UID 1360 | 116 1361 | 1362 | 1363 | CF$UID 1364 | 126 1365 | 1366 | 1367 | 1368 | 332619052.48785001 1369 | {0, 386} 1370 | {325, 0} 1371 | 1372 | $class 1373 | 1374 | CF$UID 1375 | 44 1376 | 1377 | NS.keys 1378 | 1379 | 1380 | CF$UID 1381 | 128 1382 | 1383 | 1384 | CF$UID 1385 | 129 1386 | 1387 | 1388 | CF$UID 1389 | 130 1390 | 1391 | 1392 | CF$UID 1393 | 131 1394 | 1395 | 1396 | NS.objects 1397 | 1398 | 1399 | CF$UID 1400 | 132 1401 | 1402 | 1403 | CF$UID 1404 | 133 1405 | 1406 | 1407 | CF$UID 1408 | 116 1409 | 1410 | 1411 | CF$UID 1412 | 134 1413 | 1414 | 1415 | 1416 | PrimaryDocumentTimestamp 1417 | PrimaryDocumentVisibleCharacterRange 1418 | HideAllIssues 1419 | PrimaryDocumentSelectedCharacterRange 1420 | 332629095.86801702 1421 | {3, 696} 1422 | {121, 24} 1423 | 1424 | $class 1425 | 1426 | CF$UID 1427 | 44 1428 | 1429 | NS.keys 1430 | 1431 | 1432 | CF$UID 1433 | 128 1434 | 1435 | 1436 | CF$UID 1437 | 129 1438 | 1439 | 1440 | CF$UID 1441 | 130 1442 | 1443 | 1444 | CF$UID 1445 | 131 1446 | 1447 | 1448 | NS.objects 1449 | 1450 | 1451 | CF$UID 1452 | 136 1453 | 1454 | 1455 | CF$UID 1456 | 137 1457 | 1458 | 1459 | CF$UID 1460 | 116 1461 | 1462 | 1463 | CF$UID 1464 | 138 1465 | 1466 | 1467 | 1468 | 332629272.877621 1469 | {815, 1191} 1470 | {1647, 0} 1471 | 1472 | $class 1473 | 1474 | CF$UID 1475 | 44 1476 | 1477 | NS.keys 1478 | 1479 | 1480 | CF$UID 1481 | 110 1482 | 1483 | 1484 | CF$UID 1485 | 111 1486 | 1487 | 1488 | CF$UID 1489 | 112 1490 | 1491 | 1492 | CF$UID 1493 | 113 1494 | 1495 | 1496 | NS.objects 1497 | 1498 | 1499 | CF$UID 1500 | 140 1501 | 1502 | 1503 | CF$UID 1504 | 141 1505 | 1506 | 1507 | CF$UID 1508 | 116 1509 | 1510 | 1511 | CF$UID 1512 | 50 1513 | 1514 | 1515 | 1516 | 332619300.21175098 1517 | {0, 353} 1518 | 1519 | $class 1520 | 1521 | CF$UID 1522 | 44 1523 | 1524 | NS.keys 1525 | 1526 | 1527 | CF$UID 1528 | 128 1529 | 1530 | 1531 | CF$UID 1532 | 129 1533 | 1534 | 1535 | CF$UID 1536 | 130 1537 | 1538 | 1539 | CF$UID 1540 | 131 1541 | 1542 | 1543 | NS.objects 1544 | 1545 | 1546 | CF$UID 1547 | 143 1548 | 1549 | 1550 | CF$UID 1551 | 144 1552 | 1553 | 1554 | CF$UID 1555 | 116 1556 | 1557 | 1558 | CF$UID 1559 | 145 1560 | 1561 | 1562 | 1563 | 332629095.160631 1564 | {1391, 1103} 1565 | {518, 0} 1566 | 0 1567 | 1568 | $class 1569 | 1570 | CF$UID 1571 | 44 1572 | 1573 | NS.keys 1574 | 1575 | 1576 | CF$UID 1577 | 148 1578 | 1579 | 1580 | NS.objects 1581 | 1582 | 1583 | CF$UID 1584 | 149 1585 | 1586 | 1587 | 1588 | IDENameString 1589 | ToolDrawer 1590 | 1591 | $class 1592 | 1593 | CF$UID 1594 | 44 1595 | 1596 | NS.keys 1597 | 1598 | 1599 | CF$UID 1600 | 151 1601 | 1602 | 1603 | CF$UID 1604 | 152 1605 | 1606 | 1607 | NS.objects 1608 | 1609 | 1610 | CF$UID 1611 | 153 1612 | 1613 | 1614 | CF$UID 1615 | 154 1616 | 1617 | 1618 | 1619 | IDEDeviceLocation 1620 | IDEDeviceArchitecture 1621 | dvtdevice-iphonesimulator:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk-iPhone 1622 | i386 1623 | 1624 | $class 1625 | 1626 | CF$UID 1627 | 44 1628 | 1629 | NS.keys 1630 | 1631 | 1632 | CF$UID 1633 | 156 1634 | 1635 | 1636 | CF$UID 1637 | 157 1638 | 1639 | 1640 | CF$UID 1641 | 158 1642 | 1643 | 1644 | NS.objects 1645 | 1646 | 1647 | CF$UID 1648 | 159 1649 | 1650 | 1651 | CF$UID 1652 | 186 1653 | 1654 | 1655 | CF$UID 1656 | 187 1657 | 1658 | 1659 | 1660 | IDEActivityReportCompletionSummaryStringSegments 1661 | IDEActivityReportOptions 1662 | IDEActivityReportTitle 1663 | 1664 | $class 1665 | 1666 | CF$UID 1667 | 61 1668 | 1669 | NS.objects 1670 | 1671 | 1672 | CF$UID 1673 | 160 1674 | 1675 | 1676 | CF$UID 1677 | 167 1678 | 1679 | 1680 | CF$UID 1681 | 171 1682 | 1683 | 1684 | CF$UID 1685 | 176 1686 | 1687 | 1688 | 1689 | 1690 | $class 1691 | 1692 | CF$UID 1693 | 44 1694 | 1695 | NS.keys 1696 | 1697 | 1698 | CF$UID 1699 | 161 1700 | 1701 | 1702 | CF$UID 1703 | 162 1704 | 1705 | 1706 | CF$UID 1707 | 163 1708 | 1709 | 1710 | NS.objects 1711 | 1712 | 1713 | CF$UID 1714 | 164 1715 | 1716 | 1717 | CF$UID 1718 | 165 1719 | 1720 | 1721 | CF$UID 1722 | 166 1723 | 1724 | 1725 | 1726 | IDEActivityReportStringSegmentPriority 1727 | IDEActivityReportStringSegmentBackSeparator 1728 | IDEActivityReportStringSegmentStringValue 1729 | 2 1730 | 1731 | Build 1732 | 1733 | $class 1734 | 1735 | CF$UID 1736 | 44 1737 | 1738 | NS.keys 1739 | 1740 | 1741 | CF$UID 1742 | 161 1743 | 1744 | 1745 | CF$UID 1746 | 162 1747 | 1748 | 1749 | CF$UID 1750 | 163 1751 | 1752 | 1753 | NS.objects 1754 | 1755 | 1756 | CF$UID 1757 | 168 1758 | 1759 | 1760 | CF$UID 1761 | 169 1762 | 1763 | 1764 | CF$UID 1765 | 170 1766 | 1767 | 1768 | 1769 | 4 1770 | : 1771 | ToolDrawer 1772 | 1773 | $class 1774 | 1775 | CF$UID 1776 | 44 1777 | 1778 | NS.keys 1779 | 1780 | 1781 | CF$UID 1782 | 161 1783 | 1784 | 1785 | CF$UID 1786 | 162 1787 | 1788 | 1789 | CF$UID 1790 | 163 1791 | 1792 | 1793 | NS.objects 1794 | 1795 | 1796 | CF$UID 1797 | 172 1798 | 1799 | 1800 | CF$UID 1801 | 173 1802 | 1803 | 1804 | CF$UID 1805 | 174 1806 | 1807 | 1808 | 1809 | 1 1810 | 1811 | 1812 | $class 1813 | 1814 | CF$UID 1815 | 175 1816 | 1817 | NS.data 1818 | 1819 | YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy 1820 | Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK 1821 | CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC 1822 | WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui 1823 | FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO 1824 | U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q 1825 | EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh 1826 | c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT 1827 | cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 1828 | NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 1829 | cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB 1830 | cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf 1831 | AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA 1832 | yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL 1833 | AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA 1834 | AAA/AAAAAAAAAAAAAAAAAAABvg== 1835 | 1836 | 1837 | 1838 | $classes 1839 | 1840 | NSMutableData 1841 | NSData 1842 | NSObject 1843 | 1844 | $classname 1845 | NSMutableData 1846 | 1847 | 1848 | $class 1849 | 1850 | CF$UID 1851 | 44 1852 | 1853 | NS.keys 1854 | 1855 | 1856 | CF$UID 1857 | 161 1858 | 1859 | 1860 | CF$UID 1861 | 177 1862 | 1863 | 1864 | CF$UID 1865 | 178 1866 | 1867 | 1868 | CF$UID 1869 | 163 1870 | 1871 | 1872 | CF$UID 1873 | 179 1874 | 1875 | 1876 | CF$UID 1877 | 180 1878 | 1879 | 1880 | NS.objects 1881 | 1882 | 1883 | CF$UID 1884 | 181 1885 | 1886 | 1887 | CF$UID 1888 | 182 1889 | 1890 | 1891 | CF$UID 1892 | 183 1893 | 1894 | 1895 | CF$UID 1896 | 185 1897 | 1898 | 1899 | CF$UID 1900 | 182 1901 | 1902 | 1903 | CF$UID 1904 | 182 1905 | 1906 | 1907 | 1908 | IDEActivityReportStringSegmentType 1909 | IDEActivityReportStringSegmentDate 1910 | IDEActivityReportStringSegmentDateStyle 1911 | IDEActivityReportStringSegmentTimeStyle 1912 | 3 1913 | 1 1914 | 1915 | $class 1916 | 1917 | CF$UID 1918 | 184 1919 | 1920 | NS.time 1921 | 332629269.75156802 1922 | 1923 | 1924 | $classes 1925 | 1926 | NSDate 1927 | NSObject 1928 | 1929 | $classname 1930 | NSDate 1931 | 1932 | Today at 5:01 PM 1933 | 234 1934 | ToolDrawer 1935 | 1936 | $class 1937 | 1938 | CF$UID 1939 | 61 1940 | 1941 | NS.objects 1942 | 1943 | 1944 | CF$UID 1945 | 3 1946 | 1947 | 1948 | 1949 | 1950 | $class 1951 | 1952 | CF$UID 1953 | 61 1954 | 1955 | NS.objects 1956 | 1957 | 1958 | CF$UID 1959 | 190 1960 | 1961 | 1962 | CF$UID 1963 | 192 1964 | 1965 | 1966 | CF$UID 1967 | 194 1968 | 1969 | 1970 | CF$UID 1971 | 196 1972 | 1973 | 1974 | CF$UID 1975 | 198 1976 | 1977 | 1978 | CF$UID 1979 | 200 1980 | 1981 | 1982 | CF$UID 1983 | 202 1984 | 1985 | 1986 | CF$UID 1987 | 204 1988 | 1989 | 1990 | CF$UID 1991 | 206 1992 | 1993 | 1994 | CF$UID 1995 | 207 1996 | 1997 | 1998 | 1999 | 2000 | $class 2001 | 2002 | CF$UID 2003 | 24 2004 | 2005 | NS.base 2006 | 2007 | CF$UID 2008 | 0 2009 | 2010 | NS.relative 2011 | 2012 | CF$UID 2013 | 191 2014 | 2015 | 2016 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawerView.m 2017 | 2018 | $class 2019 | 2020 | CF$UID 2021 | 24 2022 | 2023 | NS.base 2024 | 2025 | CF$UID 2026 | 0 2027 | 2028 | NS.relative 2029 | 2030 | CF$UID 2031 | 193 2032 | 2033 | 2034 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawerView.h 2035 | 2036 | $class 2037 | 2038 | CF$UID 2039 | 24 2040 | 2041 | NS.base 2042 | 2043 | CF$UID 2044 | 0 2045 | 2046 | NS.relative 2047 | 2048 | CF$UID 2049 | 195 2050 | 2051 | 2052 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerAppDelegate.m 2053 | 2054 | $class 2055 | 2056 | CF$UID 2057 | 24 2058 | 2059 | NS.base 2060 | 2061 | CF$UID 2062 | 0 2063 | 2064 | NS.relative 2065 | 2066 | CF$UID 2067 | 197 2068 | 2069 | 2070 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/main.m 2071 | 2072 | $class 2073 | 2074 | CF$UID 2075 | 24 2076 | 2077 | NS.base 2078 | 2079 | CF$UID 2080 | 0 2081 | 2082 | NS.relative 2083 | 2084 | CF$UID 2085 | 199 2086 | 2087 | 2088 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/en.lproj/InfoPlist.strings 2089 | 2090 | $class 2091 | 2092 | CF$UID 2093 | 24 2094 | 2095 | NS.base 2096 | 2097 | CF$UID 2098 | 0 2099 | 2100 | NS.relative 2101 | 2102 | CF$UID 2103 | 201 2104 | 2105 | 2106 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerAppDelegate.h 2107 | 2108 | $class 2109 | 2110 | CF$UID 2111 | 24 2112 | 2113 | NS.base 2114 | 2115 | CF$UID 2116 | 0 2117 | 2118 | NS.relative 2119 | 2120 | CF$UID 2121 | 203 2122 | 2123 | 2124 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerViewController.m 2125 | 2126 | $class 2127 | 2128 | CF$UID 2129 | 24 2130 | 2131 | NS.base 2132 | 2133 | CF$UID 2134 | 0 2135 | 2136 | NS.relative 2137 | 2138 | CF$UID 2139 | 205 2140 | 2141 | 2142 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/ToolDrawerViewController.h 2143 | 2144 | $class 2145 | 2146 | CF$UID 2147 | 24 2148 | 2149 | NS.base 2150 | 2151 | CF$UID 2152 | 0 2153 | 2154 | NS.relative 2155 | 2156 | CF$UID 2157 | 66 2158 | 2159 | 2160 | 2161 | $class 2162 | 2163 | CF$UID 2164 | 24 2165 | 2166 | NS.base 2167 | 2168 | CF$UID 2169 | 0 2170 | 2171 | NS.relative 2172 | 2173 | CF$UID 2174 | 208 2175 | 2176 | 2177 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawer/en.lproj/ToolDrawerViewController.xib 2178 | 2179 | $class 2180 | 2181 | CF$UID 2182 | 44 2183 | 2184 | NS.keys 2185 | 2186 | 2187 | CF$UID 2188 | 210 2189 | 2190 | 2191 | CF$UID 2192 | 211 2193 | 2194 | 2195 | CF$UID 2196 | 212 2197 | 2198 | 2199 | CF$UID 2200 | 213 2201 | 2202 | 2203 | CF$UID 2204 | 214 2205 | 2206 | 2207 | CF$UID 2208 | 215 2209 | 2210 | 2211 | CF$UID 2212 | 216 2213 | 2214 | 2215 | CF$UID 2216 | 217 2217 | 2218 | 2219 | NS.objects 2220 | 2221 | 2222 | CF$UID 2223 | 218 2224 | 2225 | 2226 | CF$UID 2227 | 219 2228 | 2229 | 2230 | CF$UID 2231 | 116 2232 | 2233 | 2234 | CF$UID 2235 | 220 2236 | 2237 | 2238 | CF$UID 2239 | 213 2240 | 2241 | 2242 | CF$UID 2243 | 3 2244 | 2245 | 2246 | CF$UID 2247 | 15 2248 | 2249 | 2250 | CF$UID 2251 | 15 2252 | 2253 | 2254 | 2255 | IDEWindowFrame 2256 | IDEOrderedWorkspaceTabControllers 2257 | IDEWindowInFullscreenMode 2258 | IDEWorkspaceTabController_AB5C7F52-B1C2-4A61-B6DD-A49F981D0D3A 2259 | IDEActiveWorkspaceTabController 2260 | IDEWorkspaceWindowControllerUniqueIdentifier 2261 | IDEWindowToolbarIsVisible 2262 | IDEWindowTabBarIsVisible 2263 | {{75, 146}, {1366, 687}} 2264 | 2265 | $class 2266 | 2267 | CF$UID 2268 | 47 2269 | 2270 | NS.objects 2271 | 2272 | 2273 | CF$UID 2274 | 213 2275 | 2276 | 2277 | 2278 | 2279 | $class 2280 | 2281 | CF$UID 2282 | 44 2283 | 2284 | NS.keys 2285 | 2286 | 2287 | CF$UID 2288 | 221 2289 | 2290 | 2291 | CF$UID 2292 | 222 2293 | 2294 | 2295 | CF$UID 2296 | 223 2297 | 2298 | 2299 | CF$UID 2300 | 224 2301 | 2302 | 2303 | CF$UID 2304 | 225 2305 | 2306 | 2307 | CF$UID 2308 | 226 2309 | 2310 | 2311 | CF$UID 2312 | 227 2313 | 2314 | 2315 | CF$UID 2316 | 228 2317 | 2318 | 2319 | NS.objects 2320 | 2321 | 2322 | CF$UID 2323 | 229 2324 | 2325 | 2326 | CF$UID 2327 | 15 2328 | 2329 | 2330 | CF$UID 2331 | 146 2332 | 2333 | 2334 | CF$UID 2335 | 330 2336 | 2337 | 2338 | CF$UID 2339 | 337 2340 | 2341 | 2342 | CF$UID 2343 | 400 2344 | 2345 | 2346 | CF$UID 2347 | 116 2348 | 2349 | 2350 | CF$UID 2351 | 409 2352 | 2353 | 2354 | 2355 | IDEEditorArea 2356 | IDEShowNavigator 2357 | AssistantEditorsLayout 2358 | IDEWorkspaceTabControllerUtilityAreaSplitView 2359 | IDENavigatorArea 2360 | IDEWorkspaceTabControllerDesignAreaSplitView 2361 | IDEShowUtilities 2362 | IDETabLabel 2363 | 2364 | $class 2365 | 2366 | CF$UID 2367 | 44 2368 | 2369 | NS.keys 2370 | 2371 | 2372 | CF$UID 2373 | 230 2374 | 2375 | 2376 | CF$UID 2377 | 231 2378 | 2379 | 2380 | CF$UID 2381 | 232 2382 | 2383 | 2384 | CF$UID 2385 | 233 2386 | 2387 | 2388 | CF$UID 2389 | 234 2390 | 2391 | 2392 | CF$UID 2393 | 235 2394 | 2395 | 2396 | CF$UID 2397 | 236 2398 | 2399 | 2400 | CF$UID 2401 | 237 2402 | 2403 | 2404 | NS.objects 2405 | 2406 | 2407 | CF$UID 2408 | 238 2409 | 2410 | 2411 | CF$UID 2412 | 257 2413 | 2414 | 2415 | CF$UID 2416 | 291 2417 | 2418 | 2419 | CF$UID 2420 | 15 2421 | 2422 | 2423 | CF$UID 2424 | 146 2425 | 2426 | 2427 | CF$UID 2428 | 321 2429 | 2430 | 2431 | CF$UID 2432 | 329 2433 | 2434 | 2435 | CF$UID 2436 | 15 2437 | 2438 | 2439 | 2440 | layoutTree 2441 | IDEEditorMode_Standard 2442 | IDEEDitorArea_DebugArea 2443 | IDEShowEditor 2444 | EditorMode 2445 | DebuggerSplitView 2446 | DefaultPersistentRepresentations 2447 | ShowDebuggerArea 2448 | 2449 | $class 2450 | 2451 | CF$UID 2452 | 256 2453 | 2454 | geniusEditorContextNode 2455 | 2456 | CF$UID 2457 | 0 2458 | 2459 | primaryEditorContextNode 2460 | 2461 | CF$UID 2462 | 239 2463 | 2464 | rootLayoutTreeNode 2465 | 2466 | CF$UID 2467 | 253 2468 | 2469 | 2470 | 2471 | $class 2472 | 2473 | CF$UID 2474 | 255 2475 | 2476 | children 2477 | 2478 | CF$UID 2479 | 0 2480 | 2481 | contentType 2482 | 1 2483 | documentArchivableRepresentation 2484 | 2485 | CF$UID 2486 | 240 2487 | 2488 | orientation 2489 | 0 2490 | parent 2491 | 2492 | CF$UID 2493 | 253 2494 | 2495 | 2496 | 2497 | $class 2498 | 2499 | CF$UID 2500 | 252 2501 | 2502 | DocumentLocation 2503 | 2504 | CF$UID 2505 | 249 2506 | 2507 | DomainIdentifier 2508 | 2509 | CF$UID 2510 | 241 2511 | 2512 | IdentifierPath 2513 | 2514 | CF$UID 2515 | 242 2516 | 2517 | IndexOfDocumentIdentifier 2518 | 2519 | CF$UID 2520 | 146 2521 | 2522 | 2523 | Xcode.IDENavigableItemDomain.WorkspaceStructure 2524 | 2525 | $class 2526 | 2527 | CF$UID 2528 | 47 2529 | 2530 | NS.objects 2531 | 2532 | 2533 | CF$UID 2534 | 243 2535 | 2536 | 2537 | CF$UID 2538 | 246 2539 | 2540 | 2541 | CF$UID 2542 | 247 2543 | 2544 | 2545 | 2546 | 2547 | $class 2548 | 2549 | CF$UID 2550 | 245 2551 | 2552 | Identifier 2553 | 2554 | CF$UID 2555 | 244 2556 | 2557 | 2558 | ToolDrawerView.m 2559 | 2560 | $classes 2561 | 2562 | IDEArchivableStringIndexPair 2563 | NSObject 2564 | 2565 | $classname 2566 | IDEArchivableStringIndexPair 2567 | 2568 | 2569 | $class 2570 | 2571 | CF$UID 2572 | 245 2573 | 2574 | Identifier 2575 | 2576 | CF$UID 2577 | 187 2578 | 2579 | 2580 | 2581 | $class 2582 | 2583 | CF$UID 2584 | 245 2585 | 2586 | Identifier 2587 | 2588 | CF$UID 2589 | 248 2590 | 2591 | 2592 | ToolDrawer 2593 | 2594 | $class 2595 | 2596 | CF$UID 2597 | 251 2598 | 2599 | documentURL 2600 | 2601 | CF$UID 2602 | 250 2603 | 2604 | timestamp 2605 | 2606 | CF$UID 2607 | 0 2608 | 2609 | 2610 | 2611 | $class 2612 | 2613 | CF$UID 2614 | 23 2615 | 2616 | NS.string 2617 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawerView.m 2618 | 2619 | 2620 | $classes 2621 | 2622 | DVTDocumentLocation 2623 | NSObject 2624 | 2625 | $classname 2626 | DVTDocumentLocation 2627 | 2628 | 2629 | $classes 2630 | 2631 | IDENavigableItemArchivableRepresentation 2632 | NSObject 2633 | 2634 | $classname 2635 | IDENavigableItemArchivableRepresentation 2636 | 2637 | 2638 | $class 2639 | 2640 | CF$UID 2641 | 255 2642 | 2643 | children 2644 | 2645 | CF$UID 2646 | 254 2647 | 2648 | contentType 2649 | 0 2650 | documentArchivableRepresentation 2651 | 2652 | CF$UID 2653 | 0 2654 | 2655 | orientation 2656 | 0 2657 | parent 2658 | 2659 | CF$UID 2660 | 0 2661 | 2662 | 2663 | 2664 | $class 2665 | 2666 | CF$UID 2667 | 47 2668 | 2669 | NS.objects 2670 | 2671 | 2672 | CF$UID 2673 | 239 2674 | 2675 | 2676 | 2677 | 2678 | $classes 2679 | 2680 | IDEWorkspaceTabControllerLayoutTreeNode 2681 | NSObject 2682 | 2683 | $classname 2684 | IDEWorkspaceTabControllerLayoutTreeNode 2685 | 2686 | 2687 | $classes 2688 | 2689 | IDEWorkspaceTabControllerLayoutTree 2690 | NSObject 2691 | 2692 | $classname 2693 | IDEWorkspaceTabControllerLayoutTree 2694 | 2695 | 2696 | $class 2697 | 2698 | CF$UID 2699 | 44 2700 | 2701 | NS.keys 2702 | 2703 | 2704 | CF$UID 2705 | 258 2706 | 2707 | 2708 | NS.objects 2709 | 2710 | 2711 | CF$UID 2712 | 259 2713 | 2714 | 2715 | 2716 | EditorLayout_PersistentRepresentation 2717 | 2718 | $class 2719 | 2720 | CF$UID 2721 | 44 2722 | 2723 | NS.keys 2724 | 2725 | 2726 | CF$UID 2727 | 260 2728 | 2729 | 2730 | NS.objects 2731 | 2732 | 2733 | CF$UID 2734 | 261 2735 | 2736 | 2737 | 2738 | Main 2739 | 2740 | $class 2741 | 2742 | CF$UID 2743 | 58 2744 | 2745 | NS.keys 2746 | 2747 | 2748 | CF$UID 2749 | 262 2750 | 2751 | 2752 | CF$UID 2753 | 263 2754 | 2755 | 2756 | CF$UID 2757 | 264 2758 | 2759 | 2760 | NS.objects 2761 | 2762 | 2763 | CF$UID 2764 | 265 2765 | 2766 | 2767 | CF$UID 2768 | 146 2769 | 2770 | 2771 | CF$UID 2772 | 289 2773 | 2774 | 2775 | 2776 | EditorLayout_StateSavingStateDictionaries 2777 | EditorLayout_Selected 2778 | EditorLayout_Geometry 2779 | 2780 | $class 2781 | 2782 | CF$UID 2783 | 47 2784 | 2785 | NS.objects 2786 | 2787 | 2788 | CF$UID 2789 | 266 2790 | 2791 | 2792 | 2793 | 2794 | $class 2795 | 2796 | CF$UID 2797 | 44 2798 | 2799 | NS.keys 2800 | 2801 | 2802 | CF$UID 2803 | 267 2804 | 2805 | 2806 | CF$UID 2807 | 268 2808 | 2809 | 2810 | CF$UID 2811 | 269 2812 | 2813 | 2814 | CF$UID 2815 | 270 2816 | 2817 | 2818 | CF$UID 2819 | 271 2820 | 2821 | 2822 | CF$UID 2823 | 272 2824 | 2825 | 2826 | CF$UID 2827 | 273 2828 | 2829 | 2830 | NS.objects 2831 | 2832 | 2833 | CF$UID 2834 | 274 2835 | 2836 | 2837 | CF$UID 2838 | 275 2839 | 2840 | 2841 | CF$UID 2842 | 281 2843 | 2844 | 2845 | CF$UID 2846 | 285 2847 | 2848 | 2849 | CF$UID 2850 | 244 2851 | 2852 | 2853 | CF$UID 2854 | 286 2855 | 2856 | 2857 | CF$UID 2858 | 287 2859 | 2860 | 2861 | 2862 | FileDataType 2863 | ArchivableRepresentation 2864 | EditorState 2865 | NavigableItemName 2866 | DocumentNavigableItemName 2867 | DocumentExtensionIdentifier 2868 | DocumentURL 2869 | public.objective-c-source 2870 | 2871 | $class 2872 | 2873 | CF$UID 2874 | 252 2875 | 2876 | DocumentLocation 2877 | 2878 | CF$UID 2879 | 249 2880 | 2881 | DomainIdentifier 2882 | 2883 | CF$UID 2884 | 241 2885 | 2886 | IdentifierPath 2887 | 2888 | CF$UID 2889 | 276 2890 | 2891 | IndexOfDocumentIdentifier 2892 | 2893 | CF$UID 2894 | 146 2895 | 2896 | 2897 | 2898 | $class 2899 | 2900 | CF$UID 2901 | 47 2902 | 2903 | NS.objects 2904 | 2905 | 2906 | CF$UID 2907 | 277 2908 | 2909 | 2910 | CF$UID 2911 | 278 2912 | 2913 | 2914 | CF$UID 2915 | 279 2916 | 2917 | 2918 | 2919 | 2920 | $class 2921 | 2922 | CF$UID 2923 | 245 2924 | 2925 | Identifier 2926 | 2927 | CF$UID 2928 | 244 2929 | 2930 | 2931 | 2932 | $class 2933 | 2934 | CF$UID 2935 | 245 2936 | 2937 | Identifier 2938 | 2939 | CF$UID 2940 | 187 2941 | 2942 | 2943 | 2944 | $class 2945 | 2946 | CF$UID 2947 | 245 2948 | 2949 | Identifier 2950 | 2951 | CF$UID 2952 | 280 2953 | 2954 | 2955 | ToolDrawer 2956 | 2957 | $class 2958 | 2959 | CF$UID 2960 | 58 2961 | 2962 | NS.keys 2963 | 2964 | 2965 | CF$UID 2966 | 128 2967 | 2968 | 2969 | CF$UID 2970 | 129 2971 | 2972 | 2973 | CF$UID 2974 | 130 2975 | 2976 | 2977 | CF$UID 2978 | 131 2979 | 2980 | 2981 | NS.objects 2982 | 2983 | 2984 | CF$UID 2985 | 282 2986 | 2987 | 2988 | CF$UID 2989 | 283 2990 | 2991 | 2992 | CF$UID 2993 | 116 2994 | 2995 | 2996 | CF$UID 2997 | 284 2998 | 2999 | 3000 | 3001 | 332629272.88045299 3002 | {815, 1191} 3003 | {1647, 0} 3004 | -initInVerticalCorner:andHorizontalCorner:moving: 3005 | Xcode.IDEKit.EditorDocument.SourceCode 3006 | 3007 | $class 3008 | 3009 | CF$UID 3010 | 24 3011 | 3012 | NS.base 3013 | 3014 | CF$UID 3015 | 0 3016 | 3017 | NS.relative 3018 | 3019 | CF$UID 3020 | 288 3021 | 3022 | 3023 | file://localhost/Users/jcarlson/Software/iPhone/ToolDrawer/ToolDrawerView.m 3024 | 3025 | $class 3026 | 3027 | CF$UID 3028 | 47 3029 | 3030 | NS.objects 3031 | 3032 | 3033 | CF$UID 3034 | 290 3035 | 3036 | 3037 | 3038 | {{0, 0}, {1106, 467}} 3039 | 3040 | $class 3041 | 3042 | CF$UID 3043 | 44 3044 | 3045 | NS.keys 3046 | 3047 | 3048 | CF$UID 3049 | 292 3050 | 3051 | 3052 | CF$UID 3053 | 293 3054 | 3055 | 3056 | CF$UID 3057 | 294 3058 | 3059 | 3060 | CF$UID 3061 | 295 3062 | 3063 | 3064 | CF$UID 3065 | 296 3066 | 3067 | 3068 | CF$UID 3069 | 297 3070 | 3071 | 3072 | NS.objects 3073 | 3074 | 3075 | CF$UID 3076 | 182 3077 | 3078 | 3079 | CF$UID 3080 | 298 3081 | 3082 | 3083 | CF$UID 3084 | 300 3085 | 3086 | 3087 | CF$UID 3088 | 182 3089 | 3090 | 3091 | CF$UID 3092 | 304 3093 | 3094 | 3095 | CF$UID 3096 | 315 3097 | 3098 | 3099 | 3100 | LayoutFocusMode 3101 | console 3102 | variables 3103 | LayoutMode 3104 | IDEDebuggerAreaSplitView 3105 | IDEDebugArea_SplitView 3106 | 3107 | $class 3108 | 3109 | CF$UID 3110 | 44 3111 | 3112 | NS.keys 3113 | 3114 | 3115 | CF$UID 3116 | 299 3117 | 3118 | 3119 | NS.objects 3120 | 3121 | 3122 | CF$UID 3123 | 146 3124 | 3125 | 3126 | 3127 | ConsoleFilterMode 3128 | 3129 | $class 3130 | 3131 | CF$UID 3132 | 44 3133 | 3134 | NS.keys 3135 | 3136 | 3137 | CF$UID 3138 | 301 3139 | 3140 | 3141 | CF$UID 3142 | 302 3143 | 3144 | 3145 | NS.objects 3146 | 3147 | 3148 | CF$UID 3149 | 182 3150 | 3151 | 3152 | CF$UID 3153 | 303 3154 | 3155 | 3156 | 3157 | VariablesViewSelectedScope 3158 | DBGVariablesViewFilterMode 3159 | 2 3160 | 3161 | $class 3162 | 3163 | CF$UID 3164 | 44 3165 | 3166 | NS.keys 3167 | 3168 | 3169 | CF$UID 3170 | 305 3171 | 3172 | 3173 | NS.objects 3174 | 3175 | 3176 | CF$UID 3177 | 306 3178 | 3179 | 3180 | 3181 | DVTSplitViewItems 3182 | 3183 | $class 3184 | 3185 | CF$UID 3186 | 61 3187 | 3188 | NS.objects 3189 | 3190 | 3191 | CF$UID 3192 | 307 3193 | 3194 | 3195 | CF$UID 3196 | 312 3197 | 3198 | 3199 | 3200 | 3201 | $class 3202 | 3203 | CF$UID 3204 | 58 3205 | 3206 | NS.keys 3207 | 3208 | 3209 | CF$UID 3210 | 308 3211 | 3212 | 3213 | CF$UID 3214 | 309 3215 | 3216 | 3217 | NS.objects 3218 | 3219 | 3220 | CF$UID 3221 | 310 3222 | 3223 | 3224 | CF$UID 3225 | 311 3226 | 3227 | 3228 | 3229 | DVTIdentifier 3230 | DVTViewMagnitude 3231 | VariablesView 3232 | 552 3233 | 3234 | $class 3235 | 3236 | CF$UID 3237 | 58 3238 | 3239 | NS.keys 3240 | 3241 | 3242 | CF$UID 3243 | 308 3244 | 3245 | 3246 | CF$UID 3247 | 309 3248 | 3249 | 3250 | NS.objects 3251 | 3252 | 3253 | CF$UID 3254 | 313 3255 | 3256 | 3257 | CF$UID 3258 | 314 3259 | 3260 | 3261 | 3262 | ConsoleArea 3263 | 553 3264 | 3265 | $class 3266 | 3267 | CF$UID 3268 | 44 3269 | 3270 | NS.keys 3271 | 3272 | 3273 | CF$UID 3274 | 305 3275 | 3276 | 3277 | NS.objects 3278 | 3279 | 3280 | CF$UID 3281 | 316 3282 | 3283 | 3284 | 3285 | 3286 | $class 3287 | 3288 | CF$UID 3289 | 61 3290 | 3291 | NS.objects 3292 | 3293 | 3294 | CF$UID 3295 | 317 3296 | 3297 | 3298 | CF$UID 3299 | 319 3300 | 3301 | 3302 | 3303 | 3304 | $class 3305 | 3306 | CF$UID 3307 | 58 3308 | 3309 | NS.keys 3310 | 3311 | 3312 | CF$UID 3313 | 308 3314 | 3315 | 3316 | CF$UID 3317 | 309 3318 | 3319 | 3320 | NS.objects 3321 | 3322 | 3323 | CF$UID 3324 | 310 3325 | 3326 | 3327 | CF$UID 3328 | 318 3329 | 3330 | 3331 | 3332 | 552 3333 | 3334 | $class 3335 | 3336 | CF$UID 3337 | 58 3338 | 3339 | NS.keys 3340 | 3341 | 3342 | CF$UID 3343 | 308 3344 | 3345 | 3346 | CF$UID 3347 | 309 3348 | 3349 | 3350 | NS.objects 3351 | 3352 | 3353 | CF$UID 3354 | 313 3355 | 3356 | 3357 | CF$UID 3358 | 320 3359 | 3360 | 3361 | 3362 | 553 3363 | 3364 | $class 3365 | 3366 | CF$UID 3367 | 44 3368 | 3369 | NS.keys 3370 | 3371 | 3372 | CF$UID 3373 | 305 3374 | 3375 | 3376 | NS.objects 3377 | 3378 | 3379 | CF$UID 3380 | 322 3381 | 3382 | 3383 | 3384 | 3385 | $class 3386 | 3387 | CF$UID 3388 | 61 3389 | 3390 | NS.objects 3391 | 3392 | 3393 | CF$UID 3394 | 323 3395 | 3396 | 3397 | CF$UID 3398 | 326 3399 | 3400 | 3401 | 3402 | 3403 | $class 3404 | 3405 | CF$UID 3406 | 58 3407 | 3408 | NS.keys 3409 | 3410 | 3411 | CF$UID 3412 | 308 3413 | 3414 | 3415 | CF$UID 3416 | 309 3417 | 3418 | 3419 | NS.objects 3420 | 3421 | 3422 | CF$UID 3423 | 324 3424 | 3425 | 3426 | CF$UID 3427 | 325 3428 | 3429 | 3430 | 3431 | IDEEditor 3432 | 489 3433 | 3434 | $class 3435 | 3436 | CF$UID 3437 | 58 3438 | 3439 | NS.keys 3440 | 3441 | 3442 | CF$UID 3443 | 308 3444 | 3445 | 3446 | CF$UID 3447 | 309 3448 | 3449 | 3450 | NS.objects 3451 | 3452 | 3453 | CF$UID 3454 | 327 3455 | 3456 | 3457 | CF$UID 3458 | 328 3459 | 3460 | 3461 | 3462 | IDEDebuggerArea 3463 | 100 3464 | 3465 | $class 3466 | 3467 | CF$UID 3468 | 44 3469 | 3470 | NS.keys 3471 | 3472 | NS.objects 3473 | 3474 | 3475 | 3476 | $class 3477 | 3478 | CF$UID 3479 | 44 3480 | 3481 | NS.keys 3482 | 3483 | 3484 | CF$UID 3485 | 305 3486 | 3487 | 3488 | NS.objects 3489 | 3490 | 3491 | CF$UID 3492 | 331 3493 | 3494 | 3495 | 3496 | 3497 | $class 3498 | 3499 | CF$UID 3500 | 61 3501 | 3502 | NS.objects 3503 | 3504 | 3505 | CF$UID 3506 | 332 3507 | 3508 | 3509 | CF$UID 3510 | 335 3511 | 3512 | 3513 | 3514 | 3515 | $class 3516 | 3517 | CF$UID 3518 | 58 3519 | 3520 | NS.keys 3521 | 3522 | 3523 | CF$UID 3524 | 308 3525 | 3526 | 3527 | CF$UID 3528 | 309 3529 | 3530 | 3531 | NS.objects 3532 | 3533 | 3534 | CF$UID 3535 | 333 3536 | 3537 | 3538 | CF$UID 3539 | 334 3540 | 3541 | 3542 | 3543 | 3544 | 378 3545 | 3546 | $class 3547 | 3548 | CF$UID 3549 | 58 3550 | 3551 | NS.keys 3552 | 3553 | 3554 | CF$UID 3555 | 308 3556 | 3557 | 3558 | CF$UID 3559 | 309 3560 | 3561 | 3562 | NS.objects 3563 | 3564 | 3565 | CF$UID 3566 | 333 3567 | 3568 | 3569 | CF$UID 3570 | 336 3571 | 3572 | 3573 | 3574 | 211 3575 | 3576 | $class 3577 | 3578 | CF$UID 3579 | 44 3580 | 3581 | NS.keys 3582 | 3583 | 3584 | CF$UID 3585 | 338 3586 | 3587 | 3588 | CF$UID 3589 | 339 3590 | 3591 | 3592 | CF$UID 3593 | 340 3594 | 3595 | 3596 | CF$UID 3597 | 341 3598 | 3599 | 3600 | CF$UID 3601 | 342 3602 | 3603 | 3604 | CF$UID 3605 | 343 3606 | 3607 | 3608 | NS.objects 3609 | 3610 | 3611 | CF$UID 3612 | 344 3613 | 3614 | 3615 | CF$UID 3616 | 362 3617 | 3618 | 3619 | CF$UID 3620 | 367 3621 | 3622 | 3623 | CF$UID 3624 | 378 3625 | 3626 | 3627 | CF$UID 3628 | 338 3629 | 3630 | 3631 | CF$UID 3632 | 382 3633 | 3634 | 3635 | 3636 | Xcode.IDEKit.Navigator.Structure 3637 | Xcode.DebuggerKit.ThreadsStacksNavigator 3638 | Xcode.IDEKit.Navigator.Symbol 3639 | Xcode.IDEKit.Navigator.Debug 3640 | SelectedNavigator 3641 | Xcode.IDEKit.Navigator.Issues 3642 | 3643 | $class 3644 | 3645 | CF$UID 3646 | 44 3647 | 3648 | NS.keys 3649 | 3650 | 3651 | CF$UID 3652 | 345 3653 | 3654 | 3655 | CF$UID 3656 | 346 3657 | 3658 | 3659 | CF$UID 3660 | 347 3661 | 3662 | 3663 | CF$UID 3664 | 348 3665 | 3666 | 3667 | CF$UID 3668 | 349 3669 | 3670 | 3671 | CF$UID 3672 | 350 3673 | 3674 | 3675 | CF$UID 3676 | 351 3677 | 3678 | 3679 | NS.objects 3680 | 3681 | 3682 | CF$UID 3683 | 352 3684 | 3685 | 3686 | CF$UID 3687 | 116 3688 | 3689 | 3690 | CF$UID 3691 | 353 3692 | 3693 | 3694 | CF$UID 3695 | 116 3696 | 3697 | 3698 | CF$UID 3699 | 116 3700 | 3701 | 3702 | CF$UID 3703 | 355 3704 | 3705 | 3706 | CF$UID 3707 | 358 3708 | 3709 | 3710 | 3711 | IDEVisibleRect 3712 | IDEUnsavedDocumentFilteringEnabled 3713 | IDENavigatorExpandedItemsBeforeFilteringSet 3714 | IDERecentDocumentFilteringEnabled 3715 | IDESCMStatusFilteringEnabled 3716 | IDESelectedObjects 3717 | IDEExpandedItemsSet 3718 | {{0, 0}, {259, 545}} 3719 | 3720 | $class 3721 | 3722 | CF$UID 3723 | 354 3724 | 3725 | NS.objects 3726 | 3727 | 3728 | 3729 | $classes 3730 | 3731 | NSSet 3732 | NSObject 3733 | 3734 | $classname 3735 | NSSet 3736 | 3737 | 3738 | $class 3739 | 3740 | CF$UID 3741 | 47 3742 | 3743 | NS.objects 3744 | 3745 | 3746 | CF$UID 3747 | 356 3748 | 3749 | 3750 | 3751 | 3752 | $class 3753 | 3754 | CF$UID 3755 | 61 3756 | 3757 | NS.objects 3758 | 3759 | 3760 | CF$UID 3761 | 357 3762 | 3763 | 3764 | CF$UID 3765 | 187 3766 | 3767 | 3768 | CF$UID 3769 | 244 3770 | 3771 | 3772 | 3773 | ToolDrawer 3774 | 3775 | $class 3776 | 3777 | CF$UID 3778 | 354 3779 | 3780 | NS.objects 3781 | 3782 | 3783 | CF$UID 3784 | 359 3785 | 3786 | 3787 | CF$UID 3788 | 361 3789 | 3790 | 3791 | 3792 | 3793 | $class 3794 | 3795 | CF$UID 3796 | 61 3797 | 3798 | NS.objects 3799 | 3800 | 3801 | CF$UID 3802 | 357 3803 | 3804 | 3805 | CF$UID 3806 | 187 3807 | 3808 | 3809 | CF$UID 3810 | 360 3811 | 3812 | 3813 | 3814 | Supporting Files 3815 | 3816 | $class 3817 | 3818 | CF$UID 3819 | 61 3820 | 3821 | NS.objects 3822 | 3823 | 3824 | CF$UID 3825 | 357 3826 | 3827 | 3828 | 3829 | 3830 | $class 3831 | 3832 | CF$UID 3833 | 44 3834 | 3835 | NS.keys 3836 | 3837 | 3838 | CF$UID 3839 | 363 3840 | 3841 | 3842 | CF$UID 3843 | 364 3844 | 3845 | 3846 | CF$UID 3847 | 365 3848 | 3849 | 3850 | NS.objects 3851 | 3852 | 3853 | CF$UID 3854 | 303 3855 | 3856 | 3857 | CF$UID 3858 | 366 3859 | 3860 | 3861 | CF$UID 3862 | 116 3863 | 3864 | 3865 | 3866 | IDEStackCompressionValue 3867 | IDEThreadsOrQueuesMode 3868 | IDEHideAncestorForNonInterestingFrames 3869 | 0 3870 | 3871 | $class 3872 | 3873 | CF$UID 3874 | 44 3875 | 3876 | NS.keys 3877 | 3878 | 3879 | CF$UID 3880 | 368 3881 | 3882 | 3883 | CF$UID 3884 | 369 3885 | 3886 | 3887 | CF$UID 3888 | 370 3889 | 3890 | 3891 | CF$UID 3892 | 371 3893 | 3894 | 3895 | CF$UID 3896 | 372 3897 | 3898 | 3899 | CF$UID 3900 | 373 3901 | 3902 | 3903 | CF$UID 3904 | 374 3905 | 3906 | 3907 | NS.objects 3908 | 3909 | 3910 | CF$UID 3911 | 15 3912 | 3913 | 3914 | CF$UID 3915 | 15 3916 | 3917 | 3918 | CF$UID 3919 | 116 3920 | 3921 | 3922 | CF$UID 3923 | 15 3924 | 3925 | 3926 | CF$UID 3927 | 375 3928 | 3929 | 3930 | CF$UID 3931 | 376 3932 | 3933 | 3934 | CF$UID 3935 | 377 3936 | 3937 | 3938 | 3939 | IDESymbolNavigatorShowWorkspaceOnly 3940 | IDESymbolNavigatorShowHierarchy 3941 | IDESymbolNavigatorShowContainersOnly 3942 | IDESymbolNavigatorShowClassesOnly 3943 | IDESymbolNamePatternString 3944 | IDESymbolNavigatorSelectedSymbols 3945 | IDEExpandedItems 3946 | 3947 | 3948 | $class 3949 | 3950 | CF$UID 3951 | 61 3952 | 3953 | NS.objects 3954 | 3955 | 3956 | 3957 | $class 3958 | 3959 | CF$UID 3960 | 61 3961 | 3962 | NS.objects 3963 | 3964 | 3965 | 3966 | $class 3967 | 3968 | CF$UID 3969 | 44 3970 | 3971 | NS.keys 3972 | 3973 | 3974 | CF$UID 3975 | 379 3976 | 3977 | 3978 | CF$UID 3979 | 380 3980 | 3981 | 3982 | CF$UID 3983 | 381 3984 | 3985 | 3986 | NS.objects 3987 | 3988 | 3989 | CF$UID 3990 | 303 3991 | 3992 | 3993 | CF$UID 3994 | 146 3995 | 3996 | 3997 | CF$UID 3998 | 116 3999 | 4000 | 4001 | 4002 | IDEStackCompressionValue 4003 | IDEThreadOrQueueMode 4004 | IDEShowOnlyInterestingContent 4005 | 4006 | $class 4007 | 4008 | CF$UID 4009 | 44 4010 | 4011 | NS.keys 4012 | 4013 | 4014 | CF$UID 4015 | 383 4016 | 4017 | 4018 | CF$UID 4019 | 384 4020 | 4021 | 4022 | CF$UID 4023 | 385 4024 | 4025 | 4026 | CF$UID 4027 | 386 4028 | 4029 | 4030 | CF$UID 4031 | 387 4032 | 4033 | 4034 | CF$UID 4035 | 388 4036 | 4037 | 4038 | CF$UID 4039 | 389 4040 | 4041 | 4042 | CF$UID 4043 | 390 4044 | 4045 | 4046 | CF$UID 4047 | 391 4048 | 4049 | 4050 | CF$UID 4051 | 392 4052 | 4053 | 4054 | NS.objects 4055 | 4056 | 4057 | CF$UID 4058 | 116 4059 | 4060 | 4061 | CF$UID 4062 | 393 4063 | 4064 | 4065 | CF$UID 4066 | 394 4067 | 4068 | 4069 | CF$UID 4070 | 396 4071 | 4072 | 4073 | CF$UID 4074 | 397 4075 | 4076 | 4077 | CF$UID 4078 | 116 4079 | 4080 | 4081 | CF$UID 4082 | 116 4083 | 4084 | 4085 | CF$UID 4086 | 398 4087 | 4088 | 4089 | CF$UID 4090 | 116 4091 | 4092 | 4093 | CF$UID 4094 | 399 4095 | 4096 | 4097 | 4098 | IDEErrorFilteringEnabled 4099 | IDEVisibleRect 4100 | IDECollapsedFiles 4101 | IDEExpandedIssues 4102 | IDESelectedNavigables 4103 | IDEShowsByType 4104 | IDESchemeFilteringEnabled 4105 | IDECollapsedTypes 4106 | IDERecentFilteringEnabled 4107 | IDECollapsedGroups 4108 | {{0, 0}, {259, 545}} 4109 | 4110 | $class 4111 | 4112 | CF$UID 4113 | 395 4114 | 4115 | NS.objects 4116 | 4117 | 4118 | 4119 | $classes 4120 | 4121 | NSMutableSet 4122 | NSSet 4123 | NSObject 4124 | 4125 | $classname 4126 | NSMutableSet 4127 | 4128 | 4129 | $class 4130 | 4131 | CF$UID 4132 | 395 4133 | 4134 | NS.objects 4135 | 4136 | 4137 | 4138 | $class 4139 | 4140 | CF$UID 4141 | 61 4142 | 4143 | NS.objects 4144 | 4145 | 4146 | 4147 | $class 4148 | 4149 | CF$UID 4150 | 395 4151 | 4152 | NS.objects 4153 | 4154 | 4155 | 4156 | $class 4157 | 4158 | CF$UID 4159 | 395 4160 | 4161 | NS.objects 4162 | 4163 | 4164 | 4165 | $class 4166 | 4167 | CF$UID 4168 | 44 4169 | 4170 | NS.keys 4171 | 4172 | 4173 | CF$UID 4174 | 305 4175 | 4176 | 4177 | NS.objects 4178 | 4179 | 4180 | CF$UID 4181 | 401 4182 | 4183 | 4184 | 4185 | 4186 | $class 4187 | 4188 | CF$UID 4189 | 61 4190 | 4191 | NS.objects 4192 | 4193 | 4194 | CF$UID 4195 | 402 4196 | 4197 | 4198 | CF$UID 4199 | 404 4200 | 4201 | 4202 | CF$UID 4203 | 406 4204 | 4205 | 4206 | 4207 | 4208 | $class 4209 | 4210 | CF$UID 4211 | 58 4212 | 4213 | NS.keys 4214 | 4215 | 4216 | CF$UID 4217 | 308 4218 | 4219 | 4220 | CF$UID 4221 | 309 4222 | 4223 | 4224 | NS.objects 4225 | 4226 | 4227 | CF$UID 4228 | 225 4229 | 4230 | 4231 | CF$UID 4232 | 403 4233 | 4234 | 4235 | 4236 | 260 4237 | 4238 | $class 4239 | 4240 | CF$UID 4241 | 58 4242 | 4243 | NS.keys 4244 | 4245 | 4246 | CF$UID 4247 | 308 4248 | 4249 | 4250 | CF$UID 4251 | 309 4252 | 4253 | 4254 | NS.objects 4255 | 4256 | 4257 | CF$UID 4258 | 221 4259 | 4260 | 4261 | CF$UID 4262 | 405 4263 | 4264 | 4265 | 4266 | 1106 4267 | 4268 | $class 4269 | 4270 | CF$UID 4271 | 58 4272 | 4273 | NS.keys 4274 | 4275 | 4276 | CF$UID 4277 | 308 4278 | 4279 | 4280 | CF$UID 4281 | 309 4282 | 4283 | 4284 | NS.objects 4285 | 4286 | 4287 | CF$UID 4288 | 407 4289 | 4290 | 4291 | CF$UID 4292 | 408 4293 | 4294 | 4295 | 4296 | IDEUtilitiesArea 4297 | 260 4298 | ToolDrawerView.m 4299 | 4300 | $top 4301 | 4302 | State 4303 | 4304 | CF$UID 4305 | 1 4306 | 4307 | 4308 | $version 4309 | 100000 4310 | 4311 | 4312 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/xcuserdata/aspitz.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/xcuserdata/aspitz.xcuserdatad/xcschemes/ToolDrawer.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 39 | 40 | 46 | 47 | 48 | 49 | 50 | 51 | 57 | 58 | 64 | 65 | 66 | 67 | 69 | 70 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/xcuserdata/aspitz.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ToolDrawer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 79745B9B13D31E800065EF70 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/xcuserdata/jcarlson.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/xcuserdata/jcarlson.xcuserdatad/xcschemes/ToolDrawer.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 40 | 41 | 47 | 48 | 49 | 50 | 51 | 52 | 59 | 60 | 66 | 67 | 68 | 69 | 71 | 72 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /ToolDrawer.xcodeproj/xcuserdata/jcarlson.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ToolDrawer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 79745B9B13D31E800065EF70 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ToolDrawer/ToolDrawer-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFiles 12 | 13 | CFBundleIdentifier 14 | spitz.ayal.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1.0 27 | LSRequiresIPhoneOS 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /ToolDrawer/ToolDrawer-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ToolDrawer' target in the 'ToolDrawer' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_4_0 8 | #warning "This project uses features only available in iOS SDK 4.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /ToolDrawer/ToolDrawerAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ToolDrawerAppDelegate.h 3 | // 4 | // Created by Ayal Spitz on 7/17/11. 5 | // Copyright 2011 Ayal Spitz. All rights reserved. 6 | // 7 | // This program is free software: you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation, either version 3 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #import 21 | 22 | @class ToolDrawerViewController; 23 | 24 | @interface ToolDrawerAppDelegate : UIResponder 25 | 26 | @property (retain, nonatomic) UIWindow *window; 27 | 28 | @property (retain, nonatomic) ToolDrawerViewController *viewController; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /ToolDrawer/ToolDrawerAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // ToolDrawerAppDelegate.m 3 | // 4 | // Created by Ayal Spitz on 7/17/11. 5 | // Copyright 2011 Ayal Spitz. All rights reserved. 6 | // 7 | // This program is free software: you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation, either version 3 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #import "ToolDrawerAppDelegate.h" 21 | 22 | #import "ToolDrawerViewController.h" 23 | 24 | @implementation ToolDrawerAppDelegate 25 | 26 | @synthesize window = _window; 27 | @synthesize viewController = _viewController; 28 | 29 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 30 | { 31 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 32 | // Override point for customization after application launch. 33 | self.viewController = [[ToolDrawerViewController alloc] initWithNibName:@"ToolDrawerViewController" bundle:nil]; 34 | self.window.rootViewController = self.viewController; 35 | [self.window makeKeyAndVisible]; 36 | return YES; 37 | } 38 | 39 | - (void)applicationWillResignActive:(UIApplication *)application 40 | { 41 | /* 42 | Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 43 | Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 44 | */ 45 | } 46 | 47 | - (void)applicationDidEnterBackground:(UIApplication *)application 48 | { 49 | /* 50 | Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 51 | If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 52 | */ 53 | } 54 | 55 | - (void)applicationWillEnterForeground:(UIApplication *)application 56 | { 57 | /* 58 | Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 59 | */ 60 | } 61 | 62 | - (void)applicationDidBecomeActive:(UIApplication *)application 63 | { 64 | /* 65 | Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 66 | */ 67 | } 68 | 69 | - (void)applicationWillTerminate:(UIApplication *)application 70 | { 71 | /* 72 | Called when the application is about to terminate. 73 | Save data if appropriate. 74 | See also applicationDidEnterBackground:. 75 | */ 76 | } 77 | 78 | @end 79 | -------------------------------------------------------------------------------- /ToolDrawer/ToolDrawerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ToolDrawerViewController.h 3 | // 4 | // Created by Ayal Spitz on 7/17/11. 5 | // Copyright 2011 Ayal Spitz. All rights reserved. 6 | // 7 | // This program is free software: you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation, either version 3 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #import 21 | 22 | @interface ToolDrawerViewController : UIViewController 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /ToolDrawer/ToolDrawerViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ToolDrawerViewController.m 3 | // 4 | // Created by Ayal Spitz on 7/17/11. 5 | // Copyright 2011 Ayal Spitz. All rights reserved. 6 | // 7 | // This program is free software: you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation, either version 3 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #import "ToolDrawerViewController.h" 21 | #import "ToolDrawerView.h" 22 | 23 | @implementation ToolDrawerViewController 24 | 25 | - (void)didReceiveMemoryWarning 26 | { 27 | [super didReceiveMemoryWarning]; 28 | // Release any cached data, images, etc that aren't in use. 29 | } 30 | 31 | #pragma mark - View lifecycle 32 | 33 | - (void)viewDidLoad 34 | { 35 | [super viewDidLoad]; 36 | 37 | ToolDrawerView *toolDrawerView; 38 | 39 | UIButton *button; 40 | 41 | toolDrawerView = [[ToolDrawerView alloc]initInVerticalCorner:kTopCorner andHorizontalCorner:kLeftCorner moving:kHorizontally]; 42 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 43 | [button setTitle:@"A" forState:UIControlStateNormal]; 44 | [toolDrawerView appendButton:button]; 45 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 46 | [button setTitle:@"B" forState:UIControlStateNormal]; 47 | [toolDrawerView appendButton:button]; 48 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 49 | [button setTitle:@"C" forState:UIControlStateNormal]; 50 | [toolDrawerView appendButton:button]; 51 | [button addTarget:toolDrawerView action:@selector(blinkTabButton) forControlEvents:UIControlEventTouchDown]; 52 | [self.view addSubview:toolDrawerView]; 53 | [toolDrawerView blinkTabButton]; 54 | 55 | toolDrawerView = [[ToolDrawerView alloc]initInVerticalCorner:kTopCorner andHorizontalCorner:kRightCorner moving:kVertically]; 56 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 57 | [button setTitle:@"A" forState:UIControlStateNormal]; 58 | [toolDrawerView appendButton:button]; 59 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 60 | [button setTitle:@"B" forState:UIControlStateNormal]; 61 | [toolDrawerView appendButton:button]; 62 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 63 | [button setTitle:@"C" forState:UIControlStateNormal]; 64 | [toolDrawerView appendButton:button]; 65 | [self.view addSubview:toolDrawerView]; 66 | 67 | toolDrawerView = [[ToolDrawerView alloc]initInVerticalCorner:kBottomCorner andHorizontalCorner:kLeftCorner moving:kVertically]; 68 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 69 | [button setTitle:@"A" forState:UIControlStateNormal]; 70 | [toolDrawerView appendButton:button]; 71 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 72 | [button setTitle:@"B" forState:UIControlStateNormal]; 73 | [toolDrawerView appendButton:button]; 74 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 75 | [button setTitle:@"C" forState:UIControlStateNormal]; 76 | [toolDrawerView appendButton:button]; 77 | [self.view addSubview:toolDrawerView]; 78 | 79 | toolDrawerView = [[ToolDrawerView alloc]initInVerticalCorner:kBottomCorner andHorizontalCorner:kRightCorner moving:kHorizontally]; 80 | [self.view addSubview:toolDrawerView]; 81 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 82 | [button setTitle:@"A" forState:UIControlStateNormal]; 83 | [toolDrawerView appendButton:button]; 84 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 85 | [button setTitle:@"B" forState:UIControlStateNormal]; 86 | [toolDrawerView appendButton:button]; 87 | button = [UIButton buttonWithType:UIButtonTypeCustom]; 88 | [button setTitle:@"C" forState:UIControlStateNormal]; 89 | [toolDrawerView appendButton:button]; 90 | } 91 | 92 | - (void)viewDidUnload 93 | { 94 | [super viewDidUnload]; 95 | // Release any retained subviews of the main view. 96 | // e.g. self.myOutlet = nil; 97 | } 98 | 99 | - (void)viewWillAppear:(BOOL)animated 100 | { 101 | [super viewWillAppear:animated]; 102 | } 103 | 104 | - (void)viewDidAppear:(BOOL)animated 105 | { 106 | [super viewDidAppear:animated]; 107 | } 108 | 109 | - (void)viewWillDisappear:(BOOL)animated 110 | { 111 | [super viewWillDisappear:animated]; 112 | } 113 | 114 | - (void)viewDidDisappear:(BOOL)animated 115 | { 116 | [super viewDidDisappear:animated]; 117 | } 118 | 119 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 120 | { 121 | // Return YES for supported orientations 122 | return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 123 | } 124 | 125 | @end 126 | -------------------------------------------------------------------------------- /ToolDrawer/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /ToolDrawer/en.lproj/ToolDrawerViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 800 5 | 10C540 6 | 759 7 | 1038.25 8 | 458.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 77 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | 42 | 274 43 | {320, 460} 44 | 45 | 46 | 3 47 | MC43NQA 48 | 49 | 2 50 | 51 | 52 | NO 53 | 54 | IBCocoaTouchFramework 55 | 56 | 57 | 58 | 59 | YES 60 | 61 | 62 | view 63 | 64 | 65 | 66 | 7 67 | 68 | 69 | 70 | 71 | YES 72 | 73 | 0 74 | 75 | 76 | 77 | 78 | 79 | -1 80 | 81 | 82 | File's Owner 83 | 84 | 85 | -2 86 | 87 | 88 | 89 | 90 | 6 91 | 92 | 93 | 94 | 95 | 96 | 97 | YES 98 | 99 | YES 100 | -1.CustomClassName 101 | -2.CustomClassName 102 | 6.IBEditorWindowLastContentRect 103 | 6.IBPluginDependency 104 | 105 | 106 | YES 107 | ToolDrawerViewController 108 | UIResponder 109 | {{239, 654}, {320, 480}} 110 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 111 | 112 | 113 | 114 | YES 115 | 116 | 117 | YES 118 | 119 | 120 | 121 | 122 | YES 123 | 124 | 125 | YES 126 | 127 | 128 | 129 | 7 130 | 131 | 132 | 133 | YES 134 | 135 | ToolDrawerViewController 136 | UIViewController 137 | 138 | IBProjectSource 139 | ToolDrawerViewController.h 140 | 141 | 142 | 143 | 144 | 0 145 | IBCocoaTouchFramework 146 | 147 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 148 | 149 | 150 | YES 151 | ToolDrawer.xcodeproj 152 | 3 153 | 77 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /ToolDrawer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ToolDrawer 4 | // 5 | // Created by Ayal Spitz on 7/17/11. 6 | // Copyright 2011 Ayal Spitz. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "ToolDrawerAppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([ToolDrawerAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ToolDrawerView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ToolDrawerView.m 3 | // 4 | // Created by Ayal Spitz on 7/17/11. 5 | // Copyright 2011 Ayal Spitz. All rights reserved. 6 | // 7 | // This program is free software: you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation, either version 3 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #import 21 | 22 | typedef enum{ 23 | kTopCorner = 1, 24 | kBottomCorner = -1 25 | } ToolDrawerVerticalCorner; 26 | 27 | typedef enum{ 28 | kLeftCorner = 1, 29 | kRightCorner = -1 30 | } ToolDrawerHorizontalCorner; 31 | 32 | typedef enum{ 33 | kHorizontally, 34 | kVertically 35 | } ToolDrawerDirection; 36 | 37 | @interface ToolDrawerView : UIView { 38 | NSTimer *toolDrawerFadeTimer; 39 | 40 | CGPoint openPosition; 41 | CGPoint closePosition; 42 | 43 | CGAffineTransform positionTransform; 44 | 45 | UIButton *handleButton; 46 | UIImage *handleButtonImage; 47 | UIImage *handleButtonBlinkImage; 48 | NSTimer *handleButtonBlinkTimer; 49 | 50 | BOOL open; 51 | } 52 | 53 | @property (assign) ToolDrawerHorizontalCorner horizontalCorner; 54 | @property (assign) ToolDrawerVerticalCorner verticalCorner; 55 | @property (assign) ToolDrawerDirection direction; 56 | @property (nonatomic, retain) UIButton *handleButton; 57 | 58 | @property (assign) NSTimeInterval durationToFade; 59 | @property (assign) NSTimeInterval perItemAnimationDuration; 60 | 61 | 62 | - (id)initInVerticalCorner:(ToolDrawerVerticalCorner)vCorner andHorizontalCorner:(ToolDrawerHorizontalCorner)hCorner moving:(ToolDrawerDirection)aDirection; 63 | 64 | - (void)blinkTabButton; 65 | 66 | - (UIButton *)appendItem:(NSString *)imageName; 67 | - (UIButton *)appendImage:(UIImage *)img; 68 | - (void)appendButton:(UIButton *)button; 69 | 70 | - (bool)isOpen; 71 | - (void)open; 72 | - (void)close; 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /ToolDrawerView.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // ToolDrawerView.m 4 | // 5 | // Created by Ayal Spitz on 7/17/11. 6 | // Copyright 2011 Ayal Spitz. All rights reserved. 7 | // 8 | // This program is free software: you can redistribute it and/or modify 9 | // it under the terms of the GNU General Public License as published by 10 | // the Free Software Foundation, either version 3 of the License, or 11 | // (at your option) any later version. 12 | // 13 | // This program is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | 21 | #import "ToolDrawerView.h" 22 | 23 | // Declaring private methods, not really ment for public consumption 24 | @interface ToolDrawerView(Private) 25 | 26 | - (void)createTabButton; 27 | - (UIImage *)createTabButtonImageWithFillColor:(UIColor *)fillColor; 28 | - (void)flipTabButtonImage:(NSTimer*)theTimer; 29 | - (void)resetTabButton; 30 | 31 | - (void)fadeAway:(NSTimer*)theTimer; 32 | - (void)resetFading; 33 | - (void)resetFadeTimer; 34 | 35 | - (void)computePositions; 36 | - (void)updatePosition; 37 | 38 | @end 39 | 40 | 41 | @implementation ToolDrawerView 42 | 43 | #pragma mark 44 | #pragma mark Synthesized fields 45 | 46 | @synthesize horizontalCorner; 47 | @synthesize verticalCorner; 48 | @synthesize direction; 49 | @synthesize handleButton; 50 | 51 | @synthesize durationToFade; 52 | @synthesize perItemAnimationDuration; 53 | 54 | #pragma mark 55 | #pragma mark NSObject lifecycle methods 56 | 57 | - (id)initInVerticalCorner:(ToolDrawerVerticalCorner)vCorner andHorizontalCorner:(ToolDrawerHorizontalCorner)hCorner moving:(ToolDrawerDirection)aDirection{ 58 | // The popup toolbar starts off life as a 50.0 x 50.0 view 59 | if ((self = [super initWithFrame:CGRectMake(0.0, 0.0, 50.0, 50.0)])) { 60 | // It starts off in the close position 61 | open = NO; 62 | // Add the chevron button to the view 63 | [self createTabButton]; 64 | 65 | // Make sure that the background is clear 66 | self.opaque = NO; 67 | 68 | // Capture the corner and direction of the popup toolbar 69 | self.verticalCorner = vCorner; 70 | self.horizontalCorner = hCorner; 71 | self.direction = aDirection; 72 | 73 | // Set the period after which the toolbar should fade 74 | self.durationToFade = 15.0; 75 | // Set the per item animation duration 76 | self.perItemAnimationDuration = 0.3; 77 | 78 | // Start the fade timer 79 | [self resetFadeTimer]; 80 | } 81 | 82 | return self; 83 | } 84 | 85 | // Draw the white boundry of the popup toolbar 86 | - (void)drawRect:(CGRect)rect { 87 | CGContextRef ctx = UIGraphicsGetCurrentContext(); 88 | CGRect iRect = CGRectInset(rect, 0, 0); 89 | CGFloat tabRadius = 35.0; 90 | 91 | // For debug purposes - Draw a red box all the way around the rect 92 | // CGContextSetStrokeColorWithColor(ctx, [UIColor redColor].CGColor); 93 | // CGContextStrokeRect(ctx, rect); 94 | 95 | CGContextSetStrokeColorWithColor(ctx, [UIColor blackColor].CGColor); 96 | CGContextSetLineWidth(ctx, 1.0); 97 | 98 | CGContextBeginPath(ctx); 99 | CGContextMoveToPoint(ctx, iRect.origin.x, iRect.origin.y); 100 | CGContextAddLineToPoint(ctx, iRect.origin.x, iRect.size.height); 101 | CGContextAddLineToPoint(ctx, iRect.size.width - tabRadius, iRect.size.height); 102 | CGContextAddArcToPoint(ctx, iRect.size.width, iRect.size.height, iRect.size.width, iRect.size.height - tabRadius, tabRadius); 103 | CGContextAddLineToPoint(ctx, iRect.size.width, iRect.origin.y); 104 | CGContextAddLineToPoint(ctx, iRect.origin.x, iRect.origin.y); 105 | 106 | CGGradientRef myGradient; 107 | CGColorSpaceRef myColorspace; 108 | size_t num_locations = 2; 109 | CGFloat locations[2] = { 0.0, 1.0 }; 110 | CGFloat components[8] = { 0.0, 0.0, 0.0, 0.65, // Start color 111 | 0.0, 0.0, 0.0, 0.95 }; // End color 112 | 113 | myColorspace = CGColorSpaceCreateDeviceRGB(); 114 | myGradient = CGGradientCreateWithColorComponents (myColorspace, components, 115 | locations, num_locations); 116 | 117 | CGPoint startPoint = CGPointMake(iRect.origin.x,iRect.origin.y), 118 | endPoint = CGPointMake(iRect.origin.x, iRect.origin.y + iRect.size.height); 119 | 120 | CGContextSaveGState(ctx); 121 | CGContextClip(ctx); 122 | CGContextClipToRect(ctx,iRect); 123 | CGContextDrawLinearGradient(ctx, myGradient, startPoint, endPoint, 0); 124 | CGContextRestoreGState(ctx); 125 | 126 | 127 | CGContextStrokePath(ctx); 128 | } 129 | 130 | #pragma mark 131 | #pragma mark Tab button creation methods 132 | 133 | - (void)createTabButton{ 134 | handleButtonImage = [self createTabButtonImageWithFillColor:[UIColor colorWithWhite:1.0 alpha:0.25]]; 135 | handleButtonBlinkImage = [self createTabButtonImageWithFillColor:[UIColor whiteColor]]; 136 | 137 | self.handleButton = [UIButton buttonWithType:UIButtonTypeCustom]; 138 | self.handleButton.frame = CGRectMake(0.0, 0.0, 50.0, 50.0); 139 | self.handleButton.center = CGPointMake(25.0, 25.0); 140 | self.handleButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; 141 | [self.handleButton setImage:handleButtonImage forState:UIControlStateNormal]; 142 | [self.handleButton addTarget:self action:@selector(updatePosition) forControlEvents:UIControlEventTouchDown]; 143 | [self addSubview:self.handleButton]; 144 | } 145 | 146 | // Draw the cheveron button in either the filled or empty state; 147 | - (UIImage *)createTabButtonImageWithFillColor:(UIColor *)fillColor{ 148 | UIGraphicsBeginImageContext(CGSizeMake(24.0, 24.0)); 149 | CGContextRef ctx = UIGraphicsGetCurrentContext(); 150 | 151 | CGContextSetStrokeColorWithColor(ctx, [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6].CGColor); 152 | 153 | CGContextSetFillColorWithColor(ctx, fillColor.CGColor); 154 | CGContextSetLineWidth(ctx, 2.0); 155 | 156 | CGRect circle = CGRectMake(2.0, 2.0, 20.0, 20.0); 157 | // Draw filled circle 158 | CGContextFillEllipseInRect(ctx, circle); 159 | 160 | // Stroke circle 161 | CGContextAddEllipseInRect(ctx, circle); 162 | CGContextStrokePath(ctx); 163 | 164 | // Stroke Chevron 165 | CGFloat chevronOffset = 4.0; 166 | 167 | CGContextBeginPath(ctx); 168 | CGContextMoveToPoint(ctx, 12.0 - chevronOffset, 12.0 - chevronOffset); 169 | CGContextAddLineToPoint(ctx, 12.0 + chevronOffset, 12.0); 170 | CGContextAddLineToPoint(ctx, 12.0 - chevronOffset, 12.0 + chevronOffset); 171 | CGContextAddLineToPoint(ctx, 12.0 - chevronOffset, 12 - chevronOffset); 172 | CGContextSetFillColorWithColor(ctx, [UIColor whiteColor].CGColor); 173 | CGContextFillPath(ctx); 174 | CGContextStrokePath(ctx); 175 | 176 | UIImage *buttonImage = UIGraphicsGetImageFromCurrentImageContext(); 177 | UIGraphicsEndImageContext(); 178 | 179 | return buttonImage; 180 | } 181 | 182 | 183 | #pragma mark 184 | #pragma mark Tab button blinking methods 185 | 186 | - (void)flipTabButtonImage:(NSTimer*)theTimer{ 187 | if (self.handleButton.imageView.image == handleButtonBlinkImage){ 188 | self.handleButton.imageView.image = handleButtonImage; 189 | } else { 190 | self.handleButton.imageView.image = handleButtonBlinkImage; 191 | } 192 | } 193 | 194 | - (void)resetTabButton{ 195 | if (handleButtonBlinkTimer != nil){ 196 | if ([handleButtonBlinkTimer isValid]){ 197 | [handleButtonBlinkTimer invalidate]; 198 | } 199 | 200 | handleButtonBlinkTimer = nil; 201 | } 202 | 203 | self.handleButton.imageView.image = handleButtonImage; 204 | } 205 | 206 | - (void)blinkTabButton{ 207 | handleButtonBlinkTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 208 | target:self 209 | selector:@selector(flipTabButtonImage:) 210 | userInfo:nil 211 | repeats:YES]; 212 | } 213 | 214 | #pragma mark 215 | #pragma mark Toolbar fading methods 216 | 217 | - (void)fadeAway:(NSTimer*)theTimer{ 218 | toolDrawerFadeTimer = nil; 219 | if (self.alpha == 1.0){ 220 | [UIView animateWithDuration:0.5 221 | delay:0.0 222 | options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction 223 | animations:^{ self.alpha = 0.5; } 224 | completion:nil]; 225 | } 226 | } 227 | 228 | - (void)resetFading{ 229 | [self resetFadeTimer]; 230 | self.alpha = 1.0; 231 | } 232 | 233 | - (void)resetFadeTimer{ 234 | [self resetTabButton]; 235 | 236 | // Make sure to clear out the timer if its running 237 | if (toolDrawerFadeTimer != nil){ 238 | if ([toolDrawerFadeTimer isValid]){ 239 | [toolDrawerFadeTimer invalidate]; 240 | } 241 | 242 | toolDrawerFadeTimer = nil; 243 | } 244 | 245 | // Start the timer again 246 | toolDrawerFadeTimer = [NSTimer scheduledTimerWithTimeInterval:self.durationToFade 247 | target:self 248 | selector:@selector(fadeAway:) 249 | userInfo:nil 250 | repeats:NO]; 251 | } 252 | 253 | #pragma mark 254 | #pragma mark Toolbar Items methods 255 | 256 | - (UIButton *)appendItem:(NSString *)imageName{ 257 | // Load source image / mask from file 258 | UIImage *maskImage = [UIImage imageNamed:imageName]; 259 | 260 | // Start a new image context 261 | UIGraphicsBeginImageContext(maskImage.size); 262 | CGContextRef ctx = UIGraphicsGetCurrentContext(); 263 | CGContextTranslateCTM(ctx, 0.0, maskImage.size.height); 264 | CGContextScaleCTM(ctx, 1.0, -1.0); 265 | CGContextSetFillColorWithColor(ctx, [UIColor whiteColor].CGColor); 266 | CGContextClipToMask(ctx, CGRectMake(0.0, 0.0, maskImage.size.width, maskImage.size.height), maskImage.CGImage); 267 | CGContextFillRect(ctx, CGRectMake(0.0, 0.0, maskImage.size.width, maskImage.size.height)); 268 | UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext(); 269 | UIGraphicsEndImageContext(); 270 | 271 | return [self appendImage:finalImage]; 272 | } 273 | 274 | - (UIButton *)appendImage:(UIImage *)img{ 275 | UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 276 | [button setImage:img forState:UIControlStateNormal]; 277 | 278 | [self appendButton:button]; 279 | 280 | return button; 281 | } 282 | 283 | - (void)appendButton:(UIButton *)button{ 284 | int itemCount = self.subviews.count; 285 | 286 | CGRect bounds = self.bounds; 287 | bounds.size.width += 50.0; 288 | self.bounds = bounds; 289 | 290 | button.frame = CGRectMake(0.0, 0.0, 50.0, 50.0); 291 | button.center = CGPointMake(25.0 + (50.0 * (itemCount - 1)), 25.0); 292 | button.autoresizingMask = UIViewAutoresizingFlexibleRightMargin; 293 | button.transform = self.transform; 294 | 295 | [button addTarget:self action:@selector(resetFading) forControlEvents:UIControlEventTouchDown]; 296 | 297 | [self addSubview:button]; 298 | 299 | if (self.superview != nil){ 300 | [self computePositions]; 301 | } 302 | } 303 | 304 | #pragma mark 305 | 306 | - (void)didMoveToSuperview{ 307 | CGRect r = self.superview.bounds; 308 | CGFloat w = r.size.width / 2.0; 309 | CGFloat h = r.size.height / 2.0; 310 | 311 | CGAffineTransform directionTransform; 312 | 313 | if (self.direction == kVertically){ 314 | directionTransform = CGAffineTransformMakeScale(-1.0, 1.0); 315 | directionTransform = CGAffineTransformConcat(directionTransform, CGAffineTransformMakeRotation(-(M_PI / 2.0))); 316 | } else { 317 | directionTransform = CGAffineTransformIdentity; 318 | } 319 | 320 | CGAffineTransform scaleTransform = CGAffineTransformMakeScale(self.horizontalCorner, self.verticalCorner); 321 | 322 | self.transform = CGAffineTransformConcat(directionTransform, scaleTransform); 323 | 324 | for(UIView *subview in self.subviews){ 325 | if (subview != handleButton){ 326 | subview.transform = CGAffineTransformInvert(self.transform); 327 | } 328 | } 329 | 330 | CGAffineTransform screenTransform; 331 | screenTransform = CGAffineTransformMakeTranslation(-w, -h); 332 | screenTransform = CGAffineTransformConcat(screenTransform, scaleTransform); 333 | screenTransform = CGAffineTransformConcat(screenTransform, CGAffineTransformMakeTranslation(w, h)); 334 | 335 | 336 | positionTransform = CGAffineTransformConcat(directionTransform, screenTransform); 337 | 338 | [self computePositions]; 339 | } 340 | 341 | 342 | #pragma mark 343 | #pragma mark Position Methods 344 | 345 | - (bool)isOpen{ 346 | return open; 347 | } 348 | 349 | - (void)open{ 350 | if (![self isOpen]){ 351 | [self updatePosition]; 352 | } 353 | } 354 | 355 | - (void)close{ 356 | if ([self isOpen]){ 357 | [self updatePosition]; 358 | } 359 | } 360 | 361 | - (void)computePositions{ 362 | int itemCount = self.subviews.count - 1; 363 | 364 | openPosition = CGPointMake(self.bounds.size.width / 2.0, self.bounds.size.height / 2.0); 365 | closePosition = CGPointMake(openPosition.x - (50.0 * itemCount), openPosition.y); 366 | 367 | openPosition = CGPointApplyAffineTransform(openPosition, positionTransform); 368 | closePosition = CGPointApplyAffineTransform(closePosition, positionTransform); 369 | 370 | self.center = closePosition; 371 | } 372 | 373 | - (void)updatePosition{ 374 | [self resetFadeTimer]; 375 | NSTimeInterval duration = (self.subviews.count - 1) * self.perItemAnimationDuration; 376 | [UIView animateWithDuration:duration 377 | delay:0.0 378 | options:UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction 379 | animations:^{ 380 | if ([self isOpen]){ 381 | self.center = closePosition; 382 | } else { 383 | self.center = openPosition; 384 | } 385 | 386 | open = !open; 387 | 388 | // If the toolbar isn't at full brightness, ie alpha = 1.0, set it to 1.0 389 | if (self.alpha != 1.0){ 390 | self.alpha = 1.0; 391 | } 392 | 393 | self.handleButton.transform = CGAffineTransformRotate(self.handleButton.transform, M_PI); 394 | } 395 | completion:nil]; 396 | } 397 | 398 | @end -------------------------------------------------------------------------------- /ToolbarView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aspitz/ToolDrawer/c81b8c34c91d89ace14fa76bf236db0e97a3789c/ToolbarView.png -------------------------------------------------------------------------------- /lgpl-3.0.txt: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. 166 | --------------------------------------------------------------------------------