├── English.lproj ├── InfoPlist.strings └── MainMenu.xib ├── RDFirstViewController.h ├── RDFirstViewController.m ├── RDFirstViewController.xib ├── RDSecondViewController.h ├── RDSecondViewController.m ├── RDSecondViewController.xib ├── ReederDemo-Info.plist ├── ReederDemo.xcodeproj └── project.pbxproj ├── ReederDemoAppDelegate.h ├── ReederDemoAppDelegate.m ├── ReederDemo_Prefix.pch └── main.m /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /RDFirstViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RDFirstViewController.h 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface RDFirstViewController : NSViewController {} 13 | 14 | + (RDFirstViewController *)defaultViewController; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /RDFirstViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // RDFirstViewController.m 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import "RDFirstViewController.h" 10 | 11 | 12 | @implementation RDFirstViewController 13 | 14 | 15 | #pragma mark API 16 | 17 | + (RDFirstViewController *)defaultViewController { 18 | return [[[self alloc] initWithNibName:NSStringFromClass(self) bundle:nil] autorelease]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /RDFirstViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1060 5 | 10H574 6 | 823 7 | 1038.35 8 | 461.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 823 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.CocoaPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | RDFirstViewController 34 | 35 | 36 | FirstResponder 37 | 38 | 39 | NSApplication 40 | 41 | 42 | 43 | 268 44 | 45 | YES 46 | 47 | 48 | 268 49 | {{342, 41}, {104, 27}} 50 | 51 | YES 52 | 53 | 71433728 54 | 0 55 | 56 | -595929600 57 | 58 | US/Pacific 59 | 60 | VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ 61 | y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ 62 | 5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g 63 | 8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ 64 | AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg 65 | DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ 66 | HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g 67 | KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ 68 | OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg 69 | Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ 70 | VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg 71 | Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ 72 | cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg 73 | f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA 74 | AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA 75 | AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA 76 | AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA 77 | 78 | 79 | %Y-%m-%d %H:%M:%S %z 80 | 81 | 82 | LucidaGrande 83 | 13 84 | 1044 85 | 86 | 87 | 0.0 88 | 224 89 | 90 | 6 91 | System 92 | controlBackgroundColor 93 | 94 | 3 95 | MC42NjY2NjY2NjY3AA 96 | 97 | 98 | 99 | 6 100 | System 101 | controlTextColor 102 | 103 | 3 104 | MAA 105 | 106 | 107 | 108 | 109 | 110 | 111 | 268 112 | {{69, 41}, {96, 22}} 113 | 114 | YES 115 | 116 | 343014976 117 | 268436544 118 | 119 | 120 | 121 | YES 122 | 1 123 | 124 | 6 125 | System 126 | textBackgroundColor 127 | 128 | 3 129 | MQA 130 | 131 | 132 | 133 | 134 | 130560 135 | 0 136 | search 137 | 138 | _searchFieldSearch: 139 | 140 | 138690815 141 | 0 142 | 143 | 400 144 | 75 145 | 146 | 147 | 130560 148 | 0 149 | clear 150 | 151 | YES 152 | 153 | YES 154 | 155 | YES 156 | AXDescription 157 | NSAccessibilityEncodedAttributesValueType 158 | 159 | 160 | YES 161 | cancel 162 | 163 | 164 | 165 | 166 | 167 | _searchFieldCancel: 168 | 169 | 138690815 170 | 0 171 | 172 | 400 173 | 75 174 | 175 | 255 176 | 177 | 178 | 179 | 180 | 268 181 | {{207, 141}, {66, 17}} 182 | 183 | 2 184 | YES 185 | 186 | 68288064 187 | 272630784 188 | First View 189 | 190 | 191 | 192 | 6 193 | System 194 | controlColor 195 | 196 | 197 | 198 | 199 | 200 | 201 | {480, 272} 202 | 203 | 2 204 | NSView 205 | 206 | 207 | 208 | 209 | YES 210 | 211 | 212 | view 213 | 214 | 215 | 216 | 2 217 | 218 | 219 | 220 | 221 | YES 222 | 223 | 0 224 | 225 | 226 | 227 | 228 | 229 | -2 230 | 231 | 232 | File's Owner 233 | 234 | 235 | -1 236 | 237 | 238 | First Responder 239 | 240 | 241 | -3 242 | 243 | 244 | Application 245 | 246 | 247 | 1 248 | 249 | 250 | YES 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 3 259 | 260 | 261 | YES 262 | 263 | 264 | 265 | 266 | 267 | 4 268 | 269 | 270 | 271 | 272 | 5 273 | 274 | 275 | YES 276 | 277 | 278 | 279 | 280 | 281 | 6 282 | 283 | 284 | 285 | 286 | 9 287 | 288 | 289 | YES 290 | 291 | 292 | 293 | 294 | 295 | 10 296 | 297 | 298 | 299 | 300 | 301 | 302 | YES 303 | 304 | YES 305 | 1.IBEditorWindowLastContentRect 306 | 1.IBPluginDependency 307 | 1.WindowOrigin 308 | 1.editorWindowContentRectSynchronizationRect 309 | 10.IBPluginDependency 310 | 3.IBPluginDependency 311 | 3.IBViewBoundsToFrameTransform 312 | 4.IBPluginDependency 313 | 5.IBPluginDependency 314 | 6.IBPluginDependency 315 | 9.IBPluginDependency 316 | 317 | 318 | YES 319 | {{322, 584}, {480, 272}} 320 | com.apple.InterfaceBuilder.CocoaPlugin 321 | {628, 654} 322 | {{217, 442}, {480, 272}} 323 | com.apple.InterfaceBuilder.CocoaPlugin 324 | com.apple.InterfaceBuilder.CocoaPlugin 325 | 326 | P4AAAL+AAABDTwAAwxwAAA 327 | 328 | com.apple.InterfaceBuilder.CocoaPlugin 329 | com.apple.InterfaceBuilder.CocoaPlugin 330 | com.apple.InterfaceBuilder.CocoaPlugin 331 | com.apple.InterfaceBuilder.CocoaPlugin 332 | 333 | 334 | 335 | YES 336 | 337 | 338 | YES 339 | 340 | 341 | 342 | 343 | YES 344 | 345 | 346 | YES 347 | 348 | 349 | 350 | 10 351 | 352 | 353 | 354 | YES 355 | 356 | RDFirstViewController 357 | NSViewController 358 | 359 | IBProjectSource 360 | RDFirstViewController.h 361 | 362 | 363 | 364 | 365 | YES 366 | 367 | NSActionCell 368 | NSCell 369 | 370 | IBFrameworkSource 371 | AppKit.framework/Headers/NSActionCell.h 372 | 373 | 374 | 375 | NSApplication 376 | NSResponder 377 | 378 | IBFrameworkSource 379 | AppKit.framework/Headers/NSApplication.h 380 | 381 | 382 | 383 | NSApplication 384 | 385 | IBFrameworkSource 386 | AppKit.framework/Headers/NSApplicationScripting.h 387 | 388 | 389 | 390 | NSApplication 391 | 392 | IBFrameworkSource 393 | AppKit.framework/Headers/NSColorPanel.h 394 | 395 | 396 | 397 | NSApplication 398 | 399 | IBFrameworkSource 400 | AppKit.framework/Headers/NSHelpManager.h 401 | 402 | 403 | 404 | NSApplication 405 | 406 | IBFrameworkSource 407 | AppKit.framework/Headers/NSPageLayout.h 408 | 409 | 410 | 411 | NSApplication 412 | 413 | IBFrameworkSource 414 | AppKit.framework/Headers/NSUserInterfaceItemSearching.h 415 | 416 | 417 | 418 | NSCell 419 | NSObject 420 | 421 | IBFrameworkSource 422 | AppKit.framework/Headers/NSCell.h 423 | 424 | 425 | 426 | NSControl 427 | NSView 428 | 429 | IBFrameworkSource 430 | AppKit.framework/Headers/NSControl.h 431 | 432 | 433 | 434 | NSDatePicker 435 | NSControl 436 | 437 | IBFrameworkSource 438 | AppKit.framework/Headers/NSDatePicker.h 439 | 440 | 441 | 442 | NSDatePickerCell 443 | NSActionCell 444 | 445 | IBFrameworkSource 446 | AppKit.framework/Headers/NSDatePickerCell.h 447 | 448 | 449 | 450 | NSFormatter 451 | NSObject 452 | 453 | IBFrameworkSource 454 | Foundation.framework/Headers/NSFormatter.h 455 | 456 | 457 | 458 | NSMenu 459 | NSObject 460 | 461 | IBFrameworkSource 462 | AppKit.framework/Headers/NSMenu.h 463 | 464 | 465 | 466 | NSObject 467 | 468 | IBFrameworkSource 469 | AppKit.framework/Headers/NSAccessibility.h 470 | 471 | 472 | 473 | NSObject 474 | 475 | 476 | 477 | NSObject 478 | 479 | 480 | 481 | NSObject 482 | 483 | 484 | 485 | NSObject 486 | 487 | 488 | 489 | NSObject 490 | 491 | IBFrameworkSource 492 | AppKit.framework/Headers/NSDictionaryController.h 493 | 494 | 495 | 496 | NSObject 497 | 498 | IBFrameworkSource 499 | AppKit.framework/Headers/NSDragging.h 500 | 501 | 502 | 503 | NSObject 504 | 505 | IBFrameworkSource 506 | AppKit.framework/Headers/NSFontManager.h 507 | 508 | 509 | 510 | NSObject 511 | 512 | IBFrameworkSource 513 | AppKit.framework/Headers/NSFontPanel.h 514 | 515 | 516 | 517 | NSObject 518 | 519 | IBFrameworkSource 520 | AppKit.framework/Headers/NSKeyValueBinding.h 521 | 522 | 523 | 524 | NSObject 525 | 526 | 527 | 528 | NSObject 529 | 530 | IBFrameworkSource 531 | AppKit.framework/Headers/NSNibLoading.h 532 | 533 | 534 | 535 | NSObject 536 | 537 | IBFrameworkSource 538 | AppKit.framework/Headers/NSOutlineView.h 539 | 540 | 541 | 542 | NSObject 543 | 544 | IBFrameworkSource 545 | AppKit.framework/Headers/NSPasteboard.h 546 | 547 | 548 | 549 | NSObject 550 | 551 | IBFrameworkSource 552 | AppKit.framework/Headers/NSSavePanel.h 553 | 554 | 555 | 556 | NSObject 557 | 558 | IBFrameworkSource 559 | AppKit.framework/Headers/NSTableView.h 560 | 561 | 562 | 563 | NSObject 564 | 565 | IBFrameworkSource 566 | AppKit.framework/Headers/NSToolbarItem.h 567 | 568 | 569 | 570 | NSObject 571 | 572 | IBFrameworkSource 573 | AppKit.framework/Headers/NSView.h 574 | 575 | 576 | 577 | NSObject 578 | 579 | IBFrameworkSource 580 | Foundation.framework/Headers/NSArchiver.h 581 | 582 | 583 | 584 | NSObject 585 | 586 | IBFrameworkSource 587 | Foundation.framework/Headers/NSClassDescription.h 588 | 589 | 590 | 591 | NSObject 592 | 593 | IBFrameworkSource 594 | Foundation.framework/Headers/NSError.h 595 | 596 | 597 | 598 | NSObject 599 | 600 | IBFrameworkSource 601 | Foundation.framework/Headers/NSFileManager.h 602 | 603 | 604 | 605 | NSObject 606 | 607 | IBFrameworkSource 608 | Foundation.framework/Headers/NSKeyValueCoding.h 609 | 610 | 611 | 612 | NSObject 613 | 614 | IBFrameworkSource 615 | Foundation.framework/Headers/NSKeyValueObserving.h 616 | 617 | 618 | 619 | NSObject 620 | 621 | IBFrameworkSource 622 | Foundation.framework/Headers/NSKeyedArchiver.h 623 | 624 | 625 | 626 | NSObject 627 | 628 | IBFrameworkSource 629 | Foundation.framework/Headers/NSObject.h 630 | 631 | 632 | 633 | NSObject 634 | 635 | IBFrameworkSource 636 | Foundation.framework/Headers/NSObjectScripting.h 637 | 638 | 639 | 640 | NSObject 641 | 642 | IBFrameworkSource 643 | Foundation.framework/Headers/NSPortCoder.h 644 | 645 | 646 | 647 | NSObject 648 | 649 | IBFrameworkSource 650 | Foundation.framework/Headers/NSRunLoop.h 651 | 652 | 653 | 654 | NSObject 655 | 656 | IBFrameworkSource 657 | Foundation.framework/Headers/NSScriptClassDescription.h 658 | 659 | 660 | 661 | NSObject 662 | 663 | IBFrameworkSource 664 | Foundation.framework/Headers/NSScriptKeyValueCoding.h 665 | 666 | 667 | 668 | NSObject 669 | 670 | IBFrameworkSource 671 | Foundation.framework/Headers/NSScriptObjectSpecifiers.h 672 | 673 | 674 | 675 | NSObject 676 | 677 | IBFrameworkSource 678 | Foundation.framework/Headers/NSScriptWhoseTests.h 679 | 680 | 681 | 682 | NSObject 683 | 684 | IBFrameworkSource 685 | Foundation.framework/Headers/NSThread.h 686 | 687 | 688 | 689 | NSObject 690 | 691 | IBFrameworkSource 692 | Foundation.framework/Headers/NSURL.h 693 | 694 | 695 | 696 | NSObject 697 | 698 | IBFrameworkSource 699 | Foundation.framework/Headers/NSURLConnection.h 700 | 701 | 702 | 703 | NSObject 704 | 705 | IBFrameworkSource 706 | Foundation.framework/Headers/NSURLDownload.h 707 | 708 | 709 | 710 | NSObject 711 | 712 | IBFrameworkSource 713 | QuartzCore.framework/Headers/CAAnimation.h 714 | 715 | 716 | 717 | NSObject 718 | 719 | IBFrameworkSource 720 | QuartzCore.framework/Headers/CALayer.h 721 | 722 | 723 | 724 | NSObject 725 | 726 | IBFrameworkSource 727 | QuartzCore.framework/Headers/CIImageProvider.h 728 | 729 | 730 | 731 | NSResponder 732 | 733 | IBFrameworkSource 734 | AppKit.framework/Headers/NSInterfaceStyle.h 735 | 736 | 737 | 738 | NSResponder 739 | NSObject 740 | 741 | IBFrameworkSource 742 | AppKit.framework/Headers/NSResponder.h 743 | 744 | 745 | 746 | NSSearchField 747 | NSTextField 748 | 749 | IBFrameworkSource 750 | AppKit.framework/Headers/NSSearchField.h 751 | 752 | 753 | 754 | NSSearchFieldCell 755 | NSTextFieldCell 756 | 757 | IBFrameworkSource 758 | AppKit.framework/Headers/NSSearchFieldCell.h 759 | 760 | 761 | 762 | NSTextField 763 | NSControl 764 | 765 | IBFrameworkSource 766 | AppKit.framework/Headers/NSTextField.h 767 | 768 | 769 | 770 | NSTextFieldCell 771 | NSActionCell 772 | 773 | IBFrameworkSource 774 | AppKit.framework/Headers/NSTextFieldCell.h 775 | 776 | 777 | 778 | NSView 779 | 780 | IBFrameworkSource 781 | AppKit.framework/Headers/NSClipView.h 782 | 783 | 784 | 785 | NSView 786 | 787 | IBFrameworkSource 788 | AppKit.framework/Headers/NSMenuItem.h 789 | 790 | 791 | 792 | NSView 793 | 794 | IBFrameworkSource 795 | AppKit.framework/Headers/NSRulerView.h 796 | 797 | 798 | 799 | NSView 800 | NSResponder 801 | 802 | 803 | 804 | NSViewController 805 | NSResponder 806 | 807 | view 808 | NSView 809 | 810 | 811 | view 812 | 813 | view 814 | NSView 815 | 816 | 817 | 818 | IBFrameworkSource 819 | AppKit.framework/Headers/NSViewController.h 820 | 821 | 822 | 823 | 824 | 0 825 | IBCocoaFramework 826 | 827 | com.apple.InterfaceBuilder.CocoaPlugin.macosx 828 | 829 | 830 | 831 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 832 | 833 | 834 | YES 835 | ReederDemo.xcodeproj 836 | 3 837 | 838 | 839 | -------------------------------------------------------------------------------- /RDSecondViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RDSecondViewController.h 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface RDSecondViewController : NSViewController {} 13 | 14 | + (RDSecondViewController *)defaultViewController; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /RDSecondViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // RDSecondViewController.m 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import "RDSecondViewController.h" 10 | 11 | 12 | @implementation RDSecondViewController 13 | 14 | 15 | #pragma mark API 16 | 17 | + (RDSecondViewController *)defaultViewController { 18 | return [[[self alloc] initWithNibName:NSStringFromClass(self) bundle:nil] autorelease]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /RDSecondViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1060 5 | 10H574 6 | 823 7 | 1038.35 8 | 461.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 823 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.CocoaPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | RDSecondViewController 34 | 35 | 36 | FirstResponder 37 | 38 | 39 | NSApplication 40 | 41 | 42 | 43 | 268 44 | 45 | YES 46 | 47 | 48 | 268 49 | {{135, 36}, {225, 83}} 50 | 51 | YES 52 | 53 | -1805517311 54 | 272629760 55 | 56 | 57 | LucidaGrande 58 | 13 59 | 1044 60 | 61 | 62 | YES 63 | 64 | 6 65 | System 66 | textBackgroundColor 67 | 68 | 3 69 | MQA 70 | 71 | 72 | 73 | 6 74 | System 75 | textColor 76 | 77 | 3 78 | MAA 79 | 80 | 81 | 82 | 83 | 84 | 85 | 268 86 | {{199, 127}, {83, 17}} 87 | 88 | 2 89 | YES 90 | 91 | 68288064 92 | 272630784 93 | Second View 94 | 95 | 96 | 97 | 6 98 | System 99 | controlColor 100 | 101 | 3 102 | MC42NjY2NjY2NjY3AA 103 | 104 | 105 | 106 | 6 107 | System 108 | controlTextColor 109 | 110 | 111 | 112 | 113 | 114 | {480, 272} 115 | 116 | 2 117 | NSView 118 | 119 | 120 | 121 | 122 | YES 123 | 124 | 125 | view 126 | 127 | 128 | 129 | 2 130 | 131 | 132 | 133 | 134 | YES 135 | 136 | 0 137 | 138 | 139 | 140 | 141 | 142 | -2 143 | 144 | 145 | File's Owner 146 | 147 | 148 | -1 149 | 150 | 151 | First Responder 152 | 153 | 154 | -3 155 | 156 | 157 | Application 158 | 159 | 160 | 1 161 | 162 | 163 | YES 164 | 165 | 166 | 167 | 168 | 169 | 170 | 3 171 | 172 | 173 | YES 174 | 175 | 176 | 177 | 178 | 179 | 4 180 | 181 | 182 | 183 | 184 | 5 185 | 186 | 187 | YES 188 | 189 | 190 | 191 | 192 | 193 | 6 194 | 195 | 196 | 197 | 198 | 199 | 200 | YES 201 | 202 | YES 203 | 1.IBEditorWindowLastContentRect 204 | 1.IBPluginDependency 205 | 1.WindowOrigin 206 | 1.editorWindowContentRectSynchronizationRect 207 | 3.IBPluginDependency 208 | 4.IBPluginDependency 209 | 5.IBPluginDependency 210 | 6.IBPluginDependency 211 | 212 | 213 | YES 214 | {{322, 584}, {480, 272}} 215 | com.apple.InterfaceBuilder.CocoaPlugin 216 | {628, 654} 217 | {{217, 442}, {480, 272}} 218 | com.apple.InterfaceBuilder.CocoaPlugin 219 | com.apple.InterfaceBuilder.CocoaPlugin 220 | com.apple.InterfaceBuilder.CocoaPlugin 221 | com.apple.InterfaceBuilder.CocoaPlugin 222 | 223 | 224 | 225 | YES 226 | 227 | 228 | YES 229 | 230 | 231 | 232 | 233 | YES 234 | 235 | 236 | YES 237 | 238 | 239 | 240 | 6 241 | 242 | 243 | 244 | YES 245 | 246 | RDSecondViewController 247 | NSViewController 248 | 249 | IBProjectSource 250 | RDSecondViewController.h 251 | 252 | 253 | 254 | 255 | YES 256 | 257 | NSActionCell 258 | NSCell 259 | 260 | IBFrameworkSource 261 | AppKit.framework/Headers/NSActionCell.h 262 | 263 | 264 | 265 | NSApplication 266 | NSResponder 267 | 268 | IBFrameworkSource 269 | AppKit.framework/Headers/NSApplication.h 270 | 271 | 272 | 273 | NSApplication 274 | 275 | IBFrameworkSource 276 | AppKit.framework/Headers/NSApplicationScripting.h 277 | 278 | 279 | 280 | NSApplication 281 | 282 | IBFrameworkSource 283 | AppKit.framework/Headers/NSColorPanel.h 284 | 285 | 286 | 287 | NSApplication 288 | 289 | IBFrameworkSource 290 | AppKit.framework/Headers/NSHelpManager.h 291 | 292 | 293 | 294 | NSApplication 295 | 296 | IBFrameworkSource 297 | AppKit.framework/Headers/NSPageLayout.h 298 | 299 | 300 | 301 | NSApplication 302 | 303 | IBFrameworkSource 304 | AppKit.framework/Headers/NSUserInterfaceItemSearching.h 305 | 306 | 307 | 308 | NSCell 309 | NSObject 310 | 311 | IBFrameworkSource 312 | AppKit.framework/Headers/NSCell.h 313 | 314 | 315 | 316 | NSControl 317 | NSView 318 | 319 | IBFrameworkSource 320 | AppKit.framework/Headers/NSControl.h 321 | 322 | 323 | 324 | NSFormatter 325 | NSObject 326 | 327 | IBFrameworkSource 328 | Foundation.framework/Headers/NSFormatter.h 329 | 330 | 331 | 332 | NSMenu 333 | NSObject 334 | 335 | IBFrameworkSource 336 | AppKit.framework/Headers/NSMenu.h 337 | 338 | 339 | 340 | NSObject 341 | 342 | IBFrameworkSource 343 | AppKit.framework/Headers/NSAccessibility.h 344 | 345 | 346 | 347 | NSObject 348 | 349 | 350 | 351 | NSObject 352 | 353 | 354 | 355 | NSObject 356 | 357 | 358 | 359 | NSObject 360 | 361 | 362 | 363 | NSObject 364 | 365 | IBFrameworkSource 366 | AppKit.framework/Headers/NSDictionaryController.h 367 | 368 | 369 | 370 | NSObject 371 | 372 | IBFrameworkSource 373 | AppKit.framework/Headers/NSDragging.h 374 | 375 | 376 | 377 | NSObject 378 | 379 | IBFrameworkSource 380 | AppKit.framework/Headers/NSFontManager.h 381 | 382 | 383 | 384 | NSObject 385 | 386 | IBFrameworkSource 387 | AppKit.framework/Headers/NSFontPanel.h 388 | 389 | 390 | 391 | NSObject 392 | 393 | IBFrameworkSource 394 | AppKit.framework/Headers/NSKeyValueBinding.h 395 | 396 | 397 | 398 | NSObject 399 | 400 | 401 | 402 | NSObject 403 | 404 | IBFrameworkSource 405 | AppKit.framework/Headers/NSNibLoading.h 406 | 407 | 408 | 409 | NSObject 410 | 411 | IBFrameworkSource 412 | AppKit.framework/Headers/NSOutlineView.h 413 | 414 | 415 | 416 | NSObject 417 | 418 | IBFrameworkSource 419 | AppKit.framework/Headers/NSPasteboard.h 420 | 421 | 422 | 423 | NSObject 424 | 425 | IBFrameworkSource 426 | AppKit.framework/Headers/NSSavePanel.h 427 | 428 | 429 | 430 | NSObject 431 | 432 | IBFrameworkSource 433 | AppKit.framework/Headers/NSTableView.h 434 | 435 | 436 | 437 | NSObject 438 | 439 | IBFrameworkSource 440 | AppKit.framework/Headers/NSToolbarItem.h 441 | 442 | 443 | 444 | NSObject 445 | 446 | IBFrameworkSource 447 | AppKit.framework/Headers/NSView.h 448 | 449 | 450 | 451 | NSObject 452 | 453 | IBFrameworkSource 454 | Foundation.framework/Headers/NSArchiver.h 455 | 456 | 457 | 458 | NSObject 459 | 460 | IBFrameworkSource 461 | Foundation.framework/Headers/NSClassDescription.h 462 | 463 | 464 | 465 | NSObject 466 | 467 | IBFrameworkSource 468 | Foundation.framework/Headers/NSError.h 469 | 470 | 471 | 472 | NSObject 473 | 474 | IBFrameworkSource 475 | Foundation.framework/Headers/NSFileManager.h 476 | 477 | 478 | 479 | NSObject 480 | 481 | IBFrameworkSource 482 | Foundation.framework/Headers/NSKeyValueCoding.h 483 | 484 | 485 | 486 | NSObject 487 | 488 | IBFrameworkSource 489 | Foundation.framework/Headers/NSKeyValueObserving.h 490 | 491 | 492 | 493 | NSObject 494 | 495 | IBFrameworkSource 496 | Foundation.framework/Headers/NSKeyedArchiver.h 497 | 498 | 499 | 500 | NSObject 501 | 502 | IBFrameworkSource 503 | Foundation.framework/Headers/NSObject.h 504 | 505 | 506 | 507 | NSObject 508 | 509 | IBFrameworkSource 510 | Foundation.framework/Headers/NSObjectScripting.h 511 | 512 | 513 | 514 | NSObject 515 | 516 | IBFrameworkSource 517 | Foundation.framework/Headers/NSPortCoder.h 518 | 519 | 520 | 521 | NSObject 522 | 523 | IBFrameworkSource 524 | Foundation.framework/Headers/NSRunLoop.h 525 | 526 | 527 | 528 | NSObject 529 | 530 | IBFrameworkSource 531 | Foundation.framework/Headers/NSScriptClassDescription.h 532 | 533 | 534 | 535 | NSObject 536 | 537 | IBFrameworkSource 538 | Foundation.framework/Headers/NSScriptKeyValueCoding.h 539 | 540 | 541 | 542 | NSObject 543 | 544 | IBFrameworkSource 545 | Foundation.framework/Headers/NSScriptObjectSpecifiers.h 546 | 547 | 548 | 549 | NSObject 550 | 551 | IBFrameworkSource 552 | Foundation.framework/Headers/NSScriptWhoseTests.h 553 | 554 | 555 | 556 | NSObject 557 | 558 | IBFrameworkSource 559 | Foundation.framework/Headers/NSThread.h 560 | 561 | 562 | 563 | NSObject 564 | 565 | IBFrameworkSource 566 | Foundation.framework/Headers/NSURL.h 567 | 568 | 569 | 570 | NSObject 571 | 572 | IBFrameworkSource 573 | Foundation.framework/Headers/NSURLConnection.h 574 | 575 | 576 | 577 | NSObject 578 | 579 | IBFrameworkSource 580 | Foundation.framework/Headers/NSURLDownload.h 581 | 582 | 583 | 584 | NSObject 585 | 586 | IBFrameworkSource 587 | QuartzCore.framework/Headers/CAAnimation.h 588 | 589 | 590 | 591 | NSObject 592 | 593 | IBFrameworkSource 594 | QuartzCore.framework/Headers/CALayer.h 595 | 596 | 597 | 598 | NSObject 599 | 600 | IBFrameworkSource 601 | QuartzCore.framework/Headers/CIImageProvider.h 602 | 603 | 604 | 605 | NSResponder 606 | 607 | IBFrameworkSource 608 | AppKit.framework/Headers/NSInterfaceStyle.h 609 | 610 | 611 | 612 | NSResponder 613 | NSObject 614 | 615 | IBFrameworkSource 616 | AppKit.framework/Headers/NSResponder.h 617 | 618 | 619 | 620 | NSTextField 621 | NSControl 622 | 623 | IBFrameworkSource 624 | AppKit.framework/Headers/NSTextField.h 625 | 626 | 627 | 628 | NSTextFieldCell 629 | NSActionCell 630 | 631 | IBFrameworkSource 632 | AppKit.framework/Headers/NSTextFieldCell.h 633 | 634 | 635 | 636 | NSView 637 | 638 | IBFrameworkSource 639 | AppKit.framework/Headers/NSClipView.h 640 | 641 | 642 | 643 | NSView 644 | 645 | IBFrameworkSource 646 | AppKit.framework/Headers/NSMenuItem.h 647 | 648 | 649 | 650 | NSView 651 | 652 | IBFrameworkSource 653 | AppKit.framework/Headers/NSRulerView.h 654 | 655 | 656 | 657 | NSView 658 | NSResponder 659 | 660 | 661 | 662 | NSViewController 663 | NSResponder 664 | 665 | view 666 | NSView 667 | 668 | 669 | view 670 | 671 | view 672 | NSView 673 | 674 | 675 | 676 | IBFrameworkSource 677 | AppKit.framework/Headers/NSViewController.h 678 | 679 | 680 | 681 | 682 | 0 683 | IBCocoaFramework 684 | 685 | com.apple.InterfaceBuilder.CocoaPlugin.macosx 686 | 687 | 688 | 689 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 690 | 691 | 692 | YES 693 | ReederDemo.xcodeproj 694 | 3 695 | 696 | 697 | -------------------------------------------------------------------------------- /ReederDemo-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.yourcompany.${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 | -------------------------------------------------------------------------------- /ReederDemo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 45; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; 11 | 256AC3DA0F4B6AC300CF3369 /* ReederDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* ReederDemoAppDelegate.m */; }; 12 | 8837713E12B1799000CF5D6D /* RDFirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8837713D12B1799000CF5D6D /* RDFirstViewController.m */; }; 13 | 8837714112B1799800CF5D6D /* RDSecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8837714012B1799800CF5D6D /* RDSecondViewController.m */; }; 14 | 8837714512B179C600CF5D6D /* RDFirstViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8837714412B179C600CF5D6D /* RDFirstViewController.xib */; }; 15 | 8837714712B179CE00CF5D6D /* RDSecondViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8837714612B179CE00CF5D6D /* RDSecondViewController.xib */; }; 16 | 8837717C12B17B7800CF5D6D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8837717B12B17B7800CF5D6D /* QuartzCore.framework */; }; 17 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 18 | 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 19 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 20 | /* End PBXBuildFile section */ 21 | 22 | /* Begin PBXFileReference section */ 23 | 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 24 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 25 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 26 | 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; 27 | 256AC3D80F4B6AC300CF3369 /* ReederDemoAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReederDemoAppDelegate.h; sourceTree = ""; }; 28 | 256AC3D90F4B6AC300CF3369 /* ReederDemoAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReederDemoAppDelegate.m; sourceTree = ""; }; 29 | 256AC3F00F4B6AF500CF3369 /* ReederDemo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReederDemo_Prefix.pch; sourceTree = ""; }; 30 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 31 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 32 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 33 | 8837713C12B1799000CF5D6D /* RDFirstViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RDFirstViewController.h; sourceTree = ""; }; 34 | 8837713D12B1799000CF5D6D /* RDFirstViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RDFirstViewController.m; sourceTree = ""; }; 35 | 8837713F12B1799800CF5D6D /* RDSecondViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RDSecondViewController.h; sourceTree = ""; }; 36 | 8837714012B1799800CF5D6D /* RDSecondViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RDSecondViewController.m; sourceTree = ""; }; 37 | 8837714412B179C600CF5D6D /* RDFirstViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RDFirstViewController.xib; sourceTree = ""; }; 38 | 8837714612B179CE00CF5D6D /* RDSecondViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RDSecondViewController.xib; sourceTree = ""; }; 39 | 8837717B12B17B7800CF5D6D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 40 | 8D1107310486CEB800E47090 /* ReederDemo-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ReederDemo-Info.plist"; sourceTree = ""; }; 41 | 8D1107320486CEB800E47090 /* ReederDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReederDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 42 | /* End PBXFileReference section */ 43 | 44 | /* Begin PBXFrameworksBuildPhase section */ 45 | 8D11072E0486CEB800E47090 /* Frameworks */ = { 46 | isa = PBXFrameworksBuildPhase; 47 | buildActionMask = 2147483647; 48 | files = ( 49 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, 50 | 8837717C12B17B7800CF5D6D /* QuartzCore.framework in Frameworks */, 51 | ); 52 | runOnlyForDeploymentPostprocessing = 0; 53 | }; 54 | /* End PBXFrameworksBuildPhase section */ 55 | 56 | /* Begin PBXGroup section */ 57 | 080E96DDFE201D6D7F000001 /* Classes */ = { 58 | isa = PBXGroup; 59 | children = ( 60 | 256AC3D80F4B6AC300CF3369 /* ReederDemoAppDelegate.h */, 61 | 256AC3D90F4B6AC300CF3369 /* ReederDemoAppDelegate.m */, 62 | 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, 63 | 8837713C12B1799000CF5D6D /* RDFirstViewController.h */, 64 | 8837713D12B1799000CF5D6D /* RDFirstViewController.m */, 65 | 8837714412B179C600CF5D6D /* RDFirstViewController.xib */, 66 | 8837713F12B1799800CF5D6D /* RDSecondViewController.h */, 67 | 8837714012B1799800CF5D6D /* RDSecondViewController.m */, 68 | 8837714612B179CE00CF5D6D /* RDSecondViewController.xib */, 69 | ); 70 | name = Classes; 71 | sourceTree = ""; 72 | }; 73 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 77 | 8837717B12B17B7800CF5D6D /* QuartzCore.framework */, 78 | ); 79 | name = "Linked Frameworks"; 80 | sourceTree = ""; 81 | }; 82 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 86 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, 87 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */, 88 | ); 89 | name = "Other Frameworks"; 90 | sourceTree = ""; 91 | }; 92 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 93 | isa = PBXGroup; 94 | children = ( 95 | 8D1107320486CEB800E47090 /* ReederDemo.app */, 96 | ); 97 | name = Products; 98 | sourceTree = ""; 99 | }; 100 | 29B97314FDCFA39411CA2CEA /* ReederDemo */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 080E96DDFE201D6D7F000001 /* Classes */, 104 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 105 | 29B97317FDCFA39411CA2CEA /* Resources */, 106 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 107 | 19C28FACFE9D520D11CA2CBB /* Products */, 108 | ); 109 | name = ReederDemo; 110 | sourceTree = ""; 111 | }; 112 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 113 | isa = PBXGroup; 114 | children = ( 115 | 256AC3F00F4B6AF500CF3369 /* ReederDemo_Prefix.pch */, 116 | 29B97316FDCFA39411CA2CEA /* main.m */, 117 | ); 118 | name = "Other Sources"; 119 | sourceTree = ""; 120 | }; 121 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 122 | isa = PBXGroup; 123 | children = ( 124 | 8D1107310486CEB800E47090 /* ReederDemo-Info.plist */, 125 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 126 | ); 127 | name = Resources; 128 | sourceTree = ""; 129 | }; 130 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 131 | isa = PBXGroup; 132 | children = ( 133 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 134 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, 135 | ); 136 | name = Frameworks; 137 | sourceTree = ""; 138 | }; 139 | /* End PBXGroup section */ 140 | 141 | /* Begin PBXNativeTarget section */ 142 | 8D1107260486CEB800E47090 /* ReederDemo */ = { 143 | isa = PBXNativeTarget; 144 | buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "ReederDemo" */; 145 | buildPhases = ( 146 | 8D1107290486CEB800E47090 /* Resources */, 147 | 8D11072C0486CEB800E47090 /* Sources */, 148 | 8D11072E0486CEB800E47090 /* Frameworks */, 149 | ); 150 | buildRules = ( 151 | ); 152 | dependencies = ( 153 | ); 154 | name = ReederDemo; 155 | productInstallPath = "$(HOME)/Applications"; 156 | productName = ReederDemo; 157 | productReference = 8D1107320486CEB800E47090 /* ReederDemo.app */; 158 | productType = "com.apple.product-type.application"; 159 | }; 160 | /* End PBXNativeTarget section */ 161 | 162 | /* Begin PBXProject section */ 163 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 164 | isa = PBXProject; 165 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ReederDemo" */; 166 | compatibilityVersion = "Xcode 3.1"; 167 | developmentRegion = English; 168 | hasScannedForEncodings = 1; 169 | knownRegions = ( 170 | English, 171 | Japanese, 172 | French, 173 | German, 174 | ); 175 | mainGroup = 29B97314FDCFA39411CA2CEA /* ReederDemo */; 176 | projectDirPath = ""; 177 | projectRoot = ""; 178 | targets = ( 179 | 8D1107260486CEB800E47090 /* ReederDemo */, 180 | ); 181 | }; 182 | /* End PBXProject section */ 183 | 184 | /* Begin PBXResourcesBuildPhase section */ 185 | 8D1107290486CEB800E47090 /* Resources */ = { 186 | isa = PBXResourcesBuildPhase; 187 | buildActionMask = 2147483647; 188 | files = ( 189 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 190 | 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, 191 | 8837714512B179C600CF5D6D /* RDFirstViewController.xib in Resources */, 192 | 8837714712B179CE00CF5D6D /* RDSecondViewController.xib in Resources */, 193 | ); 194 | runOnlyForDeploymentPostprocessing = 0; 195 | }; 196 | /* End PBXResourcesBuildPhase section */ 197 | 198 | /* Begin PBXSourcesBuildPhase section */ 199 | 8D11072C0486CEB800E47090 /* Sources */ = { 200 | isa = PBXSourcesBuildPhase; 201 | buildActionMask = 2147483647; 202 | files = ( 203 | 8D11072D0486CEB800E47090 /* main.m in Sources */, 204 | 256AC3DA0F4B6AC300CF3369 /* ReederDemoAppDelegate.m in Sources */, 205 | 8837713E12B1799000CF5D6D /* RDFirstViewController.m in Sources */, 206 | 8837714112B1799800CF5D6D /* RDSecondViewController.m in Sources */, 207 | ); 208 | runOnlyForDeploymentPostprocessing = 0; 209 | }; 210 | /* End PBXSourcesBuildPhase section */ 211 | 212 | /* Begin PBXVariantGroup section */ 213 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { 214 | isa = PBXVariantGroup; 215 | children = ( 216 | 089C165DFE840E0CC02AAC07 /* English */, 217 | ); 218 | name = InfoPlist.strings; 219 | sourceTree = ""; 220 | }; 221 | 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { 222 | isa = PBXVariantGroup; 223 | children = ( 224 | 1DDD58150DA1D0A300B32029 /* English */, 225 | ); 226 | name = MainMenu.xib; 227 | sourceTree = ""; 228 | }; 229 | /* End PBXVariantGroup section */ 230 | 231 | /* Begin XCBuildConfiguration section */ 232 | C01FCF4B08A954540054247B /* Debug */ = { 233 | isa = XCBuildConfiguration; 234 | buildSettings = { 235 | ALWAYS_SEARCH_USER_PATHS = NO; 236 | COPY_PHASE_STRIP = NO; 237 | GCC_DYNAMIC_NO_PIC = NO; 238 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 239 | GCC_MODEL_TUNING = G5; 240 | GCC_OPTIMIZATION_LEVEL = 0; 241 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 242 | GCC_PREFIX_HEADER = ReederDemo_Prefix.pch; 243 | INFOPLIST_FILE = "ReederDemo-Info.plist"; 244 | INSTALL_PATH = "$(HOME)/Applications"; 245 | PRODUCT_NAME = ReederDemo; 246 | }; 247 | name = Debug; 248 | }; 249 | C01FCF4C08A954540054247B /* Release */ = { 250 | isa = XCBuildConfiguration; 251 | buildSettings = { 252 | ALWAYS_SEARCH_USER_PATHS = NO; 253 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 254 | GCC_MODEL_TUNING = G5; 255 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 256 | GCC_PREFIX_HEADER = ReederDemo_Prefix.pch; 257 | INFOPLIST_FILE = "ReederDemo-Info.plist"; 258 | INSTALL_PATH = "$(HOME)/Applications"; 259 | PRODUCT_NAME = ReederDemo; 260 | }; 261 | name = Release; 262 | }; 263 | C01FCF4F08A954540054247B /* Debug */ = { 264 | isa = XCBuildConfiguration; 265 | buildSettings = { 266 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 267 | GCC_C_LANGUAGE_STANDARD = gnu99; 268 | GCC_ENABLE_OBJC_GC = required; 269 | GCC_OPTIMIZATION_LEVEL = 0; 270 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 271 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 272 | GCC_WARN_UNUSED_VARIABLE = YES; 273 | ONLY_ACTIVE_ARCH = YES; 274 | PREBINDING = NO; 275 | SDKROOT = macosx10.6; 276 | }; 277 | name = Debug; 278 | }; 279 | C01FCF5008A954540054247B /* Release */ = { 280 | isa = XCBuildConfiguration; 281 | buildSettings = { 282 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 283 | GCC_C_LANGUAGE_STANDARD = gnu99; 284 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 285 | GCC_WARN_UNUSED_VARIABLE = YES; 286 | PREBINDING = NO; 287 | SDKROOT = macosx10.6; 288 | }; 289 | name = Release; 290 | }; 291 | /* End XCBuildConfiguration section */ 292 | 293 | /* Begin XCConfigurationList section */ 294 | C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "ReederDemo" */ = { 295 | isa = XCConfigurationList; 296 | buildConfigurations = ( 297 | C01FCF4B08A954540054247B /* Debug */, 298 | C01FCF4C08A954540054247B /* Release */, 299 | ); 300 | defaultConfigurationIsVisible = 0; 301 | defaultConfigurationName = Release; 302 | }; 303 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ReederDemo" */ = { 304 | isa = XCConfigurationList; 305 | buildConfigurations = ( 306 | C01FCF4F08A954540054247B /* Debug */, 307 | C01FCF5008A954540054247B /* Release */, 308 | ); 309 | defaultConfigurationIsVisible = 0; 310 | defaultConfigurationName = Release; 311 | }; 312 | /* End XCConfigurationList section */ 313 | }; 314 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 315 | } 316 | -------------------------------------------------------------------------------- /ReederDemoAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ReederDemoAppDelegate.h 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface ReederDemoAppDelegate : NSObject {} 13 | 14 | - (IBAction)didSelectSegment:(NSSegmentedControl *)segmentedControl; 15 | 16 | @property (assign) IBOutlet NSWindow *window; 17 | @property (assign) IBOutlet NSView *contentHoldingView; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /ReederDemoAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // ReederDemoAppDelegate.m 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import "ReederDemoAppDelegate.h" 10 | #import "RDFirstViewController.h" 11 | #import "RDSecondViewController.h" 12 | 13 | @interface ReederDemoAppDelegate () 14 | @property (nonatomic, readonly) NSView *currentTabView; 15 | @property (nonatomic, assign) NSInteger selectedSegment; 16 | @end 17 | 18 | 19 | @implementation ReederDemoAppDelegate 20 | 21 | - (void)applicationDidFinishLaunching:(NSNotification *)notification { 22 | [self.contentHoldingView setAnimations:nil]; 23 | 24 | NSView *newView = [RDFirstViewController defaultViewController].view; 25 | newView.frame = self.contentHoldingView.bounds; 26 | [newView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; 27 | [self.contentHoldingView addSubview:newView]; 28 | self.selectedSegment = 0; 29 | } 30 | 31 | 32 | #pragma mark API 33 | 34 | @synthesize window; 35 | @synthesize contentHoldingView; 36 | @synthesize selectedSegment; 37 | 38 | - (IBAction)didSelectSegment:(NSSegmentedControl *)segmentedControl { 39 | if([segmentedControl selectedSegment] == self.selectedSegment) return; 40 | 41 | self.selectedSegment = [segmentedControl selectedSegment]; 42 | 43 | [NSAnimationContext beginGrouping]; 44 | 45 | const CFTimeInterval duration = ([self.window currentEvent].modifierFlags & NSShiftKeyMask) ? 10.0f : 0.33f; 46 | CATransition *pushAnimation = [CATransition animation]; 47 | pushAnimation.duration = duration; 48 | pushAnimation.type = kCATransitionPush; 49 | pushAnimation.subtype = [segmentedControl selectedSegment] == 0 ? kCATransitionFromLeft : kCATransitionFromRight; 50 | [pushAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 51 | [self.contentHoldingView setAnimations:[NSDictionary dictionaryWithObject:pushAnimation forKey:@"subviews"]]; 52 | 53 | NSView *newView = [segmentedControl selectedSegment] == 0 ? [RDFirstViewController defaultViewController].view : [RDSecondViewController defaultViewController].view; 54 | newView.frame = self.contentHoldingView.bounds; 55 | [newView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; 56 | [[self.contentHoldingView animator] replaceSubview:self.currentTabView with:newView]; 57 | 58 | [NSAnimationContext endGrouping]; 59 | } 60 | 61 | - (NSView *)currentTabView { 62 | return [self.contentHoldingView.subviews objectAtIndex:0]; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /ReederDemo_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ReederDemo' target in the 'ReederDemo' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ReederDemo 4 | // 5 | // Created by Josh Abernathy on 12/9/10. 6 | // Copyright 2010 Maybe Apps, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | --------------------------------------------------------------------------------