From fe606e47571211bb18888c6d009fd66c76e61f2d Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 30 May 2011 17:06:39 +0200 Subject: [PATCH 1/2] fix typo + wrong sizing behaviour with too much segment --- AppKit/CPLevelIndicator.j | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 6a9812c12..a920d83b9 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -176,13 +176,12 @@ var _CPLevelIndicatorBezelColor = nil, return _CGRectMakeZero(); var bounds = [self bounds], - segmentWidth = FLOOR(bounds.size.width / segmentCount), + basicSegmentWidth = bounds.size.width / segmentCount; segmentFrame = CGRectCreateCopy([self bounds]); + segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); + segmentFrame.size.width = FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; segmentFrame.size.height -= 1; - segmentFrame.origin.x = segmentWidth * segment; - // Make the last segment use up the remaining space. - segmentFrame.size.width = segment < segmentCount - 1 ? segmentWidth - _CPLevelIndicatorSpacing : bounds.size.width - segmentFrame.origin.x; return segmentFrame; } @@ -293,7 +292,7 @@ var _CPLevelIndicatorBezelColor = nil, return; _maxValue = maxValue; - [sef setNeedsLayout]; + [self setNeedsLayout]; } - (void)setWarningValue:(double)warningValue; @@ -302,7 +301,7 @@ var _CPLevelIndicatorBezelColor = nil, return; _warningValue = warningValue; - [sef setNeedsLayout]; + [self setNeedsLayout]; } - (void)setCriticalValue:(double)criticalValue; @@ -311,7 +310,7 @@ var _CPLevelIndicatorBezelColor = nil, return; _criticalValue = criticalValue; - [sef setNeedsLayout]; + [self setNeedsLayout]; } /* From e6f029c1fad30d681c77c292f8bdd6ae0cdb000b Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 30 May 2011 17:17:42 +0200 Subject: [PATCH 2/2] use all remaining space for last segment --- AppKit/CPLevelIndicator.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index a920d83b9..d49108162 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -180,7 +180,7 @@ var _CPLevelIndicatorBezelColor = nil, segmentFrame = CGRectCreateCopy([self bounds]); segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); - segmentFrame.size.width = FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; + segmentFrame.size.width = (segment == segmentCount - 1) ? bounds.size.width - segmentFrame.origin.x : FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; segmentFrame.size.height -= 1; return segmentFrame;