/* * 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