blob: c55dfb2aa726286aa8b282c852fbfd46308cd36d [file] [log] [blame]
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import <Cocoa/Cocoa.h>
@class StyledTextFieldCell;
// An implementation of NSTextField that is designed to work with
// StyledTextFieldCell. Provides methods to redraw the field when cell
// decorations have changed and overrides |mouseDown:| to properly handle clicks
// in sections of the cell with decorations.
@interface StyledTextField : NSTextField {
// Repositions and redraws the field editor. Call this method when the cell's
// text frame has changed (whenever changing cell decorations).
- (void)resetFieldEditorFrameIfNeeded;
// Returns the amount of the field's width which is not being taken up
// by the text contents. May be negative if the contents are large
// enough to scroll.
- (CGFloat)availableDecorationWidth;
@interface StyledTextField (ExposedForTesting)
- (StyledTextFieldCell*)styledTextFieldCell;