Nib compatibility code merge.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22957 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2006-05-20 22:12:46 +00:00
parent f529b9121c
commit d68950d71a
36 changed files with 3162 additions and 1236 deletions

View file

@ -436,22 +436,40 @@ static Class imageClass;
*/
- (void) encodeWithCoder: (NSCoder*)aCoder
{
[aCoder encodeObject: _title];
[aCoder encodeObject: _keyEquivalent];
[aCoder encodeValueOfObjCType: "I" at: &_keyEquivalentModifierMask];
[aCoder encodeValueOfObjCType: "I" at: &_mnemonicLocation];
[aCoder encodeValueOfObjCType: "i" at: &_state];
[aCoder encodeValueOfObjCType: @encode(BOOL) at: &_enabled];
[aCoder encodeObject: _image];
[aCoder encodeObject: _onStateImage];
[aCoder encodeObject: _offStateImage];
[aCoder encodeObject: _mixedStateImage];
[aCoder encodeValueOfObjCType: @encode(BOOL) at: &_changesState];
[aCoder encodeValueOfObjCType: @encode(SEL) at: &_action];
[aCoder encodeValueOfObjCType: "i" at: &_tag];
[aCoder encodeConditionalObject: _representedObject];
[aCoder encodeObject: _submenu];
[aCoder encodeConditionalObject: _target];
if ([aCoder allowsKeyedCoding])
{
[aCoder encodeObject: _title forKey: @"NSTitle"];
[aCoder encodeObject: NSStringFromSelector(_action) forKey: @"NSAction"];
[aCoder encodeObject: _keyEquivalent forKey: @"NSKeyEquiv"];
[aCoder encodeObject: _onStateImage forKey: @"NSOnImage"];
[aCoder encodeObject: _offStateImage forKey: @"NSOffImage"]; // ???????
[aCoder encodeObject: _mixedStateImage forKey: @"NSMixedImage"];
[aCoder encodeObject: _target forKey: @"NSTarget"];
[aCoder encodeObject: _menu forKey: @"NSMenu"];
[aCoder encodeObject: _submenu forKey: @"NSSubmenu"];
[aCoder encodeInt: _keyEquivalentModifierMask forKey: @"NSKeyEquivModMask"];
[aCoder encodeInt: _mnemonicLocation forKey: @"NSMnemonicLoc"];
[aCoder encodeInt: _state forKey: @"NSState"];
}
else
{
[aCoder encodeObject: _title];
[aCoder encodeObject: _keyEquivalent];
[aCoder encodeValueOfObjCType: "I" at: &_keyEquivalentModifierMask];
[aCoder encodeValueOfObjCType: "I" at: &_mnemonicLocation];
[aCoder encodeValueOfObjCType: "i" at: &_state];
[aCoder encodeValueOfObjCType: @encode(BOOL) at: &_enabled];
[aCoder encodeObject: _image];
[aCoder encodeObject: _onStateImage];
[aCoder encodeObject: _offStateImage];
[aCoder encodeObject: _mixedStateImage];
[aCoder encodeValueOfObjCType: @encode(BOOL) at: &_changesState];
[aCoder encodeValueOfObjCType: @encode(SEL) at: &_action];
[aCoder encodeValueOfObjCType: "i" at: &_tag];
[aCoder encodeConditionalObject: _representedObject];
[aCoder encodeObject: _submenu];
[aCoder encodeConditionalObject: _target];
}
}
- (id) initWithCoder: (NSCoder*)aDecoder
@ -461,10 +479,11 @@ static Class imageClass;
NSString *title = [aDecoder decodeObjectForKey: @"NSTitle"];
NSString *action = [aDecoder decodeObjectForKey: @"NSAction"];
NSString *key = [aDecoder decodeObjectForKey: @"NSKeyEquiv"];
//NSMenu *menu = [aDecoder decodeObjectForKey: @"NSMenu"];
NSImage *mixedImage = [aDecoder decodeObjectForKey: @"NSMixedImage"];
NSImage *onImage = [aDecoder decodeObjectForKey: @"NSOnImage"];
id target = [aDecoder decodeObjectForKey: @"NSTarget"];
id target = [aDecoder decodeObjectForKey: @"NSTarget"];
NSMenu *menu = [aDecoder decodeObjectForKey: @"NSMenu"];
NSMenu *submenu = [aDecoder decodeObjectForKey: @"NSSubmenu"];
self = [self initWithTitle: title
action: NSSelectorFromString(action)
@ -472,10 +491,12 @@ static Class imageClass;
[self setTarget: target];
[self setMixedStateImage: mixedImage];
[self setOnStateImage: onImage];
[self setSubmenu: submenu];
if ([aDecoder containsValueForKey: @"NSKeyEquivModMask"])
{
//int keyMask = [aDecoder decodeIntForKey: @"NSKeyEquivModMask"];
int keyMask = [aDecoder decodeIntForKey: @"NSKeyEquivModMask"];
[self setKeyEquivalentModifierMask: keyMask];
}
if ([aDecoder containsValueForKey: @"NSMnemonicLoc"])
{
@ -485,7 +506,6 @@ static Class imageClass;
if ([aDecoder containsValueForKey: @"NSState"])
{
int state = [aDecoder decodeIntForKey: @"NSState"];
[self setState: state];
}
}