| /* | |
| * Copyright 2011 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #import "SkTextFieldCell.h" | |
| @implementation SkTextFieldCell | |
| - (NSRect)drawingRectForBounds:(NSRect)theRect { | |
| NSRect newRect = [super drawingRectForBounds:theRect]; | |
| if (selectingOrEditing == NO) { | |
| NSSize textSize = [self cellSizeForBounds:theRect]; | |
| float heightDelta = newRect.size.height - textSize.height; | |
| if (heightDelta > 0) { | |
| newRect.size.height -= heightDelta; | |
| newRect.origin.y += (heightDelta / 2); | |
| } | |
| } | |
| return newRect; | |
| } | |
| - (void)selectWithFrame:(NSRect)aRect | |
| inView:(NSView *)controlView | |
| editor:(NSText *)textObj | |
| delegate:(id)anObject | |
| start:(NSInteger)selStart | |
| length:(NSInteger)selLength { | |
| aRect = [self drawingRectForBounds:aRect]; | |
| selectingOrEditing = YES; | |
| [super selectWithFrame:aRect | |
| inView:controlView | |
| editor:textObj | |
| delegate:anObject | |
| start:selStart | |
| length:selLength]; | |
| selectingOrEditing = NO; | |
| } | |
| - (void)editWithFrame:(NSRect)aRect | |
| inView:(NSView *)controlView | |
| editor:(NSText *)textObj | |
| delegate:(id)anObject | |
| event:(NSEvent *)theEvent { | |
| aRect = [self drawingRectForBounds:aRect]; | |
| selectingOrEditing = YES; | |
| [super editWithFrame:aRect | |
| inView:controlView | |
| editor:textObj | |
| delegate:anObject | |
| event:theEvent]; | |
| selectingOrEditing = NO; | |
| } | |
| @end |