• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2/*
3 * Copyright 2011 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9#import "SkTextFieldCell.h"
10@implementation SkTextFieldCell
11- (NSRect)drawingRectForBounds:(NSRect)theRect {
12    NSRect newRect = [super drawingRectForBounds:theRect];
13    if (selectingOrEditing == NO) {
14        NSSize textSize = [self cellSizeForBounds:theRect];
15        float heightDelta = newRect.size.height - textSize.height;
16        if (heightDelta > 0) {
17            newRect.size.height -= heightDelta;
18            newRect.origin.y += (heightDelta / 2);
19        }
20    }
21    return newRect;
22}
23
24- (void)selectWithFrame:(NSRect)aRect
25                 inView:(NSView *)controlView
26                 editor:(NSText *)textObj
27               delegate:(id)anObject
28                  start:(NSInteger)selStart
29                 length:(NSInteger)selLength {
30	aRect = [self drawingRectForBounds:aRect];
31	selectingOrEditing = YES;
32	[super selectWithFrame:aRect
33                    inView:controlView
34                    editor:textObj
35                  delegate:anObject
36                     start:selStart
37                    length:selLength];
38	selectingOrEditing = NO;
39}
40
41- (void)editWithFrame:(NSRect)aRect
42               inView:(NSView *)controlView
43               editor:(NSText *)textObj
44             delegate:(id)anObject
45                event:(NSEvent *)theEvent {
46	aRect = [self drawingRectForBounds:aRect];
47	selectingOrEditing = YES;
48	[super editWithFrame:aRect
49                  inView:controlView
50                  editor:textObj
51                delegate:anObject
52                   event:theEvent];
53	selectingOrEditing = NO;
54}
55
56@end
57