Changeset 300

Show
Ignore:
Timestamp:
05/20/08 07:17:35 (8 months ago)
Author:
wolf
Message:

[NEW] mogenerator 1.10: Template addition. Machine files now define xxxMOID subclasses of NSManagedObjectID in order to bring additional type-safety to multithreaded Core Data programming.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cocoa/mogenerator/mogenerator.m

    r296 r300  
    291291    if (_version) 
    292292    { 
    293         printf("mogenerator 1.9. By Jonathan 'Wolf' Rentzsch + friends.\n"); 
     293        printf("mogenerator 1.10. By Jonathan 'Wolf' Rentzsch + friends.\n"); 
    294294        return EXIT_SUCCESS; 
    295295    } 
  • trunk/cocoa/mogenerator/mogenerator.xcodeproj/wolf.mode1v3

    r296 r300  
    198198        <array/> 
    199199        <key>OpenEditors</key> 
    200         <array> 
    201                 <dict> 
    202                         <key>Content</key> 
    203                         <dict> 
    204                                 <key>PBXProjectModuleGUID</key> 
    205                                 <string>791C8F480D85CC2F001E8D4C</string> 
    206                                 <key>PBXProjectModuleLabel</key> 
    207                                 <string>mogenerator.m</string> 
    208                                 <key>PBXSplitModuleInNavigatorKey</key> 
    209                                 <dict> 
    210                                         <key>Split0</key> 
    211                                         <dict> 
    212                                                 <key>PBXProjectModuleGUID</key> 
    213                                                 <string>791C8F490D85CC2F001E8D4C</string> 
    214                                                 <key>PBXProjectModuleLabel</key> 
    215                                                 <string>mogenerator.m</string> 
    216                                                 <key>_historyCapacity</key> 
    217                                                 <integer>0</integer> 
    218                                                 <key>bookmark</key> 
    219                                                 <string>791C8F4B0D85CC37001E8D4C</string> 
    220                                                 <key>history</key> 
    221                                                 <array> 
    222                                                         <string>791C8F410D85C8A3001E8D4C</string> 
    223                                                 </array> 
    224                                         </dict> 
    225                                         <key>SplitCount</key> 
    226                                         <string>1</string> 
    227                                 </dict> 
    228                                 <key>StatusBarVisibility</key> 
    229                                 <true/> 
    230                         </dict> 
    231                         <key>Geometry</key> 
    232                         <dict> 
    233                                 <key>Frame</key> 
    234                                 <string>{{0, 20}, {1096, 762}}</string> 
    235                                 <key>PBXModuleWindowStatusBarHidden2</key> 
    236                                 <false/> 
    237                                 <key>RubberWindowFrame</key> 
    238                                 <string>1031 524 1096 803 0 0 2560 1578 </string> 
    239                         </dict> 
    240                 </dict> 
    241         </array> 
     200        <array/> 
    242201        <key>PerspectiveWidths</key> 
    243202        <array> 
     
    250209                        <key>ChosenToolbarItems</key> 
    251210                        <array> 
    252                                 <string>active-combo-popup</string> 
     211                                <string>active-target-popup</string> 
     212                                <string>active-buildstyle-popup</string> 
    253213                                <string>NSToolbarFlexibleSpaceItem</string> 
    254214                                <string>buildOrClean</string> 
    255215                                <string>build-and-goOrGo</string> 
    256216                                <string>com.apple.ide.PBXToolbarStopButton</string> 
    257                                 <string>get-info</string> 
    258                                 <string>toggle-editor</string> 
    259217                                <string>NSToolbarFlexibleSpaceItem</string> 
    260218                                <string>com.apple.pbx.toolbar.searchfield</string> 
     
    271229                        <array> 
    272230                                <dict> 
    273                                         <key>BecomeActive</key> 
    274                                         <true/> 
    275231                                        <key>ContentConfiguration</key> 
    276232                                        <dict> 
     
    341297                                                </array> 
    342298                                                <key>RubberWindowFrame</key> 
    343                                                 <string>1858 1167 690 397 0 0 2560 1578 </string> 
     299                                                <string>1222 772 690 397 0 0 1920 1178 </string> 
    344300                                        </dict> 
    345301                                        <key>Module</key> 
     
    378334                                                                <string>{{0, 0}, {482, 0}}</string> 
    379335                                                                <key>RubberWindowFrame</key> 
    380                                                                 <string>1858 1167 690 397 0 0 2560 1578 </string> 
     336                                                                <string>1222 772 690 397 0 0 1920 1178 </string> 
    381337                                                        </dict> 
    382338                                                        <key>Module</key> 
     
    386342                                                </dict> 
    387343                                                <dict> 
     344                                                        <key>BecomeActive</key> 
     345                                                        <true/> 
    388346                                                        <key>ContentConfiguration</key> 
    389347                                                        <dict> 
     
    398356                                                                <string>{{0, 5}, {482, 351}}</string> 
    399357                                                                <key>RubberWindowFrame</key> 
    400                                                                 <string>1858 1167 690 397 0 0 2560 1578 </string> 
     358                                                                <string>1222 772 690 397 0 0 1920 1178 </string> 
    401359                                                        </dict> 
    402360                                                        <key>Module</key> 
     
    422380                        <key>TableOfContents</key> 
    423381                        <array> 
    424                                 <string>791C8F3F0D85C801001E8D4C</string> 
     382                                <string>79B624980DE34A5100EC948A</string> 
    425383                                <string>1CE0B1FE06471DED0097A5F4</string> 
    426                                 <string>791C8F400D85C801001E8D4C</string> 
     384                                <string>79B624990DE34A5100EC948A</string> 
    427385                                <string>1CE0B20306471E060097A5F4</string> 
    428386                                <string>1CE0B20506471E060097A5F4</string> 
     
    558516        <key>WindowOrderList</key> 
    559517        <array> 
    560                 <string>79AC5C650D3FEA19008AE93A</string> 
    561                 <string>791C8F480D85CC2F001E8D4C</string> 
    562518                <string>/Users/wolf/code/trac/cocoa/mogenerator/mogenerator.xcodeproj</string> 
    563519        </array> 
    564520        <key>WindowString</key> 
    565         <string>1858 1167 690 397 0 0 2560 1578 </string> 
     521        <string>1222 772 690 397 0 0 1920 1178 </string> 
    566522        <key>WindowToolsV3</key> 
    567523        <array> 
     
    579535                                        <array> 
    580536                                                <dict> 
    581                                                         <key>BecomeActive</key> 
    582                                                         <true/> 
    583537                                                        <key>ContentConfiguration</key> 
    584538                                                        <dict> 
     
    586540                                                                <string>1CD0528F0623707200166675</string> 
    587541                                                                <key>PBXProjectModuleLabel</key> 
    588                                                                 <string>mogenerator.m</string> 
     542                                                                <string></string> 
    589543                                                                <key>StatusBarVisibility</key> 
    590544                                                                <true/> 
     
    595549                                                                <string>{{0, 0}, {1051, 304}}</string> 
    596550                                                                <key>RubberWindowFrame</key> 
    597                                                                 <string>901 659 1051 586 0 0 2560 1578 </string> 
     551                                                                <string>519 398 1051 586 0 0 1920 1178 </string> 
    598552                                                        </dict> 
    599553                                                        <key>Module</key> 
     
    619573                                                                <string>{{0, 309}, {1051, 236}}</string> 
    620574                                                                <key>RubberWindowFrame</key> 
    621                                                                 <string>901 659 1051 586 0 0 2560 1578 </string> 
     575                                                                <string>519 398 1051 586 0 0 1920 1178 </string> 
    622576                                                        </dict> 
    623577                                                        <key>Module</key> 
     
    642596                        <array> 
    643597                                <string>79AC5C650D3FEA19008AE93A</string> 
    644                                 <string>791C8F470D85CC24001E8D4C</string> 
     598                                <string>79B624920DE349F700EC948A</string> 
    645599                                <string>1CD0528F0623707200166675</string> 
    646600                                <string>XCMainBuildResultsModuleGUID</string> 
     
    649603                        <string>xcode.toolbar.config.buildV3</string> 
    650604                        <key>WindowString</key> 
    651                         <string>901 659 1051 586 0 0 2560 1578 </string> 
     605                        <string>519 398 1051 586 0 0 1920 1178 </string> 
    652606                        <key>WindowToolGUID</key> 
    653607                        <string>79AC5C650D3FEA19008AE93A</string> 
  • trunk/cocoa/mogenerator/mogenerator.xcodeproj/wolf.pbxuser

    r296 r300  
    7474                                ); 
    7575                        }; 
    76                         PBXPerProjectTemplateStateSaveDate = 226871275; 
    77                         PBXWorkspaceStateSaveDate = 226871275; 
    78                 }; 
    79                 perUserProjectItems = { 
    80                         791C8F410D85C8A3001E8D4C /* PBXBookmark */ = 791C8F410D85C8A3001E8D4C /* PBXBookmark */; 
    81                         791C8F4B0D85CC37001E8D4C /* PBXTextBookmark */ = 791C8F4B0D85CC37001E8D4C /* PBXTextBookmark */; 
     76                        PBXPerProjectTemplateStateSaveDate = 232999504; 
     77                        PBXWorkspaceStateSaveDate = 232999504; 
    8278                }; 
    8379                sourceControlManager = 79D2BF0B0ACFAE0700F3F141 /* Source Control */; 
     
    8783        08FB7796FE84155DC02AAC07 /* mogenerator.m */ = { 
    8884                uiCtxt = { 
    89                         sepNavIntBoundsRect = "{{0, 0}, {1278, 5922}}"; 
    90                         sepNavSelRange = "{10952, 0}"; 
    91                         sepNavVisRange = "{10552, 1661}"; 
     85                        sepNavIntBoundsRect = "{{0, 0}, {1274, 5642}}"; 
     86                        sepNavSelRange = "{0, 0}"; 
     87                        sepNavVisRange = "{0, 1657}"; 
    9288                        sepNavVisRect = "{{0, 0}, {1057, 777}}"; 
    93                         sepNavWindowFrame = "{{1031, 492}, {1096, 835}}"; 
    94                 }; 
    95         }; 
    96         791C8F410D85C8A3001E8D4C /* PBXBookmark */ = { 
    97                 isa = PBXBookmark; 
    98                 fRef = 08FB7796FE84155DC02AAC07 /* mogenerator.m */; 
    99         }; 
    100         791C8F4B0D85CC37001E8D4C /* PBXTextBookmark */ = { 
    101                 isa = PBXTextBookmark; 
    102                 fRef = 08FB7796FE84155DC02AAC07 /* mogenerator.m */; 
    103                 name = "mogenerator.m: 293"; 
    104                 rLen = 0; 
    105                 rLoc = 10952; 
    106                 rType = 0; 
    107                 vrLen = 1661; 
    108                 vrLoc = 10552; 
     89                        sepNavWindowFrame = "{{580, 227}, {1096, 835}}"; 
     90                }; 
    10991        }; 
    11092        79D2BF080ACFAE0100F3F141 /* mogenerator */ = { 
  • trunk/cocoa/mogenerator/templates/machine.h.motemplate

    r294 r300  
    55<$if hasCustomSuperentity$>#import "<$customSuperentity$>.h"<$endif$> 
    66 
    7 <$foreach Relationship noninheritedRelationships do$> 
    8 @class <$Relationship.destinationEntity.managedObjectClassName$>; 
     7<$foreach Relationship noninheritedRelationships do$>@class <$Relationship.destinationEntity.managedObjectClassName$>; 
    98<$endforeach do$> 
     9@interface <$managedObjectClassName$>ID : NSManagedObjectID {} 
     10@end 
    1011 
    1112@interface _<$managedObjectClassName$> : <$customSuperentity$> {} 
    1213+ (id)newInManagedObjectContext:(NSManagedObjectContext*)moc_; 
     14- (<$managedObjectClassName$>ID*)objectID; 
    1315 
    1416<$foreach Attribute noninheritedAttributes do$> 
  • trunk/cocoa/mogenerator/templates/machine.m.motemplate

    r294 r300  
    44#import "_<$managedObjectClassName$>.h" 
    55 
     6@implementation <$managedObjectClassName$>ID 
     7@end 
     8 
    69@implementation _<$managedObjectClassName$> 
    710 
    811+ (id)newInManagedObjectContext:(NSManagedObjectContext*)moc_ { 
    912        return [NSEntityDescription insertNewObjectForEntityForName:@"<$name$>" inManagedObjectContext:moc_];                                                                     
     13} 
     14 
     15- (<$managedObjectClassName$>ID*)objectID { 
     16        return (<$managedObjectClassName$>ID*)[super objectID]; 
    1017} 
    1118