├── .gitignore ├── ADNOrdinalNumberFormatter.h ├── ADNOrdinalNumberFormatter.m ├── ADNOrdinalNumberFormatter.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ └── Development.xcscheme ├── ApplicationDelegate.h ├── ApplicationDelegate.m ├── English.lproj ├── InfoPlist.strings └── MainMenu.xib ├── Info.plist ├── LICENCE.txt ├── Prefix.pch ├── README.textile └── main.m /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | *.pbxuser 3 | *.mode1v3 4 | *.mode2v3 5 | *.perspectivev3 6 | *.xcuserdatad 7 | *.xcuserstate 8 | build/ 9 | -------------------------------------------------------------------------------- /ADNOrdinalNumberFormatter.h: -------------------------------------------------------------------------------- 1 | // 2 | // ADNOrdinalNumberFormatter.h 3 | // ADNOrdinalNumberFormatter 4 | // 5 | // Created by Abizer Nasir 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface ADNOrdinalNumberFormatter : NSNumberFormatter { 12 | 13 | } 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /ADNOrdinalNumberFormatter.m: -------------------------------------------------------------------------------- 1 | // 2 | // ADNOrdinalNumberFormatter.m 3 | // ADNOrdinalNumberFormatter 4 | // 5 | // Created by Abizer Nasir 6 | // 7 | 8 | #import "ADNOrdinalNumberFormatter.h" 9 | 10 | 11 | @implementation ADNOrdinalNumberFormatter 12 | 13 | - (NSString *)stringForObjectValue:(id)anObject { 14 | if (![anObject isKindOfClass:[NSNumber class]]) { 15 | return nil; // Bail! 16 | } 17 | 18 | if ([self minimum] && [anObject integerValue] < [[self minimum] integerValue]) { 19 | anObject = [self minimum]; 20 | } 21 | 22 | if ([self maximum] && [anObject integerValue] > [[self maximum] integerValue]) { 23 | anObject = [self maximum]; 24 | } 25 | 26 | NSString *strRepresentation = [anObject stringValue]; 27 | NSString *lastDigit = [strRepresentation substringFromIndex:([strRepresentation length]-1)]; 28 | 29 | NSString *ordinal; 30 | 31 | if ([strRepresentation hasSuffix:@"11"] || [strRepresentation hasSuffix:@"12"] || [strRepresentation hasSuffix:@"13"]) { 32 | ordinal = @"th"; 33 | } else if ([lastDigit isEqualToString:@"1"]) { 34 | ordinal = @"st"; 35 | } else if ([lastDigit isEqualToString:@"2"]) { 36 | ordinal = @"nd"; 37 | } else if ([lastDigit isEqualToString:@"3"]) { 38 | ordinal = @"rd"; 39 | } else { 40 | ordinal = @"th"; 41 | } 42 | 43 | return [NSString stringWithFormat:@"%@%@", strRepresentation, ordinal]; 44 | } 45 | 46 | 47 | - (BOOL)getObjectValue:(id *)anObject forString:(NSString *)string errorDescription:(NSString **)error { 48 | BOOL isSuccessful = NO; 49 | 50 | NSScanner *scanner; 51 | NSCharacterSet *letters = [NSCharacterSet letterCharacterSet]; 52 | 53 | scanner = [NSScanner scannerWithString:string]; 54 | [scanner setCaseSensitive:NO]; 55 | [scanner setCharactersToBeSkipped:letters]; 56 | 57 | NSInteger integerNumber; 58 | 59 | if ([scanner scanInteger:&integerNumber]){ 60 | isSuccessful = YES; 61 | if (anObject) { 62 | *anObject = [NSNumber numberWithInteger:integerNumber]; 63 | } 64 | } else { 65 | if (error) { 66 | *error = [NSString stringWithFormat:@"Unable to create number from %@", string]; 67 | } 68 | } 69 | 70 | return isSuccessful; 71 | } 72 | 73 | 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /ADNOrdinalNumberFormatter.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; 11 | 256AC3DA0F4B6AC300CF3369 /* ApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* ApplicationDelegate.m */; }; 12 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 13 | 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 14 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 15 | EE7ECC4E128D11D000012945 /* ADNOrdinalNumberFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = EE7ECC4D128D11D000012945 /* ADNOrdinalNumberFormatter.m */; }; 16 | /* End PBXBuildFile section */ 17 | 18 | /* Begin PBXFileReference section */ 19 | 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 20 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 21 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 22 | 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; 23 | 256AC3D80F4B6AC300CF3369 /* ApplicationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationDelegate.h; sourceTree = ""; }; 24 | 256AC3D90F4B6AC300CF3369 /* ApplicationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ApplicationDelegate.m; sourceTree = ""; }; 25 | 256AC3F00F4B6AF500CF3369 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; 26 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 27 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 28 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 29 | 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 30 | 8D1107320486CEB800E47090 /* Ordinals.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ordinals.app; sourceTree = BUILT_PRODUCTS_DIR; }; 31 | EE7ECC4C128D11D000012945 /* ADNOrdinalNumberFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ADNOrdinalNumberFormatter.h; sourceTree = ""; }; 32 | EE7ECC4D128D11D000012945 /* ADNOrdinalNumberFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ADNOrdinalNumberFormatter.m; sourceTree = ""; }; 33 | /* End PBXFileReference section */ 34 | 35 | /* Begin PBXFrameworksBuildPhase section */ 36 | 8D11072E0486CEB800E47090 /* Frameworks */ = { 37 | isa = PBXFrameworksBuildPhase; 38 | buildActionMask = 2147483647; 39 | files = ( 40 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, 41 | ); 42 | runOnlyForDeploymentPostprocessing = 0; 43 | }; 44 | /* End PBXFrameworksBuildPhase section */ 45 | 46 | /* Begin PBXGroup section */ 47 | 080E96DDFE201D6D7F000001 /* Classes */ = { 48 | isa = PBXGroup; 49 | children = ( 50 | EE07D9A4128D08AE001D1AC7 /* Formatter Class */, 51 | 256AC3D80F4B6AC300CF3369 /* ApplicationDelegate.h */, 52 | 256AC3D90F4B6AC300CF3369 /* ApplicationDelegate.m */, 53 | ); 54 | name = Classes; 55 | sourceTree = ""; 56 | }; 57 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { 58 | isa = PBXGroup; 59 | children = ( 60 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 61 | ); 62 | name = "Linked Frameworks"; 63 | sourceTree = ""; 64 | }; 65 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { 66 | isa = PBXGroup; 67 | children = ( 68 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 69 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, 70 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */, 71 | ); 72 | name = "Other Frameworks"; 73 | sourceTree = ""; 74 | }; 75 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 76 | isa = PBXGroup; 77 | children = ( 78 | 8D1107320486CEB800E47090 /* Ordinals.app */, 79 | ); 80 | name = Products; 81 | sourceTree = ""; 82 | }; 83 | 29B97314FDCFA39411CA2CEA /* ADNOrdinalNumberFormatter */ = { 84 | isa = PBXGroup; 85 | children = ( 86 | 080E96DDFE201D6D7F000001 /* Classes */, 87 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 88 | 29B97317FDCFA39411CA2CEA /* Resources */, 89 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 90 | 19C28FACFE9D520D11CA2CBB /* Products */, 91 | ); 92 | name = ADNOrdinalNumberFormatter; 93 | sourceTree = ""; 94 | }; 95 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 96 | isa = PBXGroup; 97 | children = ( 98 | 256AC3F00F4B6AF500CF3369 /* Prefix.pch */, 99 | 29B97316FDCFA39411CA2CEA /* main.m */, 100 | ); 101 | name = "Other Sources"; 102 | sourceTree = ""; 103 | }; 104 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | 8D1107310486CEB800E47090 /* Info.plist */, 108 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 109 | 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, 110 | ); 111 | name = Resources; 112 | sourceTree = ""; 113 | }; 114 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 115 | isa = PBXGroup; 116 | children = ( 117 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 118 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, 119 | ); 120 | name = Frameworks; 121 | sourceTree = ""; 122 | }; 123 | EE07D9A4128D08AE001D1AC7 /* Formatter Class */ = { 124 | isa = PBXGroup; 125 | children = ( 126 | EE7ECC4C128D11D000012945 /* ADNOrdinalNumberFormatter.h */, 127 | EE7ECC4D128D11D000012945 /* ADNOrdinalNumberFormatter.m */, 128 | ); 129 | name = "Formatter Class"; 130 | sourceTree = ""; 131 | }; 132 | /* End PBXGroup section */ 133 | 134 | /* Begin PBXNativeTarget section */ 135 | 8D1107260486CEB800E47090 /* ADNOrdinalNumberFormatter */ = { 136 | isa = PBXNativeTarget; 137 | buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "ADNOrdinalNumberFormatter" */; 138 | buildPhases = ( 139 | 8D1107290486CEB800E47090 /* Resources */, 140 | 8D11072C0486CEB800E47090 /* Sources */, 141 | 8D11072E0486CEB800E47090 /* Frameworks */, 142 | ); 143 | buildRules = ( 144 | ); 145 | dependencies = ( 146 | ); 147 | name = ADNOrdinalNumberFormatter; 148 | productInstallPath = "$(HOME)/Applications"; 149 | productName = ADNOrdinalNumberFormatter; 150 | productReference = 8D1107320486CEB800E47090 /* Ordinals.app */; 151 | productType = "com.apple.product-type.application"; 152 | }; 153 | /* End PBXNativeTarget section */ 154 | 155 | /* Begin PBXProject section */ 156 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 157 | isa = PBXProject; 158 | attributes = { 159 | LastUpgradeCheck = 0410; 160 | }; 161 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ADNOrdinalNumberFormatter" */; 162 | compatibilityVersion = "Xcode 3.2"; 163 | developmentRegion = English; 164 | hasScannedForEncodings = 1; 165 | knownRegions = ( 166 | English, 167 | Japanese, 168 | French, 169 | German, 170 | ); 171 | mainGroup = 29B97314FDCFA39411CA2CEA /* ADNOrdinalNumberFormatter */; 172 | projectDirPath = ""; 173 | projectRoot = ""; 174 | targets = ( 175 | 8D1107260486CEB800E47090 /* ADNOrdinalNumberFormatter */, 176 | ); 177 | }; 178 | /* End PBXProject section */ 179 | 180 | /* Begin PBXResourcesBuildPhase section */ 181 | 8D1107290486CEB800E47090 /* Resources */ = { 182 | isa = PBXResourcesBuildPhase; 183 | buildActionMask = 2147483647; 184 | files = ( 185 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 186 | 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, 187 | ); 188 | runOnlyForDeploymentPostprocessing = 0; 189 | }; 190 | /* End PBXResourcesBuildPhase section */ 191 | 192 | /* Begin PBXSourcesBuildPhase section */ 193 | 8D11072C0486CEB800E47090 /* Sources */ = { 194 | isa = PBXSourcesBuildPhase; 195 | buildActionMask = 2147483647; 196 | files = ( 197 | 8D11072D0486CEB800E47090 /* main.m in Sources */, 198 | 256AC3DA0F4B6AC300CF3369 /* ApplicationDelegate.m in Sources */, 199 | EE7ECC4E128D11D000012945 /* ADNOrdinalNumberFormatter.m in Sources */, 200 | ); 201 | runOnlyForDeploymentPostprocessing = 0; 202 | }; 203 | /* End PBXSourcesBuildPhase section */ 204 | 205 | /* Begin PBXVariantGroup section */ 206 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { 207 | isa = PBXVariantGroup; 208 | children = ( 209 | 089C165DFE840E0CC02AAC07 /* English */, 210 | ); 211 | name = InfoPlist.strings; 212 | sourceTree = ""; 213 | }; 214 | 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { 215 | isa = PBXVariantGroup; 216 | children = ( 217 | 1DDD58150DA1D0A300B32029 /* English */, 218 | ); 219 | name = MainMenu.xib; 220 | sourceTree = ""; 221 | }; 222 | /* End PBXVariantGroup section */ 223 | 224 | /* Begin XCBuildConfiguration section */ 225 | C01FCF4B08A954540054247B /* Debug */ = { 226 | isa = XCBuildConfiguration; 227 | buildSettings = { 228 | ALWAYS_SEARCH_USER_PATHS = NO; 229 | COPY_PHASE_STRIP = NO; 230 | GCC_DYNAMIC_NO_PIC = NO; 231 | GCC_MODEL_TUNING = G5; 232 | GCC_OPTIMIZATION_LEVEL = 0; 233 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 234 | GCC_PREFIX_HEADER = Prefix.pch; 235 | INFOPLIST_FILE = Info.plist; 236 | INSTALL_PATH = "$(HOME)/Applications"; 237 | PRODUCT_NAME = Ordinals; 238 | }; 239 | name = Debug; 240 | }; 241 | C01FCF4C08A954540054247B /* Release */ = { 242 | isa = XCBuildConfiguration; 243 | buildSettings = { 244 | ALWAYS_SEARCH_USER_PATHS = NO; 245 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 246 | GCC_MODEL_TUNING = G5; 247 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 248 | GCC_PREFIX_HEADER = ADNOrdinalNumberFormatter_Prefix.pch; 249 | INFOPLIST_FILE = Info.plist; 250 | INSTALL_PATH = "$(HOME)/Applications"; 251 | PRODUCT_NAME = ADNOrdinalNumberFormatter; 252 | }; 253 | name = Release; 254 | }; 255 | C01FCF4F08A954540054247B /* Debug */ = { 256 | isa = XCBuildConfiguration; 257 | buildSettings = { 258 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 259 | GCC_C_LANGUAGE_STANDARD = gnu99; 260 | GCC_OPTIMIZATION_LEVEL = 0; 261 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 262 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 263 | GCC_WARN_UNUSED_VARIABLE = YES; 264 | MACOSX_DEPLOYMENT_TARGET = 10.6; 265 | ONLY_ACTIVE_ARCH = YES; 266 | RUN_CLANG_STATIC_ANALYZER = YES; 267 | SDKROOT = macosx; 268 | }; 269 | name = Debug; 270 | }; 271 | C01FCF5008A954540054247B /* Release */ = { 272 | isa = XCBuildConfiguration; 273 | buildSettings = { 274 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 275 | GCC_C_LANGUAGE_STANDARD = gnu99; 276 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 277 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 278 | GCC_WARN_UNUSED_VARIABLE = YES; 279 | MACOSX_DEPLOYMENT_TARGET = 10.6; 280 | RUN_CLANG_STATIC_ANALYZER = YES; 281 | SDKROOT = macosx; 282 | }; 283 | name = Release; 284 | }; 285 | /* End XCBuildConfiguration section */ 286 | 287 | /* Begin XCConfigurationList section */ 288 | C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "ADNOrdinalNumberFormatter" */ = { 289 | isa = XCConfigurationList; 290 | buildConfigurations = ( 291 | C01FCF4B08A954540054247B /* Debug */, 292 | C01FCF4C08A954540054247B /* Release */, 293 | ); 294 | defaultConfigurationIsVisible = 0; 295 | defaultConfigurationName = Release; 296 | }; 297 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ADNOrdinalNumberFormatter" */ = { 298 | isa = XCConfigurationList; 299 | buildConfigurations = ( 300 | C01FCF4F08A954540054247B /* Debug */, 301 | C01FCF5008A954540054247B /* Release */, 302 | ); 303 | defaultConfigurationIsVisible = 0; 304 | defaultConfigurationName = Release; 305 | }; 306 | /* End XCConfigurationList section */ 307 | }; 308 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 309 | } 310 | -------------------------------------------------------------------------------- /ADNOrdinalNumberFormatter.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ADNOrdinalNumberFormatter.xcodeproj/xcshareddata/xcschemes/Development.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 45 | 46 | 47 | 48 | 49 | 50 | 55 | 56 | 62 | 63 | 64 | 65 | 67 | 68 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /ApplicationDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ADNOrdinalNumberFormatter 4 | // 5 | // Created by Abizer Nasir 6 | // 7 | 8 | #import 9 | @class ADNOrdinalNumberFormatter; 10 | 11 | @interface ApplicationDelegate : NSObject { 12 | @private 13 | NSWindow *window; 14 | NSTextField *inputField; 15 | NSInteger number; 16 | 17 | ADNOrdinalNumberFormatter *numberFormatter; 18 | 19 | } 20 | 21 | @property (assign) IBOutlet NSWindow *window; 22 | @property (assign) IBOutlet NSTextField *inputField; 23 | @property (assign) NSInteger number; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /ApplicationDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // ADNOrdinalNumberFormatter 4 | // 5 | // Created by Abizer Nasir 6 | // 7 | 8 | #import "ApplicationDelegate.h" 9 | #import "ADNOrdinalNumberFormatter.h" 10 | 11 | @implementation ApplicationDelegate 12 | 13 | @synthesize window; 14 | @synthesize inputField; 15 | @synthesize number; 16 | 17 | - (id)init { 18 | if (!(self = [super init])) { 19 | return nil; // Bail! 20 | } 21 | number = 50; 22 | [numberFormatter = [ADNOrdinalNumberFormatter alloc] init]; 23 | [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 24 | [numberFormatter setMinimum:[NSNumber numberWithInteger:0]]; 25 | [numberFormatter setMaximum:[NSNumber numberWithInteger:200]]; 26 | 27 | return self; 28 | } 29 | 30 | - (void)awakeFromNib { 31 | [[self.inputField cell] setFormatter:numberFormatter]; 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /English.lproj/MainMenu.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1060 5 | 10H574 6 | 804 7 | 1038.35 8 | 461.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 804 12 | 13 | 14 | 15 | 16 | 17 | com.apple.InterfaceBuilder.CocoaPlugin 18 | 19 | 20 | PluginDependencyRecalculationVersion 21 | 22 | 23 | 24 | 25 | NSApplication 26 | 27 | 28 | FirstResponder 29 | 30 | 31 | NSApplication 32 | 33 | 34 | AMainMenu 35 | 36 | 37 | 38 | Ordinals 39 | 40 | 1048576 41 | 2147483647 42 | 43 | NSImage 44 | NSMenuCheckmark 45 | 46 | 47 | NSImage 48 | NSMenuMixedState 49 | 50 | submenuAction: 51 | 52 | Ordinals 53 | 54 | 55 | 56 | About Ordinals 57 | 58 | 2147483647 59 | 60 | 61 | 62 | 63 | 64 | YES 65 | YES 66 | 67 | 68 | 1048576 69 | 2147483647 70 | 71 | 72 | 73 | 74 | 75 | Preferences… 76 | , 77 | 1048576 78 | 2147483647 79 | 80 | 81 | 82 | 83 | 84 | YES 85 | YES 86 | 87 | 88 | 1048576 89 | 2147483647 90 | 91 | 92 | 93 | 94 | 95 | Services 96 | 97 | 1048576 98 | 2147483647 99 | 100 | 101 | submenuAction: 102 | 103 | Services 104 | 105 | _NSServicesMenu 106 | 107 | 108 | 109 | 110 | YES 111 | YES 112 | 113 | 114 | 1048576 115 | 2147483647 116 | 117 | 118 | 119 | 120 | 121 | Hide Ordinals 122 | h 123 | 1048576 124 | 2147483647 125 | 126 | 127 | 128 | 129 | 130 | Hide Others 131 | h 132 | 1572864 133 | 2147483647 134 | 135 | 136 | 137 | 138 | 139 | Show All 140 | 141 | 1048576 142 | 2147483647 143 | 144 | 145 | 146 | 147 | 148 | YES 149 | YES 150 | 151 | 152 | 1048576 153 | 2147483647 154 | 155 | 156 | 157 | 158 | 159 | Quit Ordinals 160 | q 161 | 1048576 162 | 2147483647 163 | 164 | 165 | 166 | 167 | _NSAppleMenu 168 | 169 | 170 | 171 | 172 | File 173 | 174 | 1048576 175 | 2147483647 176 | 177 | 178 | submenuAction: 179 | 180 | File 181 | 182 | 183 | 184 | New 185 | n 186 | 1048576 187 | 2147483647 188 | 189 | 190 | 191 | 192 | 193 | Open… 194 | o 195 | 1048576 196 | 2147483647 197 | 198 | 199 | 200 | 201 | 202 | Open Recent 203 | 204 | 1048576 205 | 2147483647 206 | 207 | 208 | submenuAction: 209 | 210 | Open Recent 211 | 212 | 213 | 214 | Clear Menu 215 | 216 | 1048576 217 | 2147483647 218 | 219 | 220 | 221 | 222 | _NSRecentDocumentsMenu 223 | 224 | 225 | 226 | 227 | YES 228 | YES 229 | 230 | 231 | 1048576 232 | 2147483647 233 | 234 | 235 | 236 | 237 | 238 | Close 239 | w 240 | 1048576 241 | 2147483647 242 | 243 | 244 | 245 | 246 | 247 | Save 248 | s 249 | 1048576 250 | 2147483647 251 | 252 | 253 | 254 | 255 | 256 | Save As… 257 | S 258 | 1179648 259 | 2147483647 260 | 261 | 262 | 263 | 264 | 265 | Revert to Saved 266 | 267 | 2147483647 268 | 269 | 270 | 271 | 272 | 273 | YES 274 | YES 275 | 276 | 277 | 1048576 278 | 2147483647 279 | 280 | 281 | 282 | 283 | 284 | Page Setup... 285 | P 286 | 1179648 287 | 2147483647 288 | 289 | 290 | 291 | 292 | 293 | 294 | Print… 295 | p 296 | 1048576 297 | 2147483647 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | Edit 307 | 308 | 1048576 309 | 2147483647 310 | 311 | 312 | submenuAction: 313 | 314 | Edit 315 | 316 | 317 | 318 | Undo 319 | z 320 | 1048576 321 | 2147483647 322 | 323 | 324 | 325 | 326 | 327 | Redo 328 | Z 329 | 1179648 330 | 2147483647 331 | 332 | 333 | 334 | 335 | 336 | YES 337 | YES 338 | 339 | 340 | 1048576 341 | 2147483647 342 | 343 | 344 | 345 | 346 | 347 | Cut 348 | x 349 | 1048576 350 | 2147483647 351 | 352 | 353 | 354 | 355 | 356 | Copy 357 | c 358 | 1048576 359 | 2147483647 360 | 361 | 362 | 363 | 364 | 365 | Paste 366 | v 367 | 1048576 368 | 2147483647 369 | 370 | 371 | 372 | 373 | 374 | Paste and Match Style 375 | V 376 | 1572864 377 | 2147483647 378 | 379 | 380 | 381 | 382 | 383 | Delete 384 | 385 | 1048576 386 | 2147483647 387 | 388 | 389 | 390 | 391 | 392 | Select All 393 | a 394 | 1048576 395 | 2147483647 396 | 397 | 398 | 399 | 400 | 401 | YES 402 | YES 403 | 404 | 405 | 1048576 406 | 2147483647 407 | 408 | 409 | 410 | 411 | 412 | Find 413 | 414 | 1048576 415 | 2147483647 416 | 417 | 418 | submenuAction: 419 | 420 | Find 421 | 422 | 423 | 424 | Find… 425 | f 426 | 1048576 427 | 2147483647 428 | 429 | 430 | 1 431 | 432 | 433 | 434 | Find Next 435 | g 436 | 1048576 437 | 2147483647 438 | 439 | 440 | 2 441 | 442 | 443 | 444 | Find Previous 445 | G 446 | 1179648 447 | 2147483647 448 | 449 | 450 | 3 451 | 452 | 453 | 454 | Use Selection for Find 455 | e 456 | 1048576 457 | 2147483647 458 | 459 | 460 | 7 461 | 462 | 463 | 464 | Jump to Selection 465 | j 466 | 1048576 467 | 2147483647 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | Spelling and Grammar 477 | 478 | 1048576 479 | 2147483647 480 | 481 | 482 | submenuAction: 483 | 484 | Spelling and Grammar 485 | 486 | 487 | 488 | Show Spelling and Grammar 489 | : 490 | 1048576 491 | 2147483647 492 | 493 | 494 | 495 | 496 | 497 | Check Document Now 498 | ; 499 | 1048576 500 | 2147483647 501 | 502 | 503 | 504 | 505 | 506 | YES 507 | YES 508 | 509 | 510 | 2147483647 511 | 512 | 513 | 514 | 515 | 516 | Check Spelling While Typing 517 | 518 | 1048576 519 | 2147483647 520 | 521 | 522 | 523 | 524 | 525 | Check Grammar With Spelling 526 | 527 | 1048576 528 | 2147483647 529 | 530 | 531 | 532 | 533 | 534 | Correct Spelling Automatically 535 | 536 | 2147483647 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | Substitutions 546 | 547 | 1048576 548 | 2147483647 549 | 550 | 551 | submenuAction: 552 | 553 | Substitutions 554 | 555 | 556 | 557 | Show Substitutions 558 | 559 | 2147483647 560 | 561 | 562 | 563 | 564 | 565 | YES 566 | YES 567 | 568 | 569 | 2147483647 570 | 571 | 572 | 573 | 574 | 575 | Smart Copy/Paste 576 | f 577 | 1048576 578 | 2147483647 579 | 580 | 581 | 1 582 | 583 | 584 | 585 | Smart Quotes 586 | g 587 | 1048576 588 | 2147483647 589 | 590 | 591 | 2 592 | 593 | 594 | 595 | Smart Dashes 596 | 597 | 2147483647 598 | 599 | 600 | 601 | 602 | 603 | Smart Links 604 | G 605 | 1179648 606 | 2147483647 607 | 608 | 609 | 3 610 | 611 | 612 | 613 | Text Replacement 614 | 615 | 2147483647 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | Transformations 625 | 626 | 2147483647 627 | 628 | 629 | submenuAction: 630 | 631 | Transformations 632 | 633 | 634 | 635 | Make Upper Case 636 | 637 | 2147483647 638 | 639 | 640 | 641 | 642 | 643 | Make Lower Case 644 | 645 | 2147483647 646 | 647 | 648 | 649 | 650 | 651 | Capitalize 652 | 653 | 2147483647 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | Speech 663 | 664 | 1048576 665 | 2147483647 666 | 667 | 668 | submenuAction: 669 | 670 | Speech 671 | 672 | 673 | 674 | Start Speaking 675 | 676 | 1048576 677 | 2147483647 678 | 679 | 680 | 681 | 682 | 683 | Stop Speaking 684 | 685 | 1048576 686 | 2147483647 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | Format 699 | 700 | 2147483647 701 | 702 | 703 | submenuAction: 704 | 705 | Format 706 | 707 | 708 | 709 | Font 710 | 711 | 2147483647 712 | 713 | 714 | submenuAction: 715 | 716 | Font 717 | 718 | 719 | 720 | Show Fonts 721 | t 722 | 1048576 723 | 2147483647 724 | 725 | 726 | 727 | 728 | 729 | Bold 730 | b 731 | 1048576 732 | 2147483647 733 | 734 | 735 | 2 736 | 737 | 738 | 739 | Italic 740 | i 741 | 1048576 742 | 2147483647 743 | 744 | 745 | 1 746 | 747 | 748 | 749 | Underline 750 | u 751 | 1048576 752 | 2147483647 753 | 754 | 755 | 756 | 757 | 758 | YES 759 | YES 760 | 761 | 762 | 2147483647 763 | 764 | 765 | 766 | 767 | 768 | Bigger 769 | + 770 | 1048576 771 | 2147483647 772 | 773 | 774 | 3 775 | 776 | 777 | 778 | Smaller 779 | - 780 | 1048576 781 | 2147483647 782 | 783 | 784 | 4 785 | 786 | 787 | 788 | YES 789 | YES 790 | 791 | 792 | 2147483647 793 | 794 | 795 | 796 | 797 | 798 | Kern 799 | 800 | 2147483647 801 | 802 | 803 | submenuAction: 804 | 805 | Kern 806 | 807 | 808 | 809 | Use Default 810 | 811 | 2147483647 812 | 813 | 814 | 815 | 816 | 817 | Use None 818 | 819 | 2147483647 820 | 821 | 822 | 823 | 824 | 825 | Tighten 826 | 827 | 2147483647 828 | 829 | 830 | 831 | 832 | 833 | Loosen 834 | 835 | 2147483647 836 | 837 | 838 | 839 | 840 | 841 | 842 | 843 | 844 | Ligature 845 | 846 | 2147483647 847 | 848 | 849 | submenuAction: 850 | 851 | Ligature 852 | 853 | 854 | 855 | Use Default 856 | 857 | 2147483647 858 | 859 | 860 | 861 | 862 | 863 | Use None 864 | 865 | 2147483647 866 | 867 | 868 | 869 | 870 | 871 | Use All 872 | 873 | 2147483647 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | Baseline 883 | 884 | 2147483647 885 | 886 | 887 | submenuAction: 888 | 889 | Baseline 890 | 891 | 892 | 893 | Use Default 894 | 895 | 2147483647 896 | 897 | 898 | 899 | 900 | 901 | Superscript 902 | 903 | 2147483647 904 | 905 | 906 | 907 | 908 | 909 | Subscript 910 | 911 | 2147483647 912 | 913 | 914 | 915 | 916 | 917 | Raise 918 | 919 | 2147483647 920 | 921 | 922 | 923 | 924 | 925 | Lower 926 | 927 | 2147483647 928 | 929 | 930 | 931 | 932 | 933 | 934 | 935 | 936 | YES 937 | YES 938 | 939 | 940 | 2147483647 941 | 942 | 943 | 944 | 945 | 946 | Show Colors 947 | C 948 | 1048576 949 | 2147483647 950 | 951 | 952 | 953 | 954 | 955 | YES 956 | YES 957 | 958 | 959 | 2147483647 960 | 961 | 962 | 963 | 964 | 965 | Copy Style 966 | c 967 | 1572864 968 | 2147483647 969 | 970 | 971 | 972 | 973 | 974 | Paste Style 975 | v 976 | 1572864 977 | 2147483647 978 | 979 | 980 | 981 | 982 | _NSFontMenu 983 | 984 | 985 | 986 | 987 | Text 988 | 989 | 2147483647 990 | 991 | 992 | submenuAction: 993 | 994 | Text 995 | 996 | 997 | 998 | Align Left 999 | { 1000 | 1048576 1001 | 2147483647 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | Center 1008 | | 1009 | 1048576 1010 | 2147483647 1011 | 1012 | 1013 | 1014 | 1015 | 1016 | Justify 1017 | 1018 | 2147483647 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | Align Right 1025 | } 1026 | 1048576 1027 | 2147483647 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | YES 1034 | YES 1035 | 1036 | 1037 | 2147483647 1038 | 1039 | 1040 | 1041 | 1042 | 1043 | Writing Direction 1044 | 1045 | 2147483647 1046 | 1047 | 1048 | submenuAction: 1049 | 1050 | Writing Direction 1051 | 1052 | 1053 | 1054 | YES 1055 | Paragraph 1056 | 1057 | 2147483647 1058 | 1059 | 1060 | 1061 | 1062 | 1063 | CURlZmF1bHQ 1064 | 1065 | 2147483647 1066 | 1067 | 1068 | 1069 | 1070 | 1071 | CUxlZnQgdG8gUmlnaHQ 1072 | 1073 | 2147483647 1074 | 1075 | 1076 | 1077 | 1078 | 1079 | CVJpZ2h0IHRvIExlZnQ 1080 | 1081 | 2147483647 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | YES 1088 | YES 1089 | 1090 | 1091 | 2147483647 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | YES 1098 | Selection 1099 | 1100 | 2147483647 1101 | 1102 | 1103 | 1104 | 1105 | 1106 | CURlZmF1bHQ 1107 | 1108 | 2147483647 1109 | 1110 | 1111 | 1112 | 1113 | 1114 | CUxlZnQgdG8gUmlnaHQ 1115 | 1116 | 2147483647 1117 | 1118 | 1119 | 1120 | 1121 | 1122 | CVJpZ2h0IHRvIExlZnQ 1123 | 1124 | 2147483647 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | 1131 | 1132 | 1133 | YES 1134 | YES 1135 | 1136 | 1137 | 2147483647 1138 | 1139 | 1140 | 1141 | 1142 | 1143 | Show Ruler 1144 | 1145 | 2147483647 1146 | 1147 | 1148 | 1149 | 1150 | 1151 | Copy Ruler 1152 | c 1153 | 1310720 1154 | 2147483647 1155 | 1156 | 1157 | 1158 | 1159 | 1160 | Paste Ruler 1161 | v 1162 | 1310720 1163 | 2147483647 1164 | 1165 | 1166 | 1167 | 1168 | 1169 | 1170 | 1171 | 1172 | 1173 | 1174 | 1175 | View 1176 | 1177 | 1048576 1178 | 2147483647 1179 | 1180 | 1181 | submenuAction: 1182 | 1183 | View 1184 | 1185 | 1186 | 1187 | Show Toolbar 1188 | t 1189 | 1572864 1190 | 2147483647 1191 | 1192 | 1193 | 1194 | 1195 | 1196 | Customize Toolbar… 1197 | 1198 | 1048576 1199 | 2147483647 1200 | 1201 | 1202 | 1203 | 1204 | 1205 | 1206 | 1207 | 1208 | Window 1209 | 1210 | 1048576 1211 | 2147483647 1212 | 1213 | 1214 | submenuAction: 1215 | 1216 | Window 1217 | 1218 | 1219 | 1220 | Minimize 1221 | m 1222 | 1048576 1223 | 2147483647 1224 | 1225 | 1226 | 1227 | 1228 | 1229 | Zoom 1230 | 1231 | 1048576 1232 | 2147483647 1233 | 1234 | 1235 | 1236 | 1237 | 1238 | YES 1239 | YES 1240 | 1241 | 1242 | 1048576 1243 | 2147483647 1244 | 1245 | 1246 | 1247 | 1248 | 1249 | Bring All to Front 1250 | 1251 | 1048576 1252 | 2147483647 1253 | 1254 | 1255 | 1256 | 1257 | _NSWindowsMenu 1258 | 1259 | 1260 | 1261 | 1262 | Help 1263 | 1264 | 2147483647 1265 | 1266 | 1267 | submenuAction: 1268 | 1269 | Help 1270 | 1271 | 1272 | 1273 | Ordinals Help 1274 | ? 1275 | 1048576 1276 | 2147483647 1277 | 1278 | 1279 | 1280 | 1281 | _NSHelpMenu 1282 | 1283 | 1284 | 1285 | _NSMainMenu 1286 | 1287 | 1288 | 7 1289 | 2 1290 | {{335, 390}, {480, 113}} 1291 | 1954022400 1292 | Ordinals 1293 | NSWindow 1294 | 1295 | {1.79769e+308, 1.79769e+308} 1296 | 1297 | 1298 | 256 1299 | 1300 | 1301 | 1302 | 268 1303 | {{18, 74}, {444, 21}} 1304 | 1305 | 1306 | YES 1307 | 1308 | -2079981824 1309 | 0 1310 | 1311 | 1312 | 200 1313 | 0.0 1314 | 50 1315 | 0.0 1316 | 0 1317 | 0 1318 | NO 1319 | NO 1320 | 1321 | 1322 | 1323 | 1324 | 268 1325 | {{192, 20}, {96, 22}} 1326 | 1327 | YES 1328 | 1329 | -1803944383 1330 | 272630784 1331 | 1332 | 1333 | LucidaGrande 1334 | 13 1335 | 1044 1336 | 1337 | 1338 | YES 1339 | 1340 | 6 1341 | System 1342 | textBackgroundColor 1343 | 1344 | 3 1345 | MQA 1346 | 1347 | 1348 | 1349 | 6 1350 | System 1351 | textColor 1352 | 1353 | 3 1354 | MAA 1355 | 1356 | 1357 | 1358 | 1359 | 1360 | {480, 113} 1361 | 1362 | 1363 | 1364 | {{0, 0}, {1440, 878}} 1365 | {1.79769e+308, 1.79769e+308} 1366 | 1367 | 1368 | ApplicationDelegate 1369 | 1370 | 1371 | 1372 | 1373 | 1374 | 1375 | performMiniaturize: 1376 | 1377 | 1378 | 1379 | 37 1380 | 1381 | 1382 | 1383 | arrangeInFront: 1384 | 1385 | 1386 | 1387 | 39 1388 | 1389 | 1390 | 1391 | print: 1392 | 1393 | 1394 | 1395 | 86 1396 | 1397 | 1398 | 1399 | runPageLayout: 1400 | 1401 | 1402 | 1403 | 87 1404 | 1405 | 1406 | 1407 | clearRecentDocuments: 1408 | 1409 | 1410 | 1411 | 127 1412 | 1413 | 1414 | 1415 | orderFrontStandardAboutPanel: 1416 | 1417 | 1418 | 1419 | 142 1420 | 1421 | 1422 | 1423 | performClose: 1424 | 1425 | 1426 | 1427 | 193 1428 | 1429 | 1430 | 1431 | toggleContinuousSpellChecking: 1432 | 1433 | 1434 | 1435 | 222 1436 | 1437 | 1438 | 1439 | undo: 1440 | 1441 | 1442 | 1443 | 223 1444 | 1445 | 1446 | 1447 | copy: 1448 | 1449 | 1450 | 1451 | 224 1452 | 1453 | 1454 | 1455 | checkSpelling: 1456 | 1457 | 1458 | 1459 | 225 1460 | 1461 | 1462 | 1463 | paste: 1464 | 1465 | 1466 | 1467 | 226 1468 | 1469 | 1470 | 1471 | stopSpeaking: 1472 | 1473 | 1474 | 1475 | 227 1476 | 1477 | 1478 | 1479 | cut: 1480 | 1481 | 1482 | 1483 | 228 1484 | 1485 | 1486 | 1487 | showGuessPanel: 1488 | 1489 | 1490 | 1491 | 230 1492 | 1493 | 1494 | 1495 | redo: 1496 | 1497 | 1498 | 1499 | 231 1500 | 1501 | 1502 | 1503 | selectAll: 1504 | 1505 | 1506 | 1507 | 232 1508 | 1509 | 1510 | 1511 | startSpeaking: 1512 | 1513 | 1514 | 1515 | 233 1516 | 1517 | 1518 | 1519 | delete: 1520 | 1521 | 1522 | 1523 | 235 1524 | 1525 | 1526 | 1527 | performZoom: 1528 | 1529 | 1530 | 1531 | 240 1532 | 1533 | 1534 | 1535 | performFindPanelAction: 1536 | 1537 | 1538 | 1539 | 241 1540 | 1541 | 1542 | 1543 | centerSelectionInVisibleArea: 1544 | 1545 | 1546 | 1547 | 245 1548 | 1549 | 1550 | 1551 | toggleGrammarChecking: 1552 | 1553 | 1554 | 1555 | 347 1556 | 1557 | 1558 | 1559 | toggleSmartInsertDelete: 1560 | 1561 | 1562 | 1563 | 355 1564 | 1565 | 1566 | 1567 | toggleAutomaticQuoteSubstitution: 1568 | 1569 | 1570 | 1571 | 356 1572 | 1573 | 1574 | 1575 | toggleAutomaticLinkDetection: 1576 | 1577 | 1578 | 1579 | 357 1580 | 1581 | 1582 | 1583 | saveDocument: 1584 | 1585 | 1586 | 1587 | 362 1588 | 1589 | 1590 | 1591 | saveDocumentAs: 1592 | 1593 | 1594 | 1595 | 363 1596 | 1597 | 1598 | 1599 | revertDocumentToSaved: 1600 | 1601 | 1602 | 1603 | 364 1604 | 1605 | 1606 | 1607 | runToolbarCustomizationPalette: 1608 | 1609 | 1610 | 1611 | 365 1612 | 1613 | 1614 | 1615 | toggleToolbarShown: 1616 | 1617 | 1618 | 1619 | 366 1620 | 1621 | 1622 | 1623 | hide: 1624 | 1625 | 1626 | 1627 | 367 1628 | 1629 | 1630 | 1631 | hideOtherApplications: 1632 | 1633 | 1634 | 1635 | 368 1636 | 1637 | 1638 | 1639 | unhideAllApplications: 1640 | 1641 | 1642 | 1643 | 370 1644 | 1645 | 1646 | 1647 | newDocument: 1648 | 1649 | 1650 | 1651 | 373 1652 | 1653 | 1654 | 1655 | openDocument: 1656 | 1657 | 1658 | 1659 | 374 1660 | 1661 | 1662 | 1663 | raiseBaseline: 1664 | 1665 | 1666 | 1667 | 426 1668 | 1669 | 1670 | 1671 | lowerBaseline: 1672 | 1673 | 1674 | 1675 | 427 1676 | 1677 | 1678 | 1679 | copyFont: 1680 | 1681 | 1682 | 1683 | 428 1684 | 1685 | 1686 | 1687 | subscript: 1688 | 1689 | 1690 | 1691 | 429 1692 | 1693 | 1694 | 1695 | superscript: 1696 | 1697 | 1698 | 1699 | 430 1700 | 1701 | 1702 | 1703 | tightenKerning: 1704 | 1705 | 1706 | 1707 | 431 1708 | 1709 | 1710 | 1711 | underline: 1712 | 1713 | 1714 | 1715 | 432 1716 | 1717 | 1718 | 1719 | orderFrontColorPanel: 1720 | 1721 | 1722 | 1723 | 433 1724 | 1725 | 1726 | 1727 | useAllLigatures: 1728 | 1729 | 1730 | 1731 | 434 1732 | 1733 | 1734 | 1735 | loosenKerning: 1736 | 1737 | 1738 | 1739 | 435 1740 | 1741 | 1742 | 1743 | pasteFont: 1744 | 1745 | 1746 | 1747 | 436 1748 | 1749 | 1750 | 1751 | unscript: 1752 | 1753 | 1754 | 1755 | 437 1756 | 1757 | 1758 | 1759 | useStandardKerning: 1760 | 1761 | 1762 | 1763 | 438 1764 | 1765 | 1766 | 1767 | useStandardLigatures: 1768 | 1769 | 1770 | 1771 | 439 1772 | 1773 | 1774 | 1775 | turnOffLigatures: 1776 | 1777 | 1778 | 1779 | 440 1780 | 1781 | 1782 | 1783 | turnOffKerning: 1784 | 1785 | 1786 | 1787 | 441 1788 | 1789 | 1790 | 1791 | terminate: 1792 | 1793 | 1794 | 1795 | 449 1796 | 1797 | 1798 | 1799 | toggleAutomaticSpellingCorrection: 1800 | 1801 | 1802 | 1803 | 456 1804 | 1805 | 1806 | 1807 | orderFrontSubstitutionsPanel: 1808 | 1809 | 1810 | 1811 | 458 1812 | 1813 | 1814 | 1815 | toggleAutomaticDashSubstitution: 1816 | 1817 | 1818 | 1819 | 461 1820 | 1821 | 1822 | 1823 | toggleAutomaticTextReplacement: 1824 | 1825 | 1826 | 1827 | 463 1828 | 1829 | 1830 | 1831 | uppercaseWord: 1832 | 1833 | 1834 | 1835 | 464 1836 | 1837 | 1838 | 1839 | capitalizeWord: 1840 | 1841 | 1842 | 1843 | 467 1844 | 1845 | 1846 | 1847 | lowercaseWord: 1848 | 1849 | 1850 | 1851 | 468 1852 | 1853 | 1854 | 1855 | pasteAsPlainText: 1856 | 1857 | 1858 | 1859 | 486 1860 | 1861 | 1862 | 1863 | performFindPanelAction: 1864 | 1865 | 1866 | 1867 | 487 1868 | 1869 | 1870 | 1871 | performFindPanelAction: 1872 | 1873 | 1874 | 1875 | 488 1876 | 1877 | 1878 | 1879 | performFindPanelAction: 1880 | 1881 | 1882 | 1883 | 489 1884 | 1885 | 1886 | 1887 | showHelp: 1888 | 1889 | 1890 | 1891 | 493 1892 | 1893 | 1894 | 1895 | delegate 1896 | 1897 | 1898 | 1899 | 495 1900 | 1901 | 1902 | 1903 | alignCenter: 1904 | 1905 | 1906 | 1907 | 518 1908 | 1909 | 1910 | 1911 | pasteRuler: 1912 | 1913 | 1914 | 1915 | 519 1916 | 1917 | 1918 | 1919 | toggleRuler: 1920 | 1921 | 1922 | 1923 | 520 1924 | 1925 | 1926 | 1927 | alignRight: 1928 | 1929 | 1930 | 1931 | 521 1932 | 1933 | 1934 | 1935 | copyRuler: 1936 | 1937 | 1938 | 1939 | 522 1940 | 1941 | 1942 | 1943 | alignJustified: 1944 | 1945 | 1946 | 1947 | 523 1948 | 1949 | 1950 | 1951 | alignLeft: 1952 | 1953 | 1954 | 1955 | 524 1956 | 1957 | 1958 | 1959 | makeBaseWritingDirectionNatural: 1960 | 1961 | 1962 | 1963 | 525 1964 | 1965 | 1966 | 1967 | makeBaseWritingDirectionLeftToRight: 1968 | 1969 | 1970 | 1971 | 526 1972 | 1973 | 1974 | 1975 | makeBaseWritingDirectionRightToLeft: 1976 | 1977 | 1978 | 1979 | 527 1980 | 1981 | 1982 | 1983 | makeTextWritingDirectionNatural: 1984 | 1985 | 1986 | 1987 | 528 1988 | 1989 | 1990 | 1991 | makeTextWritingDirectionLeftToRight: 1992 | 1993 | 1994 | 1995 | 529 1996 | 1997 | 1998 | 1999 | makeTextWritingDirectionRightToLeft: 2000 | 2001 | 2002 | 2003 | 530 2004 | 2005 | 2006 | 2007 | window 2008 | 2009 | 2010 | 2011 | 532 2012 | 2013 | 2014 | 2015 | value: number 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | value: number 2022 | value 2023 | number 2024 | 2 2025 | 2026 | 2027 | 538 2028 | 2029 | 2030 | 2031 | value: number 2032 | 2033 | 2034 | 2035 | 2036 | 2037 | value: number 2038 | value 2039 | number 2040 | 2 2041 | 2042 | 2043 | 540 2044 | 2045 | 2046 | 2047 | inputField 2048 | 2049 | 2050 | 2051 | 560 2052 | 2053 | 2054 | 2055 | 2056 | 2057 | 0 2058 | 2059 | 2060 | 2061 | 2062 | 2063 | -2 2064 | 2065 | 2066 | File's Owner 2067 | 2068 | 2069 | -1 2070 | 2071 | 2072 | First Responder 2073 | 2074 | 2075 | -3 2076 | 2077 | 2078 | Application 2079 | 2080 | 2081 | 29 2082 | 2083 | 2084 | 2085 | 2086 | 2087 | 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | 2094 | 2095 | 19 2096 | 2097 | 2098 | 2099 | 2100 | 2101 | 2102 | 2103 | 56 2104 | 2105 | 2106 | 2107 | 2108 | 2109 | 2110 | 2111 | 217 2112 | 2113 | 2114 | 2115 | 2116 | 2117 | 2118 | 2119 | 83 2120 | 2121 | 2122 | 2123 | 2124 | 2125 | 2126 | 2127 | 81 2128 | 2129 | 2130 | 2131 | 2132 | 2133 | 2134 | 2135 | 2136 | 2137 | 2138 | 2139 | 2140 | 2141 | 2142 | 2143 | 2144 | 2145 | 75 2146 | 2147 | 2148 | 2149 | 2150 | 80 2151 | 2152 | 2153 | 2154 | 2155 | 78 2156 | 2157 | 2158 | 2159 | 2160 | 72 2161 | 2162 | 2163 | 2164 | 2165 | 82 2166 | 2167 | 2168 | 2169 | 2170 | 124 2171 | 2172 | 2173 | 2174 | 2175 | 2176 | 2177 | 2178 | 77 2179 | 2180 | 2181 | 2182 | 2183 | 73 2184 | 2185 | 2186 | 2187 | 2188 | 79 2189 | 2190 | 2191 | 2192 | 2193 | 112 2194 | 2195 | 2196 | 2197 | 2198 | 74 2199 | 2200 | 2201 | 2202 | 2203 | 125 2204 | 2205 | 2206 | 2207 | 2208 | 2209 | 2210 | 2211 | 126 2212 | 2213 | 2214 | 2215 | 2216 | 205 2217 | 2218 | 2219 | 2220 | 2221 | 2222 | 2223 | 2224 | 2225 | 2226 | 2227 | 2228 | 2229 | 2230 | 2231 | 2232 | 2233 | 2234 | 2235 | 2236 | 2237 | 2238 | 202 2239 | 2240 | 2241 | 2242 | 2243 | 198 2244 | 2245 | 2246 | 2247 | 2248 | 207 2249 | 2250 | 2251 | 2252 | 2253 | 214 2254 | 2255 | 2256 | 2257 | 2258 | 199 2259 | 2260 | 2261 | 2262 | 2263 | 203 2264 | 2265 | 2266 | 2267 | 2268 | 197 2269 | 2270 | 2271 | 2272 | 2273 | 206 2274 | 2275 | 2276 | 2277 | 2278 | 215 2279 | 2280 | 2281 | 2282 | 2283 | 218 2284 | 2285 | 2286 | 2287 | 2288 | 2289 | 2290 | 2291 | 216 2292 | 2293 | 2294 | 2295 | 2296 | 2297 | 2298 | 2299 | 200 2300 | 2301 | 2302 | 2303 | 2304 | 2305 | 2306 | 2307 | 2308 | 2309 | 2310 | 2311 | 2312 | 219 2313 | 2314 | 2315 | 2316 | 2317 | 201 2318 | 2319 | 2320 | 2321 | 2322 | 204 2323 | 2324 | 2325 | 2326 | 2327 | 220 2328 | 2329 | 2330 | 2331 | 2332 | 2333 | 2334 | 2335 | 2336 | 2337 | 2338 | 2339 | 213 2340 | 2341 | 2342 | 2343 | 2344 | 210 2345 | 2346 | 2347 | 2348 | 2349 | 221 2350 | 2351 | 2352 | 2353 | 2354 | 208 2355 | 2356 | 2357 | 2358 | 2359 | 209 2360 | 2361 | 2362 | 2363 | 2364 | 57 2365 | 2366 | 2367 | 2368 | 2369 | 2370 | 2371 | 2372 | 2373 | 2374 | 2375 | 2376 | 2377 | 2378 | 2379 | 2380 | 2381 | 2382 | 58 2383 | 2384 | 2385 | 2386 | 2387 | 134 2388 | 2389 | 2390 | 2391 | 2392 | 150 2393 | 2394 | 2395 | 2396 | 2397 | 136 2398 | 2399 | 2400 | 2401 | 2402 | 144 2403 | 2404 | 2405 | 2406 | 2407 | 129 2408 | 2409 | 2410 | 2411 | 2412 | 143 2413 | 2414 | 2415 | 2416 | 2417 | 236 2418 | 2419 | 2420 | 2421 | 2422 | 131 2423 | 2424 | 2425 | 2426 | 2427 | 2428 | 2429 | 2430 | 149 2431 | 2432 | 2433 | 2434 | 2435 | 145 2436 | 2437 | 2438 | 2439 | 2440 | 130 2441 | 2442 | 2443 | 2444 | 2445 | 24 2446 | 2447 | 2448 | 2449 | 2450 | 2451 | 2452 | 2453 | 2454 | 2455 | 2456 | 92 2457 | 2458 | 2459 | 2460 | 2461 | 5 2462 | 2463 | 2464 | 2465 | 2466 | 239 2467 | 2468 | 2469 | 2470 | 2471 | 23 2472 | 2473 | 2474 | 2475 | 2476 | 295 2477 | 2478 | 2479 | 2480 | 2481 | 2482 | 2483 | 2484 | 296 2485 | 2486 | 2487 | 2488 | 2489 | 2490 | 2491 | 2492 | 2493 | 297 2494 | 2495 | 2496 | 2497 | 2498 | 298 2499 | 2500 | 2501 | 2502 | 2503 | 211 2504 | 2505 | 2506 | 2507 | 2508 | 2509 | 2510 | 2511 | 212 2512 | 2513 | 2514 | 2515 | 2516 | 2517 | 2518 | 2519 | 2520 | 195 2521 | 2522 | 2523 | 2524 | 2525 | 196 2526 | 2527 | 2528 | 2529 | 2530 | 346 2531 | 2532 | 2533 | 2534 | 2535 | 348 2536 | 2537 | 2538 | 2539 | 2540 | 2541 | 2542 | 2543 | 349 2544 | 2545 | 2546 | 2547 | 2548 | 2549 | 2550 | 2551 | 2552 | 2553 | 2554 | 2555 | 2556 | 2557 | 350 2558 | 2559 | 2560 | 2561 | 2562 | 351 2563 | 2564 | 2565 | 2566 | 2567 | 354 2568 | 2569 | 2570 | 2571 | 2572 | 371 2573 | 2574 | 2575 | 2576 | 2577 | 2578 | 2579 | 2580 | 372 2581 | 2582 | 2583 | 2584 | 2585 | 2586 | 2587 | 2588 | 2589 | 375 2590 | 2591 | 2592 | 2593 | 2594 | 2595 | 2596 | 2597 | 376 2598 | 2599 | 2600 | 2601 | 2602 | 2603 | 2604 | 2605 | 2606 | 377 2607 | 2608 | 2609 | 2610 | 2611 | 2612 | 2613 | 2614 | 388 2615 | 2616 | 2617 | 2618 | 2619 | 2620 | 2621 | 2622 | 2623 | 2624 | 2625 | 2626 | 2627 | 2628 | 2629 | 2630 | 2631 | 2632 | 2633 | 2634 | 2635 | 2636 | 2637 | 389 2638 | 2639 | 2640 | 2641 | 2642 | 390 2643 | 2644 | 2645 | 2646 | 2647 | 391 2648 | 2649 | 2650 | 2651 | 2652 | 392 2653 | 2654 | 2655 | 2656 | 2657 | 393 2658 | 2659 | 2660 | 2661 | 2662 | 394 2663 | 2664 | 2665 | 2666 | 2667 | 395 2668 | 2669 | 2670 | 2671 | 2672 | 396 2673 | 2674 | 2675 | 2676 | 2677 | 397 2678 | 2679 | 2680 | 2681 | 2682 | 2683 | 2684 | 2685 | 398 2686 | 2687 | 2688 | 2689 | 2690 | 2691 | 2692 | 2693 | 399 2694 | 2695 | 2696 | 2697 | 2698 | 2699 | 2700 | 2701 | 400 2702 | 2703 | 2704 | 2705 | 2706 | 401 2707 | 2708 | 2709 | 2710 | 2711 | 402 2712 | 2713 | 2714 | 2715 | 2716 | 403 2717 | 2718 | 2719 | 2720 | 2721 | 404 2722 | 2723 | 2724 | 2725 | 2726 | 405 2727 | 2728 | 2729 | 2730 | 2731 | 2732 | 2733 | 2734 | 2735 | 2736 | 2737 | 2738 | 406 2739 | 2740 | 2741 | 2742 | 2743 | 407 2744 | 2745 | 2746 | 2747 | 2748 | 408 2749 | 2750 | 2751 | 2752 | 2753 | 409 2754 | 2755 | 2756 | 2757 | 2758 | 410 2759 | 2760 | 2761 | 2762 | 2763 | 411 2764 | 2765 | 2766 | 2767 | 2768 | 2769 | 2770 | 2771 | 2772 | 2773 | 412 2774 | 2775 | 2776 | 2777 | 2778 | 413 2779 | 2780 | 2781 | 2782 | 2783 | 414 2784 | 2785 | 2786 | 2787 | 2788 | 415 2789 | 2790 | 2791 | 2792 | 2793 | 2794 | 2795 | 2796 | 2797 | 2798 | 2799 | 416 2800 | 2801 | 2802 | 2803 | 2804 | 417 2805 | 2806 | 2807 | 2808 | 2809 | 418 2810 | 2811 | 2812 | 2813 | 2814 | 419 2815 | 2816 | 2817 | 2818 | 2819 | 450 2820 | 2821 | 2822 | 2823 | 2824 | 2825 | 2826 | 2827 | 451 2828 | 2829 | 2830 | 2831 | 2832 | 2833 | 2834 | 2835 | 2836 | 2837 | 452 2838 | 2839 | 2840 | 2841 | 2842 | 453 2843 | 2844 | 2845 | 2846 | 2847 | 454 2848 | 2849 | 2850 | 2851 | 2852 | 457 2853 | 2854 | 2855 | 2856 | 2857 | 459 2858 | 2859 | 2860 | 2861 | 2862 | 460 2863 | 2864 | 2865 | 2866 | 2867 | 462 2868 | 2869 | 2870 | 2871 | 2872 | 465 2873 | 2874 | 2875 | 2876 | 2877 | 466 2878 | 2879 | 2880 | 2881 | 2882 | 485 2883 | 2884 | 2885 | 2886 | 2887 | 490 2888 | 2889 | 2890 | 2891 | 2892 | 2893 | 2894 | 2895 | 491 2896 | 2897 | 2898 | 2899 | 2900 | 2901 | 2902 | 2903 | 492 2904 | 2905 | 2906 | 2907 | 2908 | 494 2909 | 2910 | 2911 | 2912 | 2913 | 496 2914 | 2915 | 2916 | 2917 | 2918 | 2919 | 2920 | 2921 | 497 2922 | 2923 | 2924 | 2925 | 2926 | 2927 | 2928 | 2929 | 2930 | 2931 | 2932 | 2933 | 2934 | 2935 | 2936 | 2937 | 2938 | 498 2939 | 2940 | 2941 | 2942 | 2943 | 499 2944 | 2945 | 2946 | 2947 | 2948 | 500 2949 | 2950 | 2951 | 2952 | 2953 | 501 2954 | 2955 | 2956 | 2957 | 2958 | 502 2959 | 2960 | 2961 | 2962 | 2963 | 503 2964 | 2965 | 2966 | 2967 | 2968 | 2969 | 2970 | 2971 | 504 2972 | 2973 | 2974 | 2975 | 2976 | 505 2977 | 2978 | 2979 | 2980 | 2981 | 506 2982 | 2983 | 2984 | 2985 | 2986 | 507 2987 | 2988 | 2989 | 2990 | 2991 | 508 2992 | 2993 | 2994 | 2995 | 2996 | 2997 | 2998 | 2999 | 3000 | 3001 | 3002 | 3003 | 3004 | 3005 | 3006 | 3007 | 509 3008 | 3009 | 3010 | 3011 | 3012 | 510 3013 | 3014 | 3015 | 3016 | 3017 | 511 3018 | 3019 | 3020 | 3021 | 3022 | 512 3023 | 3024 | 3025 | 3026 | 3027 | 513 3028 | 3029 | 3030 | 3031 | 3032 | 514 3033 | 3034 | 3035 | 3036 | 3037 | 515 3038 | 3039 | 3040 | 3041 | 3042 | 516 3043 | 3044 | 3045 | 3046 | 3047 | 517 3048 | 3049 | 3050 | 3051 | 3052 | 533 3053 | 3054 | 3055 | 3056 | 3057 | 3058 | Horizontal Slider 3059 | 3060 | 3061 | 534 3062 | 3063 | 3064 | 3065 | 3066 | 535 3067 | 3068 | 3069 | 3070 | 3071 | 3072 | 3073 | 3074 | 536 3075 | 3076 | 3077 | 3078 | 3079 | 3080 | 3081 | com.apple.InterfaceBuilder.CocoaPlugin 3082 | com.apple.InterfaceBuilder.CocoaPlugin 3083 | 3084 | com.apple.InterfaceBuilder.CocoaPlugin 3085 | 3086 | com.apple.InterfaceBuilder.CocoaPlugin 3087 | 3088 | {{522, 812}, {146, 23}} 3089 | com.apple.InterfaceBuilder.CocoaPlugin 3090 | 3091 | com.apple.InterfaceBuilder.CocoaPlugin 3092 | 3093 | com.apple.InterfaceBuilder.CocoaPlugin 3094 | 3095 | {{436, 809}, {64, 6}} 3096 | com.apple.InterfaceBuilder.CocoaPlugin 3097 | 3098 | com.apple.InterfaceBuilder.CocoaPlugin 3099 | 3100 | com.apple.InterfaceBuilder.CocoaPlugin 3101 | 3102 | com.apple.InterfaceBuilder.CocoaPlugin 3103 | 3104 | com.apple.InterfaceBuilder.CocoaPlugin 3105 | 3106 | com.apple.InterfaceBuilder.CocoaPlugin 3107 | 3108 | com.apple.InterfaceBuilder.CocoaPlugin 3109 | 3110 | com.apple.InterfaceBuilder.CocoaPlugin 3111 | 3112 | com.apple.InterfaceBuilder.CocoaPlugin 3113 | 3114 | com.apple.InterfaceBuilder.CocoaPlugin 3115 | 3116 | com.apple.InterfaceBuilder.CocoaPlugin 3117 | 3118 | com.apple.InterfaceBuilder.CocoaPlugin 3119 | 3120 | com.apple.InterfaceBuilder.CocoaPlugin 3121 | 3122 | com.apple.InterfaceBuilder.CocoaPlugin 3123 | 3124 | {{753, 187}, {275, 113}} 3125 | com.apple.InterfaceBuilder.CocoaPlugin 3126 | 3127 | {{608, 612}, {275, 83}} 3128 | com.apple.InterfaceBuilder.CocoaPlugin 3129 | 3130 | com.apple.InterfaceBuilder.CocoaPlugin 3131 | 3132 | com.apple.InterfaceBuilder.CocoaPlugin 3133 | 3134 | com.apple.InterfaceBuilder.CocoaPlugin 3135 | 3136 | {{547, 180}, {254, 283}} 3137 | com.apple.InterfaceBuilder.CocoaPlugin 3138 | 3139 | {{187, 434}, {243, 243}} 3140 | com.apple.InterfaceBuilder.CocoaPlugin 3141 | 3142 | com.apple.InterfaceBuilder.CocoaPlugin 3143 | 3144 | com.apple.InterfaceBuilder.CocoaPlugin 3145 | 3146 | com.apple.InterfaceBuilder.CocoaPlugin 3147 | 3148 | com.apple.InterfaceBuilder.CocoaPlugin 3149 | 3150 | com.apple.InterfaceBuilder.CocoaPlugin 3151 | 3152 | com.apple.InterfaceBuilder.CocoaPlugin 3153 | 3154 | {{608, 612}, {167, 43}} 3155 | com.apple.InterfaceBuilder.CocoaPlugin 3156 | 3157 | com.apple.InterfaceBuilder.CocoaPlugin 3158 | 3159 | com.apple.InterfaceBuilder.CocoaPlugin 3160 | 3161 | com.apple.InterfaceBuilder.CocoaPlugin 3162 | 3163 | com.apple.InterfaceBuilder.CocoaPlugin 3164 | 3165 | com.apple.InterfaceBuilder.CocoaPlugin 3166 | 3167 | com.apple.InterfaceBuilder.CocoaPlugin 3168 | 3169 | {{753, 217}, {238, 103}} 3170 | com.apple.InterfaceBuilder.CocoaPlugin 3171 | 3172 | {{608, 612}, {241, 103}} 3173 | com.apple.InterfaceBuilder.CocoaPlugin 3174 | 3175 | com.apple.InterfaceBuilder.CocoaPlugin 3176 | 3177 | com.apple.InterfaceBuilder.CocoaPlugin 3178 | 3179 | com.apple.InterfaceBuilder.CocoaPlugin 3180 | 3181 | {{654, 239}, {194, 73}} 3182 | com.apple.InterfaceBuilder.CocoaPlugin 3183 | 3184 | {{525, 802}, {197, 73}} 3185 | {{380, 836}, {512, 20}} 3186 | com.apple.InterfaceBuilder.CocoaPlugin 3187 | 3188 | {74, 862} 3189 | {{6, 978}, {478, 20}} 3190 | com.apple.InterfaceBuilder.CocoaPlugin 3191 | {{604, 269}, {231, 43}} 3192 | com.apple.InterfaceBuilder.CocoaPlugin 3193 | {{475, 832}, {234, 43}} 3194 | com.apple.InterfaceBuilder.CocoaPlugin 3195 | com.apple.InterfaceBuilder.CocoaPlugin 3196 | com.apple.InterfaceBuilder.CocoaPlugin 3197 | 3198 | com.apple.InterfaceBuilder.CocoaPlugin 3199 | 3200 | {{746, 287}, {220, 133}} 3201 | com.apple.InterfaceBuilder.CocoaPlugin 3202 | 3203 | {{608, 612}, {215, 63}} 3204 | com.apple.InterfaceBuilder.CocoaPlugin 3205 | 3206 | com.apple.InterfaceBuilder.CocoaPlugin 3207 | 3208 | com.apple.InterfaceBuilder.CocoaPlugin 3209 | 3210 | {{528, 526}, {480, 113}} 3211 | com.apple.InterfaceBuilder.CocoaPlugin 3212 | {{528, 526}, {480, 113}} 3213 | 3214 | {{33, 99}, {480, 360}} 3215 | com.apple.InterfaceBuilder.CocoaPlugin 3216 | com.apple.InterfaceBuilder.CocoaPlugin 3217 | {{591, 420}, {83, 43}} 3218 | com.apple.InterfaceBuilder.CocoaPlugin 3219 | com.apple.InterfaceBuilder.CocoaPlugin 3220 | {{523, 2}, {178, 283}} 3221 | com.apple.InterfaceBuilder.CocoaPlugin 3222 | com.apple.InterfaceBuilder.CocoaPlugin 3223 | com.apple.InterfaceBuilder.CocoaPlugin 3224 | com.apple.InterfaceBuilder.CocoaPlugin 3225 | com.apple.InterfaceBuilder.CocoaPlugin 3226 | com.apple.InterfaceBuilder.CocoaPlugin 3227 | com.apple.InterfaceBuilder.CocoaPlugin 3228 | com.apple.InterfaceBuilder.CocoaPlugin 3229 | com.apple.InterfaceBuilder.CocoaPlugin 3230 | com.apple.InterfaceBuilder.CocoaPlugin 3231 | com.apple.InterfaceBuilder.CocoaPlugin 3232 | com.apple.InterfaceBuilder.CocoaPlugin 3233 | com.apple.InterfaceBuilder.CocoaPlugin 3234 | com.apple.InterfaceBuilder.CocoaPlugin 3235 | com.apple.InterfaceBuilder.CocoaPlugin 3236 | com.apple.InterfaceBuilder.CocoaPlugin 3237 | com.apple.InterfaceBuilder.CocoaPlugin 3238 | com.apple.InterfaceBuilder.CocoaPlugin 3239 | com.apple.InterfaceBuilder.CocoaPlugin 3240 | com.apple.InterfaceBuilder.CocoaPlugin 3241 | com.apple.InterfaceBuilder.CocoaPlugin 3242 | com.apple.InterfaceBuilder.CocoaPlugin 3243 | com.apple.InterfaceBuilder.CocoaPlugin 3244 | com.apple.InterfaceBuilder.CocoaPlugin 3245 | com.apple.InterfaceBuilder.CocoaPlugin 3246 | com.apple.InterfaceBuilder.CocoaPlugin 3247 | com.apple.InterfaceBuilder.CocoaPlugin 3248 | com.apple.InterfaceBuilder.CocoaPlugin 3249 | com.apple.InterfaceBuilder.CocoaPlugin 3250 | com.apple.InterfaceBuilder.CocoaPlugin 3251 | com.apple.InterfaceBuilder.CocoaPlugin 3252 | com.apple.InterfaceBuilder.CocoaPlugin 3253 | com.apple.InterfaceBuilder.CocoaPlugin 3254 | {{753, 197}, {170, 63}} 3255 | com.apple.InterfaceBuilder.CocoaPlugin 3256 | com.apple.InterfaceBuilder.CocoaPlugin 3257 | com.apple.InterfaceBuilder.CocoaPlugin 3258 | com.apple.InterfaceBuilder.CocoaPlugin 3259 | com.apple.InterfaceBuilder.CocoaPlugin 3260 | com.apple.InterfaceBuilder.CocoaPlugin 3261 | com.apple.InterfaceBuilder.CocoaPlugin 3262 | com.apple.InterfaceBuilder.CocoaPlugin 3263 | com.apple.InterfaceBuilder.CocoaPlugin 3264 | com.apple.InterfaceBuilder.CocoaPlugin 3265 | com.apple.InterfaceBuilder.CocoaPlugin 3266 | com.apple.InterfaceBuilder.CocoaPlugin 3267 | {{725, 289}, {246, 23}} 3268 | com.apple.InterfaceBuilder.CocoaPlugin 3269 | com.apple.InterfaceBuilder.CocoaPlugin 3270 | com.apple.InterfaceBuilder.CocoaPlugin 3271 | {{674, 260}, {204, 183}} 3272 | com.apple.InterfaceBuilder.CocoaPlugin 3273 | com.apple.InterfaceBuilder.CocoaPlugin 3274 | com.apple.InterfaceBuilder.CocoaPlugin 3275 | com.apple.InterfaceBuilder.CocoaPlugin 3276 | 3277 | com.apple.InterfaceBuilder.CocoaPlugin 3278 | com.apple.InterfaceBuilder.CocoaPlugin 3279 | com.apple.InterfaceBuilder.CocoaPlugin 3280 | com.apple.InterfaceBuilder.CocoaPlugin 3281 | com.apple.InterfaceBuilder.CocoaPlugin 3282 | com.apple.InterfaceBuilder.CocoaPlugin 3283 | com.apple.InterfaceBuilder.CocoaPlugin 3284 | com.apple.InterfaceBuilder.CocoaPlugin 3285 | {{878, 180}, {164, 173}} 3286 | com.apple.InterfaceBuilder.CocoaPlugin 3287 | com.apple.InterfaceBuilder.CocoaPlugin 3288 | com.apple.InterfaceBuilder.CocoaPlugin 3289 | com.apple.InterfaceBuilder.CocoaPlugin 3290 | com.apple.InterfaceBuilder.CocoaPlugin 3291 | com.apple.InterfaceBuilder.CocoaPlugin 3292 | com.apple.InterfaceBuilder.CocoaPlugin 3293 | com.apple.InterfaceBuilder.CocoaPlugin 3294 | com.apple.InterfaceBuilder.CocoaPlugin 3295 | com.apple.InterfaceBuilder.CocoaPlugin 3296 | com.apple.InterfaceBuilder.CocoaPlugin 3297 | com.apple.InterfaceBuilder.CocoaPlugin 3298 | com.apple.InterfaceBuilder.CocoaPlugin 3299 | com.apple.InterfaceBuilder.CocoaPlugin 3300 | com.apple.InterfaceBuilder.CocoaPlugin 3301 | 3302 | {{286, 129}, {275, 183}} 3303 | com.apple.InterfaceBuilder.CocoaPlugin 3304 | 3305 | {{23, 794}, {245, 183}} 3306 | com.apple.InterfaceBuilder.CocoaPlugin 3307 | 3308 | com.apple.InterfaceBuilder.CocoaPlugin 3309 | 3310 | com.apple.InterfaceBuilder.CocoaPlugin 3311 | 3312 | com.apple.InterfaceBuilder.CocoaPlugin 3313 | 3314 | com.apple.InterfaceBuilder.CocoaPlugin 3315 | 3316 | com.apple.InterfaceBuilder.CocoaPlugin 3317 | 3318 | com.apple.InterfaceBuilder.CocoaPlugin 3319 | 3320 | com.apple.InterfaceBuilder.CocoaPlugin 3321 | 3322 | com.apple.InterfaceBuilder.CocoaPlugin 3323 | 3324 | {{452, 109}, {196, 203}} 3325 | com.apple.InterfaceBuilder.CocoaPlugin 3326 | 3327 | {{145, 474}, {199, 203}} 3328 | com.apple.InterfaceBuilder.CocoaPlugin 3329 | 3330 | com.apple.InterfaceBuilder.CocoaPlugin 3331 | 3332 | com.apple.InterfaceBuilder.CocoaPlugin 3333 | 3334 | 3335 | 3336 | 3337 | 3338 | 3339 | 560 3340 | 3341 | 3342 | 3343 | 3344 | ApplicationDelegate 3345 | NSObject 3346 | 3347 | NSTextField 3348 | NSWindow 3349 | 3350 | 3351 | 3352 | inputField 3353 | NSTextField 3354 | 3355 | 3356 | window 3357 | NSWindow 3358 | 3359 | 3360 | 3361 | IBProjectSource 3362 | ApplicationDelegate.h 3363 | 3364 | 3365 | 3366 | 3367 | 3368 | NSActionCell 3369 | NSCell 3370 | 3371 | IBFrameworkSource 3372 | AppKit.framework/Headers/NSActionCell.h 3373 | 3374 | 3375 | 3376 | NSApplication 3377 | NSResponder 3378 | 3379 | IBFrameworkSource 3380 | AppKit.framework/Headers/NSApplication.h 3381 | 3382 | 3383 | 3384 | NSApplication 3385 | 3386 | IBFrameworkSource 3387 | AppKit.framework/Headers/NSApplicationScripting.h 3388 | 3389 | 3390 | 3391 | NSApplication 3392 | 3393 | IBFrameworkSource 3394 | AppKit.framework/Headers/NSColorPanel.h 3395 | 3396 | 3397 | 3398 | NSApplication 3399 | 3400 | IBFrameworkSource 3401 | AppKit.framework/Headers/NSHelpManager.h 3402 | 3403 | 3404 | 3405 | NSApplication 3406 | 3407 | IBFrameworkSource 3408 | AppKit.framework/Headers/NSPageLayout.h 3409 | 3410 | 3411 | 3412 | NSApplication 3413 | 3414 | IBFrameworkSource 3415 | AppKit.framework/Headers/NSUserInterfaceItemSearching.h 3416 | 3417 | 3418 | 3419 | NSBrowser 3420 | NSControl 3421 | 3422 | IBFrameworkSource 3423 | AppKit.framework/Headers/NSBrowser.h 3424 | 3425 | 3426 | 3427 | NSCell 3428 | NSObject 3429 | 3430 | IBFrameworkSource 3431 | AppKit.framework/Headers/NSCell.h 3432 | 3433 | 3434 | 3435 | NSControl 3436 | NSView 3437 | 3438 | IBFrameworkSource 3439 | AppKit.framework/Headers/NSControl.h 3440 | 3441 | 3442 | 3443 | NSDocument 3444 | NSObject 3445 | 3446 | id 3447 | id 3448 | id 3449 | id 3450 | id 3451 | id 3452 | 3453 | 3454 | 3455 | printDocument: 3456 | id 3457 | 3458 | 3459 | revertDocumentToSaved: 3460 | id 3461 | 3462 | 3463 | runPageLayout: 3464 | id 3465 | 3466 | 3467 | saveDocument: 3468 | id 3469 | 3470 | 3471 | saveDocumentAs: 3472 | id 3473 | 3474 | 3475 | saveDocumentTo: 3476 | id 3477 | 3478 | 3479 | 3480 | IBFrameworkSource 3481 | AppKit.framework/Headers/NSDocument.h 3482 | 3483 | 3484 | 3485 | NSDocument 3486 | 3487 | IBFrameworkSource 3488 | AppKit.framework/Headers/NSDocumentScripting.h 3489 | 3490 | 3491 | 3492 | NSDocumentController 3493 | NSObject 3494 | 3495 | id 3496 | id 3497 | id 3498 | id 3499 | 3500 | 3501 | 3502 | clearRecentDocuments: 3503 | id 3504 | 3505 | 3506 | newDocument: 3507 | id 3508 | 3509 | 3510 | openDocument: 3511 | id 3512 | 3513 | 3514 | saveAllDocuments: 3515 | id 3516 | 3517 | 3518 | 3519 | IBFrameworkSource 3520 | AppKit.framework/Headers/NSDocumentController.h 3521 | 3522 | 3523 | 3524 | NSFormatter 3525 | NSObject 3526 | 3527 | IBFrameworkSource 3528 | Foundation.framework/Headers/NSFormatter.h 3529 | 3530 | 3531 | 3532 | NSMatrix 3533 | NSControl 3534 | 3535 | IBFrameworkSource 3536 | AppKit.framework/Headers/NSMatrix.h 3537 | 3538 | 3539 | 3540 | NSMenu 3541 | NSObject 3542 | 3543 | IBFrameworkSource 3544 | AppKit.framework/Headers/NSMenu.h 3545 | 3546 | 3547 | 3548 | NSMenuItem 3549 | NSObject 3550 | 3551 | IBFrameworkSource 3552 | AppKit.framework/Headers/NSMenuItem.h 3553 | 3554 | 3555 | 3556 | NSMovieView 3557 | NSView 3558 | 3559 | IBFrameworkSource 3560 | AppKit.framework/Headers/NSMovieView.h 3561 | 3562 | 3563 | 3564 | NSObject 3565 | 3566 | IBFrameworkSource 3567 | AppKit.framework/Headers/NSAccessibility.h 3568 | 3569 | 3570 | 3571 | NSObject 3572 | 3573 | 3574 | 3575 | NSObject 3576 | 3577 | 3578 | 3579 | NSObject 3580 | 3581 | 3582 | 3583 | NSObject 3584 | 3585 | 3586 | 3587 | NSObject 3588 | 3589 | IBFrameworkSource 3590 | AppKit.framework/Headers/NSDictionaryController.h 3591 | 3592 | 3593 | 3594 | NSObject 3595 | 3596 | IBFrameworkSource 3597 | AppKit.framework/Headers/NSDragging.h 3598 | 3599 | 3600 | 3601 | NSObject 3602 | 3603 | IBFrameworkSource 3604 | AppKit.framework/Headers/NSFontManager.h 3605 | 3606 | 3607 | 3608 | NSObject 3609 | 3610 | IBFrameworkSource 3611 | AppKit.framework/Headers/NSFontPanel.h 3612 | 3613 | 3614 | 3615 | NSObject 3616 | 3617 | IBFrameworkSource 3618 | AppKit.framework/Headers/NSKeyValueBinding.h 3619 | 3620 | 3621 | 3622 | NSObject 3623 | 3624 | 3625 | 3626 | NSObject 3627 | 3628 | IBFrameworkSource 3629 | AppKit.framework/Headers/NSNibLoading.h 3630 | 3631 | 3632 | 3633 | NSObject 3634 | 3635 | IBFrameworkSource 3636 | AppKit.framework/Headers/NSOutlineView.h 3637 | 3638 | 3639 | 3640 | NSObject 3641 | 3642 | IBFrameworkSource 3643 | AppKit.framework/Headers/NSPasteboard.h 3644 | 3645 | 3646 | 3647 | NSObject 3648 | 3649 | IBFrameworkSource 3650 | AppKit.framework/Headers/NSSavePanel.h 3651 | 3652 | 3653 | 3654 | NSObject 3655 | 3656 | IBFrameworkSource 3657 | AppKit.framework/Headers/NSTableView.h 3658 | 3659 | 3660 | 3661 | NSObject 3662 | 3663 | IBFrameworkSource 3664 | AppKit.framework/Headers/NSToolbarItem.h 3665 | 3666 | 3667 | 3668 | NSObject 3669 | 3670 | IBFrameworkSource 3671 | AppKit.framework/Headers/NSView.h 3672 | 3673 | 3674 | 3675 | NSObject 3676 | 3677 | IBFrameworkSource 3678 | Foundation.framework/Headers/NSArchiver.h 3679 | 3680 | 3681 | 3682 | NSObject 3683 | 3684 | IBFrameworkSource 3685 | Foundation.framework/Headers/NSClassDescription.h 3686 | 3687 | 3688 | 3689 | NSObject 3690 | 3691 | IBFrameworkSource 3692 | Foundation.framework/Headers/NSError.h 3693 | 3694 | 3695 | 3696 | NSObject 3697 | 3698 | IBFrameworkSource 3699 | Foundation.framework/Headers/NSFileManager.h 3700 | 3701 | 3702 | 3703 | NSObject 3704 | 3705 | IBFrameworkSource 3706 | Foundation.framework/Headers/NSKeyValueCoding.h 3707 | 3708 | 3709 | 3710 | NSObject 3711 | 3712 | IBFrameworkSource 3713 | Foundation.framework/Headers/NSKeyValueObserving.h 3714 | 3715 | 3716 | 3717 | NSObject 3718 | 3719 | IBFrameworkSource 3720 | Foundation.framework/Headers/NSKeyedArchiver.h 3721 | 3722 | 3723 | 3724 | NSObject 3725 | 3726 | IBFrameworkSource 3727 | Foundation.framework/Headers/NSObject.h 3728 | 3729 | 3730 | 3731 | NSObject 3732 | 3733 | IBFrameworkSource 3734 | Foundation.framework/Headers/NSObjectScripting.h 3735 | 3736 | 3737 | 3738 | NSObject 3739 | 3740 | IBFrameworkSource 3741 | Foundation.framework/Headers/NSPortCoder.h 3742 | 3743 | 3744 | 3745 | NSObject 3746 | 3747 | IBFrameworkSource 3748 | Foundation.framework/Headers/NSRunLoop.h 3749 | 3750 | 3751 | 3752 | NSObject 3753 | 3754 | IBFrameworkSource 3755 | Foundation.framework/Headers/NSScriptClassDescription.h 3756 | 3757 | 3758 | 3759 | NSObject 3760 | 3761 | IBFrameworkSource 3762 | Foundation.framework/Headers/NSScriptKeyValueCoding.h 3763 | 3764 | 3765 | 3766 | NSObject 3767 | 3768 | IBFrameworkSource 3769 | Foundation.framework/Headers/NSScriptObjectSpecifiers.h 3770 | 3771 | 3772 | 3773 | NSObject 3774 | 3775 | IBFrameworkSource 3776 | Foundation.framework/Headers/NSScriptWhoseTests.h 3777 | 3778 | 3779 | 3780 | NSObject 3781 | 3782 | IBFrameworkSource 3783 | Foundation.framework/Headers/NSThread.h 3784 | 3785 | 3786 | 3787 | NSObject 3788 | 3789 | IBFrameworkSource 3790 | Foundation.framework/Headers/NSURL.h 3791 | 3792 | 3793 | 3794 | NSObject 3795 | 3796 | IBFrameworkSource 3797 | Foundation.framework/Headers/NSURLConnection.h 3798 | 3799 | 3800 | 3801 | NSObject 3802 | 3803 | IBFrameworkSource 3804 | Foundation.framework/Headers/NSURLDownload.h 3805 | 3806 | 3807 | 3808 | NSResponder 3809 | 3810 | IBFrameworkSource 3811 | AppKit.framework/Headers/NSInterfaceStyle.h 3812 | 3813 | 3814 | 3815 | NSResponder 3816 | NSObject 3817 | 3818 | IBFrameworkSource 3819 | AppKit.framework/Headers/NSResponder.h 3820 | 3821 | 3822 | 3823 | NSSlider 3824 | NSControl 3825 | 3826 | IBFrameworkSource 3827 | AppKit.framework/Headers/NSSlider.h 3828 | 3829 | 3830 | 3831 | NSSliderCell 3832 | NSActionCell 3833 | 3834 | IBFrameworkSource 3835 | AppKit.framework/Headers/NSSliderCell.h 3836 | 3837 | 3838 | 3839 | NSTableView 3840 | NSControl 3841 | 3842 | 3843 | 3844 | NSText 3845 | NSView 3846 | 3847 | IBFrameworkSource 3848 | AppKit.framework/Headers/NSText.h 3849 | 3850 | 3851 | 3852 | NSTextField 3853 | NSControl 3854 | 3855 | IBFrameworkSource 3856 | AppKit.framework/Headers/NSTextField.h 3857 | 3858 | 3859 | 3860 | NSTextFieldCell 3861 | NSActionCell 3862 | 3863 | IBFrameworkSource 3864 | AppKit.framework/Headers/NSTextFieldCell.h 3865 | 3866 | 3867 | 3868 | NSTextView 3869 | NSText 3870 | 3871 | IBFrameworkSource 3872 | AppKit.framework/Headers/NSTextView.h 3873 | 3874 | 3875 | 3876 | NSView 3877 | 3878 | IBFrameworkSource 3879 | AppKit.framework/Headers/NSClipView.h 3880 | 3881 | 3882 | 3883 | NSView 3884 | 3885 | 3886 | 3887 | NSView 3888 | 3889 | IBFrameworkSource 3890 | AppKit.framework/Headers/NSRulerView.h 3891 | 3892 | 3893 | 3894 | NSView 3895 | NSResponder 3896 | 3897 | 3898 | 3899 | NSWindow 3900 | 3901 | IBFrameworkSource 3902 | AppKit.framework/Headers/NSDrawer.h 3903 | 3904 | 3905 | 3906 | NSWindow 3907 | NSResponder 3908 | 3909 | IBFrameworkSource 3910 | AppKit.framework/Headers/NSWindow.h 3911 | 3912 | 3913 | 3914 | NSWindow 3915 | 3916 | IBFrameworkSource 3917 | AppKit.framework/Headers/NSWindowScripting.h 3918 | 3919 | 3920 | 3921 | 3922 | 0 3923 | IBCocoaFramework 3924 | 3925 | com.apple.InterfaceBuilder.CocoaPlugin.macosx 3926 | 3927 | 3928 | 3929 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 3930 | 3931 | 3932 | YES 3933 | ../Ordinals.xcodeproj 3934 | 3 3935 | 3936 | {9, 8} 3937 | {7, 2} 3938 | 3939 | 3940 | 3941 | -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | org.abizern.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | ${MACOSX_DEPLOYMENT_TARGET} 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /LICENCE.txt: -------------------------------------------------------------------------------- 1 | SIMPLIFIED BSD LICENCE 2 | 3 | Copyright 2010 Abizer Nasir. All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without modification, are 6 | permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this list of 9 | conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, this list 12 | of conditions and the following disclaimer in the documentation and/or other materials 13 | provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY ABIZER NASIR ``AS IS'' AND ANY EXPRESS OR IMPLIED 16 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 17 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ABIZER NASIR OR 18 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 21 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 22 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 23 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | 25 | The views and conclusions contained in the software and documentation are those of the 26 | authors and should not be interpreted as representing official policies, either expressed 27 | or implied, of Abizer Nasir. 28 | 29 | -------------------------------------------------------------------------------- /Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ADNOrdinalNumberFormatter' target in the 'ADNOrdinalNumberFormatter' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /README.textile: -------------------------------------------------------------------------------- 1 | h2. ADNOrdinalNumberFormatter 2 | 3 | A simple subclass of *NSNumberFormatter* that adds an ordinal to a number. e.g. 1st, 2nd, 110th. 4 | 5 | It will also strip out any trailing text, so a number can be entered with or without an ordinal. 6 | 7 | h2. License 8 | 9 | Released under the Simplified BSD Licence. See the included LICENCE.txt file for the actual license. 10 | 11 | h2. Branch Structure 12 | 13 | There are two branches to this repository. *master* and *production* 14 | 15 | h3. master branch 16 | 17 | The master branch contains the class extension files as well as an Xcode project that shows how to use the formatter. This is the branch that further development of the class should be performed on. 18 | 19 | h3. production branch 20 | 21 | The production branch is the one to use if you want to use git submodules to use the formatter in other projects. This will only contain the class files themselves without the Xcode project and the example code. This is preferable as it will keep your subdirectories clear of any code that is unnecessary to your working project. 22 | 23 | Changes made to the master branch will be propagated across to the production branch so it will always remain current 24 | 25 | To add the production branch rather than the master branch as as submodule, simply use the -b flag: 26 | 27 | bc. git submodule add -b production git://github.com/Abizern/ADNOrdinalNumberFormatter.git 28 | 29 | To keep up to date with the latest changes, `cd` into the directory that contains this submodule and pull the newest changes in as usual 30 | 31 | bc. git pull origin 32 | 33 | h3. Artefacts 34 | 35 | Sometimes, there may be artefacts left over when switching from master to production. These are files that are ignored by git and are easily cleaned up by running 36 | 37 | bc. git clean -dxf 38 | -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ADNOrdinalNumberFormatter 4 | // 5 | // Created by Abizer Nasir 6 | // 7 | 8 | #import 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | return NSApplicationMain(argc, (const char **) argv); 13 | } 14 | --------------------------------------------------------------------------------