Add proper encoding decoding for keyed objects

This commit is contained in:
Gregory John Casamento 2023-03-28 19:47:42 -04:00
parent 15a65bce26
commit 21e8018d7d

View file

@ -384,6 +384,8 @@
self = [super initWithCoder: coder];
if (self != nil)
{
if ([coder allowsKeyedCoding])
{
// These names do not stick to convention. Usually it would be
// NS* or NSTreeController* so they must be overriden in
@ -422,6 +424,10 @@
[coder decodeBoolForKey: @"NSSelectsInsertedObjects"]];
}
}
}
else
{
}
return self;
}
@ -429,6 +435,27 @@
- (void) encodeWithCoder: (NSCoder*)coder
{
[super encodeWithCoder: coder];
if ([coder allowsKeyedCoding])
{
[coder encodeObject: _childrenKeyPath
forKey: @"NSTreeContentChildrenKey"];
[coder encodeObject: _countKeyPath
forKey: @"NSTreeContentCountKey"];
[coder encodeObject: _leafKeyPath
forKey: @"NSTreeContentLeafKey"];
[coder encodeBool: _avoidsEmptySelection
forKey: @"NSAvoidsEmptySelection"];
[coder encodeBool: _preservesSelection
forKey: @"NSPreservesSelection"];
[coder encodeBool: _selectsInsertedObjects
forKey: @"NSSelectsInsertedObjects"];
}
else
{
}
}
- (id) copyWithZone: (NSZone*)zone