From bd1e575e55c83cfce737caa863200b31c18ccbce Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Sat, 23 Jan 2010 22:44:29 +0000 Subject: [PATCH] Project added --- English.lproj/InfoPlist.strings | Bin 0 -> 90 bytes English.lproj/MainMenu.xib | 3065 ++++++++++++++++++++ Ingredients-Info.plist | 32 + Ingredients.xcodeproj/project.pbxproj | 417 +++ IngredientsKit-Info.plist | 22 + Ingredients_AppDelegate.h | 28 + Ingredients_AppDelegate.m | 212 ++ Ingredients_DataModel.xcdatamodel/elements | Bin 0 -> 1199 bytes Ingredients_DataModel.xcdatamodel/layout | Bin 0 -> 475 bytes Ingredients_Prefix.pch | 7 + main.m | 14 + 11 files changed, 3797 insertions(+) create mode 100644 English.lproj/InfoPlist.strings create mode 100644 English.lproj/MainMenu.xib create mode 100644 Ingredients-Info.plist create mode 100644 Ingredients.xcodeproj/project.pbxproj create mode 100644 IngredientsKit-Info.plist create mode 100644 Ingredients_AppDelegate.h create mode 100644 Ingredients_AppDelegate.m create mode 100644 Ingredients_DataModel.xcdatamodel/elements create mode 100644 Ingredients_DataModel.xcdatamodel/layout create mode 100644 Ingredients_Prefix.pch create mode 100644 main.m diff --git a/English.lproj/InfoPlist.strings b/English.lproj/InfoPlist.strings new file mode 100644 index 0000000000000000000000000000000000000000..74d3187406a26213f9d2bcbfa9662776e5535127 GIT binary patch literal 90 zcmW-XK?;B%6a{DPDO|hIa|B%?G9i+TjKB_GJ>2~HZiT(X<$)+ + + + 1060 + 10A311 + 718 + 1013 + 415.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 718 + + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + + NSApplication + + + + FirstResponder + + + NSApplication + + + 15 + 2 + {{6, 593}, {480, 360}} + 1886912512 + Ingredients + NSWindow + + View + + {1.79769e+308, 1.79769e+308} + {213, 107} + + + 256 + {480, 360} + + {{0, 0}, {1680, 1028}} + {213, 129} + {1.79769e+308, 1.79769e+308} + + + MainMenu + + YES + + + Ingredients + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + Ingredients + + YES + + + About Ingredients + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + + Services + + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide Ingredients + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit Ingredients + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + + File + + + YES + + + Save + s + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup… + P + 1048576 + 2147483647 + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste and Match Style + V + 1572864 + 2147483647 + + + + + + Delete + + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Find + + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1048576 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 2147483647 + + + submenuAction: + + Spelling + + YES + + + Show Spelling and Grammar + : + 1048576 + 2147483647 + + + + + + Check Document Now + ; + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Check Spelling While Typing + + 2147483647 + + + + + + Check Grammar With Spelling + + 2147483647 + + + + + + Correct Spelling Automatically + + 2147483647 + + + + + + + + + Substitutions + + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Show Substitutions + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Smart Copy/Paste + + 2147483647 + + + + + + Smart Quotes + + 2147483647 + + + + + + Smart Dashes + + 2147483647 + + + + + + Smart Links + + 2147483647 + + + + + + Text Replacement + + 2147483647 + + + + + + + + + Transformations + + 2147483647 + + + submenuAction: + + Transformations + + YES + + + Make Upper Case + + 2147483647 + + + + + + Make Lower Case + + 2147483647 + + + + + + Capitalize + + 2147483647 + + + + + + + + + Speech + + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 2147483647 + + + + + + Stop Speaking + + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + Window + + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + YES + + + Ingredients Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + Ingredients_AppDelegate + + + NSFontManager + + + + + YES + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + terminate: + + + + 139 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + hideOtherApplications: + + + + 146 + + + + hide: + + + + 152 + + + + unhideAllApplications: + + + + 153 + + + + delegate + + + + 206 + + + + delegate + + + + 207 + + + + window + + + + 208 + + + + saveAction: + + + + 211 + + + + performMiniaturize: + + + + 247 + + + + performZoom: + + + + 248 + + + + arrangeInFront: + + + + 249 + + + + toggleToolbarShown: + + + + 342 + + + + runToolbarCustomizationPalette: + + + + 343 + + + + addFontTrait: + + + + 393 + + + + addFontTrait: + + + + 394 + + + + modifyFont: + + + + 395 + + + + orderFrontFontPanel: + + + + 396 + + + + modifyFont: + + + + 397 + + + + raiseBaseline: + + + + 398 + + + + lowerBaseline: + + + + 399 + + + + copyFont: + + + + 400 + + + + subscript: + + + + 401 + + + + superscript: + + + + 402 + + + + tightenKerning: + + + + 403 + + + + underline: + + + + 404 + + + + orderFrontColorPanel: + + + + 405 + + + + useAllLigatures: + + + + 406 + + + + loosenKerning: + + + + 407 + + + + pasteFont: + + + + 408 + + + + unscript: + + + + 409 + + + + useStandardKerning: + + + + 410 + + + + useStandardLigatures: + + + + 411 + + + + turnOffLigatures: + + + + 412 + + + + turnOffKerning: + + + + 413 + + + + alignLeft: + + + + 414 + + + + alignJustified: + + + + 415 + + + + copyRuler: + + + + 416 + + + + alignCenter: + + + + 417 + + + + toggleRuler: + + + + 418 + + + + alignRight: + + + + 419 + + + + pasteRuler: + + + + 420 + + + + capitalizeWord: + + + + 489 + + + + cut: + + + + 490 + + + + paste: + + + + 491 + + + + toggleSmartInsertDelete: + + + + 492 + + + + toggleAutomaticQuoteSubstitution: + + + + 493 + + + + redo: + + + + 494 + + + + toggleAutomaticDashSubstitution: + + + + 495 + + + + toggleContinuousSpellChecking: + + + + 496 + + + + undo: + + + + 497 + + + + toggleGrammarChecking: + + + + 498 + + + + startSpeaking: + + + + 499 + + + + showGuessPanel: + + + + 500 + + + + checkSpelling: + + + + 501 + + + + pasteAsPlainText: + + + + 502 + + + + copy: + + + + 503 + + + + delete: + + + + 504 + + + + lowercaseWord: + + + + 505 + + + + selectAll: + + + + 506 + + + + stopSpeaking: + + + + 507 + + + + orderFrontSubstitutionsPanel: + + + + 508 + + + + toggleAutomaticTextReplacement: + + + + 509 + + + + toggleAutomaticLinkDetection: + + + + 510 + + + + toggleAutomaticSpellingCorrection: + + + + 511 + + + + uppercaseWord: + + + + 512 + + + + performFindPanelAction: + + + + 513 + + + + performFindPanelAction: + + + + 514 + + + + performFindPanelAction: + + + + 515 + + + + centerSelectionInVisibleArea: + + + + 516 + + + + performFindPanelAction: + + + + 517 + + + + showHelp: + + + + 521 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 21 + + + YES + + + + Window + + + 2 + + + + + 29 + + + YES + + + + + + + + + + MainMenu + + + 56 + + + YES + + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 129 + + + + + 131 + + + YES + + + + + + 130 + + + + + 134 + + + + + 136 + + + + + 143 + + + + + 144 + + + + + 145 + + + + + 149 + + + + + 150 + + + + + 196 + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + 74 + + + + + 75 + + + + + 77 + + + + + 78 + + + + + 241 + + + YES + + + + + + 242 + + + YES + + + + + + + + + 243 + + + + + 244 + + + + + 245 + + + + + 246 + + + + + 338 + + + YES + + + + + + 339 + + + YES + + + + + + + 340 + + + + + 341 + + + + + 205 + + + Ingredients_AppDelegate + + + 347 + + + YES + + + + + + 348 + + + YES + + + + + + + 349 + + + YES + + + + + + 350 + + + YES + + + + + + 351 + + + YES + + + + + + + + + + + + + 352 + + + + + 353 + + + + + 354 + + + + + 355 + + + + + 356 + + + + + 357 + + + + + 358 + + + + + 359 + + + + + 360 + + + YES + + + + + + + + + + + + + + + + + + + + + 361 + + + + + 362 + + + + + 363 + + + + + 364 + + + + + 365 + + + + + 366 + + + + + 367 + + + + + 368 + + + + + 369 + + + YES + + + + + + 370 + + + YES + + + + + + 371 + + + YES + + + + + + 372 + + + + + 373 + + + + + 374 + + + + + 375 + + + + + 376 + + + + + 377 + + + YES + + + + + + + + + + 378 + + + + + 379 + + + + + 380 + + + + + 381 + + + + + 382 + + + + + 383 + + + YES + + + + + + + + 384 + + + + + 385 + + + + + 386 + + + + + 387 + + + YES + + + + + + + + + 388 + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 444 + + + YES + + + + + + 445 + + + YES + + + + + + + + + + + + + + + + + + + + 446 + + + + + 447 + + + + + 448 + + + + + 449 + + + + + 450 + + + + + 451 + + + + + 452 + + + + + 453 + + + + + 454 + + + + + 455 + + + + + 456 + + + YES + + + + + + 457 + + + YES + + + + + + 458 + + + YES + + + + + + 459 + + + YES + + + + + + 460 + + + YES + + + + + + 461 + + + YES + + + + + + + 462 + + + + + 463 + + + + + 464 + + + YES + + + + + + + + 465 + + + + + 466 + + + + + 467 + + + + + 468 + + + YES + + + + + + + + + + + + 469 + + + + + 470 + + + + + 471 + + + + + 472 + + + + + 473 + + + + + 474 + + + + + 475 + + + + + 476 + + + YES + + + + + + + + + + + 477 + + + + + 478 + + + + + 479 + + + + + 480 + + + + + 481 + + + + + 482 + + + + + 483 + + + YES + + + + + + + + + + 484 + + + + + 485 + + + + + 486 + + + + + 487 + + + + + 488 + + + + + 518 + + + YES + + + + + + 519 + + + YES + + + + + + 520 + + + + + + + YES + + YES + -3.IBPluginDependency + -3.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBEditorWindowLastContentRect + 130.IBPluginDependency + 130.ImportedFromIB2 + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 2.IBPluginDependency + 2.ImportedFromIB2 + 205.ImportedFromIB2 + 21.IBEditorWindowLastContentRect + 21.IBPluginDependency + 21.IBWindowTemplateEditedContentRect + 21.ImportedFromIB2 + 21.NSWindowTemplate.visibleAtLaunch + 21.windowTemplate.hasMinSize + 21.windowTemplate.minSize + 241.IBPluginDependency + 241.ImportedFromIB2 + 242.IBEditorWindowLastContentRect + 242.IBPluginDependency + 242.ImportedFromIB2 + 243.IBPluginDependency + 243.ImportedFromIB2 + 244.IBPluginDependency + 244.ImportedFromIB2 + 245.IBPluginDependency + 245.ImportedFromIB2 + 246.IBPluginDependency + 246.ImportedFromIB2 + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 338.IBPluginDependency + 338.ImportedFromIB2 + 339.IBEditorWindowLastContentRect + 339.IBPluginDependency + 339.ImportedFromIB2 + 340.IBPluginDependency + 340.ImportedFromIB2 + 341.IBPluginDependency + 341.ImportedFromIB2 + 347.IBPluginDependency + 348.IBEditorWindowLastContentRect + 348.IBPluginDependency + 349.IBPluginDependency + 350.IBPluginDependency + 351.IBPluginDependency + 352.IBPluginDependency + 353.IBPluginDependency + 354.IBPluginDependency + 355.IBPluginDependency + 356.IBPluginDependency + 357.IBPluginDependency + 358.IBPluginDependency + 359.IBPluginDependency + 360.IBPluginDependency + 361.IBPluginDependency + 362.IBPluginDependency + 363.IBPluginDependency + 364.IBPluginDependency + 365.IBPluginDependency + 366.IBPluginDependency + 367.IBPluginDependency + 368.IBPluginDependency + 369.IBPluginDependency + 370.IBPluginDependency + 371.IBPluginDependency + 372.IBPluginDependency + 373.IBPluginDependency + 374.IBPluginDependency + 375.IBPluginDependency + 376.IBPluginDependency + 377.IBPluginDependency + 378.IBPluginDependency + 379.IBPluginDependency + 380.IBPluginDependency + 381.IBPluginDependency + 382.IBPluginDependency + 383.IBPluginDependency + 384.IBPluginDependency + 385.IBPluginDependency + 386.IBPluginDependency + 387.IBPluginDependency + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBPluginDependency + 444.IBPluginDependency + 445.IBEditorWindowLastContentRect + 445.IBPluginDependency + 446.IBPluginDependency + 447.IBPluginDependency + 448.IBPluginDependency + 449.IBPluginDependency + 450.IBPluginDependency + 451.IBPluginDependency + 452.IBPluginDependency + 453.IBPluginDependency + 454.IBPluginDependency + 455.IBPluginDependency + 456.IBPluginDependency + 457.IBPluginDependency + 458.IBPluginDependency + 459.IBPluginDependency + 460.IBPluginDependency + 461.IBPluginDependency + 462.IBPluginDependency + 463.IBPluginDependency + 464.IBEditorWindowLastContentRect + 464.IBPluginDependency + 465.IBPluginDependency + 466.IBPluginDependency + 467.IBPluginDependency + 468.IBPluginDependency + 469.IBPluginDependency + 470.IBPluginDependency + 471.IBPluginDependency + 472.IBPluginDependency + 473.IBPluginDependency + 474.IBPluginDependency + 475.IBPluginDependency + 476.IBPluginDependency + 477.IBPluginDependency + 478.IBPluginDependency + 479.IBPluginDependency + 480.IBPluginDependency + 481.IBPluginDependency + 482.IBPluginDependency + 483.IBPluginDependency + 484.IBPluginDependency + 485.IBPluginDependency + 486.IBPluginDependency + 487.IBPluginDependency + 488.IBPluginDependency + 518.IBPluginDependency + 519.IBEditorWindowLastContentRect + 519.IBPluginDependency + 520.IBPluginDependency + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 58.IBPluginDependency + 58.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{370, 880}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + {{63, 575}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + {{63, 575}, {480, 360}} + + + + {213, 107} + com.apple.InterfaceBuilder.CocoaPlugin + + {{610, 1023}, {194, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{184, 1095}, {512, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{410, 921}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + {{494, 1053}, {83, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{450, 813}, {254, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{783, 793}, {170, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{681, 1073}, {250, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{85, 781}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{408, 1023}, {176, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + YES + + + + + YES + + + YES + + + + 521 + + + + YES + + Ingredients_AppDelegate + + saveAction: + id + + + window + NSWindow + + + IBUserSource + + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../../CocoaApp.xcodeproj + 3 + + diff --git a/Ingredients-Info.plist b/Ingredients-Info.plist new file mode 100644 index 0000000..883d858 --- /dev/null +++ b/Ingredients-Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1 + CFBundleShortVersionString + 1.0 + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/Ingredients.xcodeproj/project.pbxproj b/Ingredients.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a8beff8 --- /dev/null +++ b/Ingredients.xcodeproj/project.pbxproj @@ -0,0 +1,417 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 756F9D37110BA73C00E6F291 /* Ingredients_DataModel.xcdatamodel in Sources */ = {isa = PBXBuildFile; fileRef = 770B37EC0679A11B001EADE2 /* Ingredients_DataModel.xcdatamodel */; }; + 756F9D38110BA74300E6F291 /* Ingredients_AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 77C8280C06725ACE000B614F /* Ingredients_AppDelegate.m */; }; + 756F9D4E110BA94500E6F291 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + 756F9D61110BB20F00E6F291 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2F7446970DB6B7EA00F9684A /* MainMenu.xib */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; + 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 2F7446980DB6B7EA00F9684A /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* Ingredients_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ingredients_Prefix.pch; sourceTree = ""; }; + 756F9D2F110BA72F00E6F291 /* IngredientsKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IngredientsKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 756F9D30110BA72F00E6F291 /* IngredientsKit-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "IngredientsKit-Info.plist"; sourceTree = ""; }; + 770B37EC0679A11B001EADE2 /* Ingredients_DataModel.xcdatamodel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = wrapper.xcdatamodel; path = Ingredients_DataModel.xcdatamodel; sourceTree = ""; }; + 77C82804067257F0000B614F /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 77C8280B06725ACE000B614F /* Ingredients_AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ingredients_AppDelegate.h; sourceTree = ""; }; + 77C8280C06725ACE000B614F /* Ingredients_AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Ingredients_AppDelegate.m; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* Ingredients-Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist.xml; fileEncoding = 4; path = "Ingredients-Info.plist"; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* Ingredients.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ingredients.app; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 756F9D2D110BA72F00E6F291 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 756F9D4E110BA94500E6F291 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 77C8280B06725ACE000B614F /* Ingredients_AppDelegate.h */, + 77C8280C06725ACE000B614F /* Ingredients_AppDelegate.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 77C82804067257F0000B614F /* CoreData.framework */, + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* Ingredients.app */, + 756F9D2F110BA72F00E6F291 /* IngredientsKit.framework */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* Ingredients */ = { + isa = PBXGroup; + children = ( + 7756732906782D8800D1FEB8 /* Models */, + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = Ingredients; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* Ingredients_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 8D1107310486CEB800E47090 /* Ingredients-Info.plist */, + 756F9D30110BA72F00E6F291 /* IngredientsKit-Info.plist */, + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, + 2F7446970DB6B7EA00F9684A /* MainMenu.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 7756732906782D8800D1FEB8 /* Models */ = { + isa = PBXGroup; + children = ( + 770B37EC0679A11B001EADE2 /* Ingredients_DataModel.xcdatamodel */, + ); + name = Models; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 756F9D2A110BA72F00E6F291 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 756F9D2E110BA72F00E6F291 /* IngredientsKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 756F9D34110BA73000E6F291 /* Build configuration list for PBXNativeTarget "IngredientsKit" */; + buildPhases = ( + 756F9D2A110BA72F00E6F291 /* Headers */, + 756F9D2B110BA72F00E6F291 /* Resources */, + 756F9D2C110BA72F00E6F291 /* Sources */, + 756F9D2D110BA72F00E6F291 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = IngredientsKit; + productName = IngredientsKit; + productReference = 756F9D2F110BA72F00E6F291 /* IngredientsKit.framework */; + productType = "com.apple.product-type.framework"; + }; + 8D1107260486CEB800E47090 /* Ingredients */ = { + isa = PBXNativeTarget; + buildConfigurationList = 26FC0A840875C7B200E6366F /* Build configuration list for PBXNativeTarget "Ingredients" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Ingredients; + productInstallPath = "$(HOME)/Applications"; + productName = Ingredients; + productReference = 8D1107320486CEB800E47090 /* Ingredients.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "Ingredients" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* Ingredients */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* Ingredients */, + 756F9D2E110BA72F00E6F291 /* IngredientsKit */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 756F9D2B110BA72F00E6F291 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 756F9D61110BB20F00E6F291 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 756F9D2C110BA72F00E6F291 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 756F9D37110BA73C00E6F291 /* Ingredients_DataModel.xcdatamodel in Sources */, + 756F9D38110BA74300E6F291 /* Ingredients_AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C165DFE840E0CC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 2F7446970DB6B7EA00F9684A /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 2F7446980DB6B7EA00F9684A /* English */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 26FC0A850875C7B200E6366F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Ingredients_Prefix.pch; + INFOPLIST_FILE = "Ingredients-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = Ingredients; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 26FC0A860875C7B200E6366F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Ingredients_Prefix.pch; + INFOPLIST_FILE = "Ingredients-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = Ingredients; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + 26FC0A890875C7B200E6366F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_GC = required; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PREBINDING = NO; + SDKROOT = macosx10.6; + }; + name = Debug; + }; + 26FC0A8A0875C7B200E6366F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_GC = required; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = macosx10.6; + }; + name = Release; + }; + 756F9D32110BA73000E6F291 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_VERSION = A; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; + INFOPLIST_FILE = "IngredientsKit-Info.plist"; + INSTALL_PATH = "$(HOME)/Library/Frameworks"; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + AppKit, + ); + PREBINDING = NO; + PRODUCT_NAME = IngredientsKit; + }; + name = Debug; + }; + 756F9D33110BA73000E6F291 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_VERSION = A; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; + INFOPLIST_FILE = "IngredientsKit-Info.plist"; + INSTALL_PATH = "$(HOME)/Library/Frameworks"; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + AppKit, + ); + PREBINDING = NO; + PRODUCT_NAME = IngredientsKit; + ZERO_LINK = NO; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 26FC0A840875C7B200E6366F /* Build configuration list for PBXNativeTarget "Ingredients" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 26FC0A850875C7B200E6366F /* Debug */, + 26FC0A860875C7B200E6366F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "Ingredients" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 26FC0A890875C7B200E6366F /* Debug */, + 26FC0A8A0875C7B200E6366F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 756F9D34110BA73000E6F291 /* Build configuration list for PBXNativeTarget "IngredientsKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 756F9D32110BA73000E6F291 /* Debug */, + 756F9D33110BA73000E6F291 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/IngredientsKit-Info.plist b/IngredientsKit-Info.plist new file mode 100644 index 0000000..fa1bd23 --- /dev/null +++ b/IngredientsKit-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Ingredients_AppDelegate.h b/Ingredients_AppDelegate.h new file mode 100644 index 0000000..92934c4 --- /dev/null +++ b/Ingredients_AppDelegate.h @@ -0,0 +1,28 @@ +// +// Ingredients_AppDelegate.h +// Ingredients +// +// Created by Alex Gordon on 23/01/2010. +// Copyright Fileability 2010 . All rights reserved. +// + +#import + +@interface Ingredients_AppDelegate : NSObject +{ + NSWindow *window; + + NSPersistentStoreCoordinator *persistentStoreCoordinator; + NSManagedObjectModel *managedObjectModel; + NSManagedObjectContext *managedObjectContext; +} + +@property (nonatomic, retain) IBOutlet NSWindow *window; + +@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator; +@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel; +@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; + +- (IBAction)saveAction:sender; + +@end diff --git a/Ingredients_AppDelegate.m b/Ingredients_AppDelegate.m new file mode 100644 index 0000000..bf0af7c --- /dev/null +++ b/Ingredients_AppDelegate.m @@ -0,0 +1,212 @@ +// +// Ingredients_AppDelegate.m +// Ingredients +// +// Created by Alex Gordon on 23/01/2010. +// Copyright Fileability 2010 . All rights reserved. +// + +#import "Ingredients_AppDelegate.h" + +@implementation Ingredients_AppDelegate + +@synthesize window; + +/** + Returns the support directory for the application, used to store the Core Data + store file. This code uses a directory named "Ingredients" for + the content, either in the NSApplicationSupportDirectory location or (if the + former cannot be found), the system's temporary directory. + */ + +- (NSString *)applicationSupportDirectory { + + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); + NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory(); + return [basePath stringByAppendingPathComponent:@"Ingredients"]; +} + + +/** + Creates, retains, and returns the managed object model for the application + by merging all of the models found in the application bundle. + */ + +- (NSManagedObjectModel *)managedObjectModel { + + if (managedObjectModel) return managedObjectModel; + + managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain]; + return managedObjectModel; +} + + +/** + Returns the persistent store coordinator for the application. This + implementation will create and return a coordinator, having added the + store for the application to it. (The directory for the store is created, + if necessary.) + */ + +- (NSPersistentStoreCoordinator *) persistentStoreCoordinator { + + if (persistentStoreCoordinator) return persistentStoreCoordinator; + + NSManagedObjectModel *mom = [self managedObjectModel]; + if (!mom) { + NSAssert(NO, @"Managed object model is nil"); + NSLog(@"%@:%s No model to generate a store from", [self class], _cmd); + return nil; + } + + NSFileManager *fileManager = [NSFileManager defaultManager]; + NSString *applicationSupportDirectory = [self applicationSupportDirectory]; + NSError *error = nil; + + if ( ![fileManager fileExistsAtPath:applicationSupportDirectory isDirectory:NULL] ) { + if (![fileManager createDirectoryAtPath:applicationSupportDirectory withIntermediateDirectories:NO attributes:nil error:&error]) { + NSAssert(NO, ([NSString stringWithFormat:@"Failed to create App Support directory %@ : %@", applicationSupportDirectory,error])); + NSLog(@"Error creating application support directory at %@ : %@",applicationSupportDirectory,error); + return nil; + } + } + + NSURL *url = [NSURL fileURLWithPath: [applicationSupportDirectory stringByAppendingPathComponent: @"storedata"]]; + persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: mom]; + if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType + configuration:nil + URL:url + options:nil + error:&error]){ + [[NSApplication sharedApplication] presentError:error]; + [persistentStoreCoordinator release], persistentStoreCoordinator = nil; + return nil; + } + + return persistentStoreCoordinator; +} + +/** + Returns the managed object context for the application (which is already + bound to the persistent store coordinator for the application.) + */ + +- (NSManagedObjectContext *) managedObjectContext { + + if (managedObjectContext) return managedObjectContext; + + NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; + if (!coordinator) { + NSMutableDictionary *dict = [NSMutableDictionary dictionary]; + [dict setValue:@"Failed to initialize the store" forKey:NSLocalizedDescriptionKey]; + [dict setValue:@"There was an error building up the data file." forKey:NSLocalizedFailureReasonErrorKey]; + NSError *error = [NSError errorWithDomain:@"YOUR_ERROR_DOMAIN" code:9999 userInfo:dict]; + [[NSApplication sharedApplication] presentError:error]; + return nil; + } + managedObjectContext = [[NSManagedObjectContext alloc] init]; + [managedObjectContext setPersistentStoreCoordinator: coordinator]; + + return managedObjectContext; +} + +/** + Returns the NSUndoManager for the application. In this case, the manager + returned is that of the managed object context for the application. + */ + +- (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window { + return [[self managedObjectContext] undoManager]; +} + + +/** + Performs the save action for the application, which is to send the save: + message to the application's managed object context. Any encountered errors + are presented to the user. + */ + +- (IBAction) saveAction:(id)sender { + + NSError *error = nil; + + if (![[self managedObjectContext] commitEditing]) { + NSLog(@"%@:%s unable to commit editing before saving", [self class], _cmd); + } + + if (![[self managedObjectContext] save:&error]) { + [[NSApplication sharedApplication] presentError:error]; + } +} + + +/** + Implementation of the applicationShouldTerminate: method, used here to + handle the saving of changes in the application managed object context + before the application terminates. + */ + +- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender { + + if (!managedObjectContext) return NSTerminateNow; + + if (![managedObjectContext commitEditing]) { + NSLog(@"%@:%s unable to commit editing to terminate", [self class], _cmd); + return NSTerminateCancel; + } + + if (![managedObjectContext hasChanges]) return NSTerminateNow; + + NSError *error = nil; + if (![managedObjectContext save:&error]) { + + // This error handling simply presents error information in a panel with an + // "Ok" button, which does not include any attempt at error recovery (meaning, + // attempting to fix the error.) As a result, this implementation will + // present the information to the user and then follow up with a panel asking + // if the user wishes to "Quit Anyway", without saving the changes. + + // Typically, this process should be altered to include application-specific + // recovery steps. + + BOOL result = [sender presentError:error]; + if (result) return NSTerminateCancel; + + NSString *question = NSLocalizedString(@"Could not save changes while quitting. Quit anyway?", @"Quit without saves error question message"); + NSString *info = NSLocalizedString(@"Quitting now will lose any changes you have made since the last successful save", @"Quit without saves error question info"); + NSString *quitButton = NSLocalizedString(@"Quit anyway", @"Quit anyway button title"); + NSString *cancelButton = NSLocalizedString(@"Cancel", @"Cancel button title"); + NSAlert *alert = [[NSAlert alloc] init]; + [alert setMessageText:question]; + [alert setInformativeText:info]; + [alert addButtonWithTitle:quitButton]; + [alert addButtonWithTitle:cancelButton]; + + NSInteger answer = [alert runModal]; + [alert release]; + alert = nil; + + if (answer == NSAlertAlternateReturn) return NSTerminateCancel; + + } + + return NSTerminateNow; +} + + +/** + Implementation of dealloc, to release the retained variables. + */ + +- (void)dealloc { + + [window release]; + [managedObjectContext release]; + [persistentStoreCoordinator release]; + [managedObjectModel release]; + + [super dealloc]; +} + + +@end diff --git a/Ingredients_DataModel.xcdatamodel/elements b/Ingredients_DataModel.xcdatamodel/elements new file mode 100644 index 0000000000000000000000000000000000000000..220906294d688e73c149bb405efded1c4412c636 GIT binary patch literal 1199 zcmYjP-ES0C6u)yW(3S#ww=D`3T7^Yfm0Cez6|l5S3k%()Fx__gK`*njw`J(;%rY}e zyM%`uG-x!DM@@X$xB=cU@c|x4cmrPS1H~AP3LymWuQ1-39kw$M_sluxch32pk9^5A zT(7tHHwo~n)oYs8P9!u(KWAKIj+zjUYuMIk!m~?i!p@&(y5~|7%PJ>Wg%$ckU>lOI zRv$IDj5@aMap`B$-nwq{mc1W;^6B9LdFa@Q)2*WuXL1RvY?{BX-w-45w)T#VZ@jrl zWTJ}&>PL-e`n)#BrhQ$vi$!Mng@~^f?E*71nkC#0B^!m?nlxq zH#OHi)4=;ij`;>2`)PrNU0^1oJj`0S%;r|3n)HS&gOcoj;zBha+vF=tlOqi9MtM-X8$*Rvfl zvoR`I`IC#*TS*e4DCvx3X!P0e5?Z#53uQKFGJiK|nUXD$fY<$nc$Er*qI`v~=Bo(e zYdGS~yoImjt$h86GBKzu?~CtGO=gvz@TjW1Y5B7Q2M?+BMKX7?{^Jj~cIflInXHm2 zds^OP{f?tm#DLnRUgHV@^vC-`uI=B`vSJP%&^R6wX*4j zT@2Mp3ea%oMkaf50*hJcwq4l%q@vE1h$Tbt?+t6KC~XZ zViEk5RQ2(`TzqU?6+QIKvx-}-^0=TdIaQmQ7DU?{oyvyppSb2!rnAb5BCs>GM$h(5 zsPafAU^^bNM$IUWI#B{8(HA1%H9R#8>gR a_!_>Bf5CU~U3?z}A4qkHv`~fuFZ~Y>$%iHY literal 0 HcmV?d00001 diff --git a/Ingredients_DataModel.xcdatamodel/layout b/Ingredients_DataModel.xcdatamodel/layout new file mode 100644 index 0000000000000000000000000000000000000000..85196a8596c9469c3bf60d37cca28830751a035e GIT binary patch literal 475 zcmYLEO;1xn6g^W46e_fU3W}nXhk^<=gcvs_8oM#-GiE@Zm86+IC*|SvO*1pqbj7Sl z2r)6nxV5PZ7bIxhux0PUsQd;009!YXw2`~G=YE}g&n?$Pq)k45KoVWa?w;QMryf(` zTJ(~uz;jMVGG6kGtOcGduk+C8Qa0n$`@F%Q-{}kvgKRc`r23YWl*W>s^oh~2Gv~c@ z`s)0$7uSXOH87aTj+`#~biT7>#f2|;LqG9C!L)7-4cnycX`MV}6Sm9t2US+9MR7&1 zXd@M?@P8Z5j-P8bZTHWK3l}GYHjnFKJBV48f1J!sm9ir~eONcFEO;RbjZ@E5W7Vg} zN#N5*N1q%_U&>sbnY}Vo3q;A+*?m|;}bRmg41_S!zD z;@Vtm&K=DDC(yQ5*Sel-<))Cr5XRwQ77Hlg9v9UcX*Ev y_=H`2#ut3W9`^AK-|-uV_(PH;L#D|BStK{eO>&FeCX@s?vIJ=(@*V5|dG;5wQHSgR literal 0 HcmV?d00001 diff --git a/Ingredients_Prefix.pch b/Ingredients_Prefix.pch new file mode 100644 index 0000000..57d9b36 --- /dev/null +++ b/Ingredients_Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'Ingredients' target in the 'Ingredients' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/main.m b/main.m new file mode 100644 index 0000000..c7f4246 --- /dev/null +++ b/main.m @@ -0,0 +1,14 @@ +// +// main.m +// Ingredients +// +// Created by Alex Gordon on 23/01/2010. +// Copyright Fileability 2010. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +}