diff --git a/ChangeLog b/ChangeLog index c57be6d7..359dbb89 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-08-09 02:29-EDT Gregory John Casamento + + * GormCore/GormCustomView.m: encodeWithCoder: changes to encode the + customview. + * GormCore/GormNibWrapperBuilder.m: Add oids for connectors and + also add one for the owner. + 2006-08-06 00:37-EDT Gregory John Casamento * GormCore/GormFilesOwner.m: Remove implementation of initWithCoder: diff --git a/GormCore/GormCustomView.m b/GormCore/GormCustomView.m index 6715071e..af5d4f05 100644 --- a/GormCore/GormCustomView.m +++ b/GormCore/GormCustomView.m @@ -110,10 +110,20 @@ */ - (void) encodeWithCoder: (NSCoder*)aCoder { - [aCoder encodeObject: [self stringValue]]; - [aCoder encodeRect: _frame]; - [aCoder encodeValueOfObjCType: @encode(unsigned int) - at: &_autoresizingMask]; + if([aCoder allowsKeyedCoding]) + { + id cv = [[NSCustomView alloc] initWithFrame: [self frame]]; + [cv setAutoresizingMask: [self autoresizingMask]]; + [cv setClassName: className]; + [cv encodeWithCoder: aCoder]; + } + else + { + [aCoder encodeObject: [self stringValue]]; + [aCoder encodeRect: _frame]; + [aCoder encodeValueOfObjCType: @encode(unsigned int) + at: &_autoresizingMask]; + } } - (id) initWithCoder: (NSCoder*)aCoder diff --git a/GormCore/GormNibWrapperBuilder.m b/GormCore/GormNibWrapperBuilder.m index 2461b6bc..6cda0ee7 100644 --- a/GormCore/GormNibWrapperBuilder.m +++ b/GormCore/GormNibWrapperBuilder.m @@ -51,11 +51,12 @@ NSEnumerator *en = [cons objectEnumerator]; id o = nil; id owner = [document objectForName: @"NSOwner"]; - int oid = 0; + int oid = 1; // Create the container for the .nib file... ASSIGN(_root, owner); NSMapInsert(_names, owner, @"File's Owner"); + NSMapInsert(_oids, owner, @"0"); ASSIGN(_framework, @"IBCocoaFramework"); [_topLevelObjects addObjectsFromArray: [[document topLevelObjects] allObjects]]; [_visibleWindows addObjectsFromArray: [[document visibleWindows] allObjects]]; @@ -83,6 +84,10 @@ { name = @"File's Owner"; } + if([name isEqual: @"NSMenu"]) + { + name = @"MainMenu"; + } else if([name isEqual: @"NSFirst"]) { // skip it... @@ -92,12 +97,16 @@ NSMapInsert(_objects, src, dst); NSMapInsert(_names, src, name); NSMapInsert(_oids, src, [NSString stringWithFormat: @"%d", oid]); - oid++; } else { [_connections addObject: o]; + NSMapInsert(_oids, o, [NSString stringWithFormat: @"%d", oid]); + // NSMapInsert(_objects, o, owner); } + + // next... + oid++; } // set the next oid...