mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 13:20:38 +00:00
Added keyed decoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18510 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
7ba988efd5
commit
5f72e933d1
14 changed files with 816 additions and 458 deletions
|
@ -1128,23 +1128,62 @@
|
|||
|
||||
- (id) initWithCoder: (NSCoder*)aDecoder
|
||||
{
|
||||
// FIXME: Add new ivars
|
||||
BOOL tmp;
|
||||
[super initWithCoder: aDecoder];
|
||||
self = [super initWithCoder: aDecoder];
|
||||
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_keyEquivalent];
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_keyEquivalentFont];
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_altContents];
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_altImage];
|
||||
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &tmp];
|
||||
_buttoncell_is_transparent = tmp;
|
||||
[aDecoder decodeValueOfObjCType: @encode(unsigned int)
|
||||
at: &_keyEquivalentModifierMask];
|
||||
[aDecoder decodeValueOfObjCType: @encode(unsigned int)
|
||||
at: &_highlightsByMask];
|
||||
[aDecoder decodeValueOfObjCType: @encode(unsigned int)
|
||||
at: &_showAltStateMask];
|
||||
if ([aDecoder allowsKeyedCoding])
|
||||
{
|
||||
NSString *alternateContents = [aDecoder decodeObjectForKey: @"NSAlternateContents"];
|
||||
NSImage *alternateImage = [aDecoder decodeObjectForKey: @"NSAlternateImage"];
|
||||
//NSControl *control = [aDecoder decodeObjectForKey: @"NSControlView"];
|
||||
NSString *key = [aDecoder decodeObjectForKey: @"NSKeyEquivalent"];
|
||||
int bFlags;
|
||||
int bFlags2;
|
||||
int delay = 0;
|
||||
int interval = 0;
|
||||
|
||||
[self setAlternateImage: alternateImage];
|
||||
[self setAlternateTitle: alternateContents];
|
||||
[self setKeyEquivalent: key];
|
||||
|
||||
if ([aDecoder containsValueForKey: @"NSButtonFlags"])
|
||||
{
|
||||
bFlags = [aDecoder decodeIntForKey: @"NSButtonFlags"];
|
||||
// FIXME
|
||||
}
|
||||
if ([aDecoder containsValueForKey: @"NSButtonFlags2"])
|
||||
{
|
||||
bFlags2 = [aDecoder decodeIntForKey: @"NSButtonFlags2"];
|
||||
// FIXME
|
||||
}
|
||||
|
||||
if ([aDecoder containsValueForKey: @"NSPeriodicDelay"])
|
||||
{
|
||||
delay = [aDecoder decodeIntForKey: @"NSPeriodicDelay"];
|
||||
}
|
||||
if ([aDecoder containsValueForKey: @"NSPeriodicInterval"])
|
||||
{
|
||||
interval = [aDecoder decodeIntForKey: @"NSPeriodicInterval"];
|
||||
}
|
||||
[self setPeriodicDelay: delay interval: interval];
|
||||
}
|
||||
else
|
||||
{
|
||||
// FIXME: Add new ivars
|
||||
BOOL tmp;
|
||||
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_keyEquivalent];
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_keyEquivalentFont];
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_altContents];
|
||||
[aDecoder decodeValueOfObjCType: @encode(id) at: &_altImage];
|
||||
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &tmp];
|
||||
_buttoncell_is_transparent = tmp;
|
||||
[aDecoder decodeValueOfObjCType: @encode(unsigned int)
|
||||
at: &_keyEquivalentModifierMask];
|
||||
[aDecoder decodeValueOfObjCType: @encode(unsigned int)
|
||||
at: &_highlightsByMask];
|
||||
[aDecoder decodeValueOfObjCType: @encode(unsigned int)
|
||||
at: &_showAltStateMask];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue