1// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#import <Cocoa/Cocoa.h>
6
7@class StyledTextFieldCell;
8
9// An implementation of NSTextField that is designed to work with
10// StyledTextFieldCell.  Provides methods to redraw the field when cell
11// decorations have changed and overrides |mouseDown:| to properly handle clicks
12// in sections of the cell with decorations.
13@interface StyledTextField : NSTextField {
14}
15
16// Repositions and redraws the field editor.  Call this method when the cell's
17// text frame has changed (whenever changing cell decorations).
18- (void)resetFieldEditorFrameIfNeeded;
19
20// Returns the amount of the field's width which is not being taken up
21// by the text contents.  May be negative if the contents are large
22// enough to scroll.
23- (CGFloat)availableDecorationWidth;
24
25@end
26
27@interface StyledTextField (ExposedForTesting)
28- (StyledTextFieldCell*)styledTextFieldCell;
29@end
30