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