From: <ho...@us...> - 2014-10-29 16:10:33
|
Revision: 20081 http://sourceforge.net/p/bibdesk/svn/20081 Author: hofman Date: 2014-10-29 16:10:27 +0000 (Wed, 29 Oct 2014) Log Message: ----------- change accessor Modified Paths: -------------- trunk/bibdesk/BDSKScrollableTextField.m trunk/bibdesk/BDSKScrollableTextFieldCell.h trunk/bibdesk/BDSKScrollableTextFieldCell.m Modified: trunk/bibdesk/BDSKScrollableTextField.m =================================================================== --- trunk/bibdesk/BDSKScrollableTextField.m 2014-10-29 15:46:46 UTC (rev 20080) +++ trunk/bibdesk/BDSKScrollableTextField.m 2014-10-29 16:10:27 UTC (rev 20081) @@ -81,11 +81,19 @@ BDSKScrollButton button = -1; if (NSMouseInRect(mouseLoc, leftButtonRect, [self isFlipped])) { - buttonRect = leftButtonRect; - button = BDSKScrollLeftButton; + if ([cell isButtonEnabled:BDSKScrollLeftButton]) { + buttonRect = leftButtonRect; + button = BDSKScrollLeftButton; + } else { + return; + } } else if (NSMouseInRect(mouseLoc, rightButtonRect, [self isFlipped])) { - buttonRect = rightButtonRect; - button = BDSKScrollRightButton; + if ([cell isButtonEnabled:BDSKScrollRightButton]) { + buttonRect = rightButtonRect; + button = BDSKScrollRightButton; + } else { + return; + } } else { [super mouseDown:theEvent]; return; Modified: trunk/bibdesk/BDSKScrollableTextFieldCell.h =================================================================== --- trunk/bibdesk/BDSKScrollableTextFieldCell.h 2014-10-29 15:46:46 UTC (rev 20080) +++ trunk/bibdesk/BDSKScrollableTextFieldCell.h 2014-10-29 16:10:27 UTC (rev 20081) @@ -54,6 +54,7 @@ - (IBAction)scrollForward:(id)sender; - (IBAction)scrollBack:(id)sender; +- (BOOL)isButtonEnabled:(BDSKScrollButton)button; - (BOOL)isButtonHighlighted:(BDSKScrollButton)button; - (void)setButton:(BDSKScrollButton)button highlighted:(BOOL)highlighted; Modified: trunk/bibdesk/BDSKScrollableTextFieldCell.m =================================================================== --- trunk/bibdesk/BDSKScrollableTextFieldCell.m 2014-10-29 15:46:46 UTC (rev 20080) +++ trunk/bibdesk/BDSKScrollableTextFieldCell.m 2014-10-29 16:10:27 UTC (rev 20081) @@ -145,6 +145,13 @@ scrollStep--; } +- (BOOL)isButtonEnabled:(BDSKScrollButton)button { + if (button == BDSKScrollLeftButton) + return scrollStep > 0; + else + return scrollStep < maxScrollStep; +} + - (BOOL)isButtonHighlighted:(BDSKScrollButton)button { if (button == BDSKScrollLeftButton) return isLeftButtonHighlighted; @@ -212,7 +219,7 @@ if (scrollStep == maxScrollStep) textOrigin.x -= [self stringWidth] - NSWidth(textRect); else - textOrigin.x -= 0.5f * scrollStep * NSWidth(textRect); + textOrigin.x -= 0.5 * scrollStep * NSWidth(textRect); } // draw the (clipped) text @@ -227,17 +234,15 @@ // draw the buttons - NSImage *leftButtonImage = [[self class] scrollArrowImageForButton:BDSKScrollLeftButton - highlighted:[self isButtonHighlighted:BDSKScrollLeftButton]]; - NSImage *rightButtonImage = [[self class] scrollArrowImageForButton:BDSKScrollRightButton - highlighted:[self isButtonHighlighted:BDSKScrollRightButton]]; - - NSRect leftButtonRect = [self buttonRect:BDSKScrollLeftButton forBounds:cellFrame]; - NSRect rightButtonRect = [self buttonRect:BDSKScrollRightButton forBounds:cellFrame]; - + BDSKScrollButton button; + [controlView lockFocus]; - [leftButtonImage drawInRect:leftButtonRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; - [rightButtonImage drawInRect:rightButtonRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; + for (button = BDSKScrollLeftButton; button <= BDSKScrollRightButton; button++) { + NSImage *image = [[self class] scrollArrowImageForButton:button highlighted:[self isButtonHighlighted:button]]; + NSRect rect = [self buttonRect:button forBounds:cellFrame]; + CGFloat f = [self isButtonEnabled:button] ? 1.0 : 0.6; + [image drawInRect:rect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:f]; + } [controlView unlockFocus]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |