implemented CPCoding support for CPSortDescriptor and made CPTableColumn decode it's _sortDescriptorPrototype

Conflicts:

	AppKit/CPTableColumn.j
	Tools/nib2cib/NSTableColumn.j
This commit is contained in:
klaaspieter authored and Randall Luecke committed 2010-05-20 22:51:01 -05:00
1 parent 79e8b6e242
commit 08b06b8632
5 files changed
+78 -3

No files matched your search

+9 -1
View File
@@ -395,7 +395,9 @@ var CPTableColumnIdentifierKey = @"CPTableColumnIdentifierKey",
CPTableColumnWidthKey = @"CPTableColumnWidthKey",
CPTableColumnMinWidthKey = @"CPTableColumnMinWidthKey",
CPTableColumnMaxWidthKey = @"CPTableColumnMaxWidthKey",
CPTableColumnResizingMaskKey = @"CPTableColumnResizingMaskKey";
CPTableColumnResizingMaskKey = @"CPTableColumnResizingMaskKey",
CPTableColumnIsHiddenkey = @"CPTableColumnIsHiddenKey",
CPSortDescriptorPrototypeKey = @"CPSortDescriptorPrototypeKey";
@implementation CPTableColumn (CPCoding)
@@ -417,6 +419,9 @@ var CPTableColumnIdentifierKey = @"CPTableColumnIdentifierKey",
[self setHeaderView:[aCoder decodeObjectForKey:CPTableColumnHeaderViewKey]];
_resizingMask = [aCoder decodeBoolForKey:CPTableColumnResizingMaskKey];
_isHidden = [aCoder decodeBoolForKey:CPTableColumnIsHiddenkey];
_sortDescriptorPrototype = [aCoder decodeObjectForKey:CPSortDescriptorPrototypeKey];
}
return self;
@@ -434,6 +439,9 @@ var CPTableColumnIdentifierKey = @"CPTableColumnIdentifierKey",
[aCoder encodeObject:_dataView forKey:CPTableColumnDataViewKey];
[aCoder encodeObject:_resizingMask forKey:CPTableColumnResizingMaskKey];
[aCoder encodeBool:_isHidden forKey:CPTableColumnIsHiddenkey];
[aCoder encodeObject:_sortDescriptorPrototype forKey:CPSortDescriptorPrototypeKey];
}
@end
+28
View File
@@ -149,3 +149,31 @@ CPOrderedDescending = 1;
}
@end
var CPSortDescriptorKeyKey = @"CPSortDescriptorKeyKey", // Don't you just love naming schemes ;)
CPSortDescriptorAscendingKey = @"CPSortDescriptorAscendingKey",
CPSortDescriptorSelectorKey = @"CPSortDescriptorSelectorKey";
@implementation CPSortDescriptor (CPCoding)
- (id)initWithCoder:(CPCoder)aCoder
{
if (self = [super init])
{
_key = [aCoder decodeObjectForKey:CPSortDescriptorKeyKey];
_ascending = [aCoder decodeBoolForKey:CPSortDescriptorAscendingKey];
_selector = CPSelectorFromString([aCoder decodeObjectForKey:CPSortDescriptorSelectorKey]);
}
return self;
}
- (void)encodeWithCoder:(CPCoder)aCoder
{
[aCoder encodeObject:_key forKey:CPSortDescriptorKeyKey];
[aCoder encodeBool:_ascending forKey:CPSortDescriptorAscendingKey];
[aCoder encodeObject:CPStringFromSelector(_selector) forKey:CPSortDescriptorSelectorKey];
}
@end
+1
View File
@@ -67,6 +67,7 @@
@import "NSViewController.j"
@import "NSWindowTemplate.j"
@import "WebView.j"
@import "NSSortDescriptor.j"
function CP_NSMapClassName(aClassName)
+35
View File
@@ -0,0 +1,35 @@
@import <Foundation/CPSortDescriptor.j>
@implementation CPSortDescriptor (NSCoding)
{
}
- (id)NS_initWithCoder:(CPCoder)aCoder
{
if (self = [super init])
{
_key = [aCoder decodeObjectForKey:@"NSKey"];
_selector = CPSelectorFromString([aCoder decodeObjectForKey:@"NSSelector"]);
_ascending = [aCoder decodeBoolForKey:@"NSAscending"];
}
return self;
}
@end
@implementation NSSortDescriptor : CPSortDescriptor
{
}
- (id)initWithCoder:(CPCoder)aCoder
{
return [self NS_initWithCoder:aCoder];
}
- (Class)classForKeyedArchiver
{
return [CPSortDescriptor class];
}
@end
+5 -2
View File
@@ -51,9 +51,12 @@
_minWidth = [aCoder decodeFloatForKey:@"NSMinWidth"];
_maxWidth = [aCoder decodeFloatForKey:@"NSMaxWidth"];
_resizingMask = [aCoder decodeBoolForKey:@"NSIsResizable"];
_resizingMask = [aCoder decodeBoolForKey:@"NSIsResizeable"] ? CPTableColumnUserResizingMask : CPTableColumnAutoresizingMask;
_isHidden = [aCoder decodeBoolForKey:@"NSHidden"];
_sortDescriptorPrototype = [aCoder decodeObjectForKey:@"NSSortDescriptorPrototype"];
}
return self;
}