From 7f089972bd7f726a659e39c9b38e3df7193470e0 Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Tue, 6 Aug 2013 11:20:35 +0200 Subject: [PATCH 1/2] New: Added themable attribute for divider thickness in table header view --- AppKit/CPTableHeaderView.j | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index c98fab98b..ebffbd34d 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -54,6 +54,7 @@ @"font": [CPNull null], @"text-shadow-color": [CPNull null], @"text-shadow-offset": CGSizeMakeZero(), + @"divider-thickness": 1.0 }; } @@ -679,7 +680,8 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal - (void)layoutSubviews { var tableColumns = [_tableView tableColumns], - count = [tableColumns count]; + count = [tableColumns count], + lineThickness = [self currentValueForThemeAttribute:@"divider-thickness"]; for (var i = 0; i < count; i++) { @@ -689,7 +691,7 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal // Make space for the gridline on the right. frame.origin.x -= 0.5; - frame.size.width -= 1.0; + frame.size.width -= lineThickness; frame.size.height -= 0.5; // Note: we're not adding in intercell spacing here. This setting only affects the regular // table cell data views, not the header. Verified in Cocoa on March 29th, 2011. @@ -714,9 +716,10 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal tableColumns = [_tableView tableColumns], exposedTableColumns = _tableView._exposedColumns, firstIndex = [exposedTableColumns firstIndex], - exposedRange = CPMakeRange(firstIndex, [exposedTableColumns lastIndex] - firstIndex + 1); + exposedRange = CPMakeRange(firstIndex, [exposedTableColumns lastIndex] - firstIndex + 1), + lineThickness = [self currentValueForThemeAttribute:@"divider-thickness"]; - CGContextSetLineWidth(context, 1); + CGContextSetLineWidth(context, lineThickness); CGContextSetStrokeColor(context, [self currentValueForThemeAttribute:@"divider-color"]); [exposedColumnIndexes getIndexes:columnsArray maxCount:-1 inIndexRange:exposedRange]; @@ -735,8 +738,8 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal columnMaxX = CGRectGetMaxX(columnToStroke); - CGContextMoveToPoint(context, FLOOR(columnMaxX) - 0.5, ROUND(CGRectGetMinY(columnToStroke))); - CGContextAddLineToPoint(context, FLOOR(columnMaxX) - 0.5, ROUND(CGRectGetMaxY(columnToStroke)) - 1.0); + CGContextMoveToPoint(context, FLOOR(columnMaxX) - 0.5 * lineThickness, ROUND(CGRectGetMinY(columnToStroke))); + CGContextAddLineToPoint(context, FLOOR(columnMaxX) - 0.5 * lineThickness, ROUND(CGRectGetMaxY(columnToStroke)) - 1.0); } CGContextClosePath(context); From 48d98f7ebd238211eedc5599b2de9f1ae01bc4ea Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Tue, 20 Aug 2013 11:22:39 +0200 Subject: [PATCH 2/2] Fixed: Added theme attribute 'divider-thickness' to wrong class when doing manual merge. --- AppKit/CPTableHeaderView.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index ebffbd34d..098c71ee5 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -53,8 +53,7 @@ @"text-color": [CPNull null], @"font": [CPNull null], @"text-shadow-color": [CPNull null], - @"text-shadow-offset": CGSizeMakeZero(), - @"divider-thickness": 1.0 + @"text-shadow-offset": CGSizeMakeZero() }; } @@ -252,6 +251,7 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal return @{ @"background-color": [CPNull null], @"divider-color": [CPColor grayColor], + @"divider-thickness": 1.0 }; }