| Index: chrome/browser/ui/cocoa/find_bar_text_field_cell.mm
|
| ===================================================================
|
| --- chrome/browser/ui/cocoa/find_bar_text_field_cell.mm (revision 71508)
|
| +++ chrome/browser/ui/cocoa/find_bar_text_field_cell.mm (working copy)
|
| @@ -1,119 +0,0 @@
|
| -// 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 "chrome/browser/ui/cocoa/find_bar_text_field_cell.h"
|
| -
|
| -#include "app/l10n_util.h"
|
| -#include "base/logging.h"
|
| -#include "base/string_number_conversions.h"
|
| -#include "base/string_util.h"
|
| -#include "base/sys_string_conversions.h"
|
| -#include "grit/generated_resources.h"
|
| -
|
| -namespace {
|
| -
|
| -const CGFloat kBaselineAdjust = 1.0;
|
| -
|
| -// How far to offset the keyword token into the field.
|
| -const NSInteger kResultsXOffset = 3;
|
| -
|
| -// How much width (beyond text) to add to the keyword token on each
|
| -// side.
|
| -const NSInteger kResultsTokenInset = 3;
|
| -
|
| -// How far to shift bounding box of hint down from top of field.
|
| -// Assumes -setFlipped:YES.
|
| -const NSInteger kResultsYOffset = 4;
|
| -
|
| -// How far the editor insets itself, for purposes of determining if
|
| -// decorations need to be trimmed.
|
| -const CGFloat kEditorHorizontalInset = 3.0;
|
| -
|
| -// Conveniences to centralize width+offset calculations.
|
| -CGFloat WidthForResults(NSAttributedString* resultsString) {
|
| - return kResultsXOffset + ceil([resultsString size].width) +
|
| - 2 * kResultsTokenInset;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -@implementation FindBarTextFieldCell
|
| -
|
| -- (CGFloat)baselineAdjust {
|
| - return kBaselineAdjust;
|
| -}
|
| -
|
| -- (CGFloat)cornerRadius {
|
| - return 4.0;
|
| -}
|
| -
|
| -- (StyledTextFieldCellRoundedFlags)roundedFlags {
|
| - return StyledTextFieldCellRoundedLeft;
|
| -}
|
| -
|
| -// @synthesize doesn't seem to compile for this transition.
|
| -- (NSAttributedString*)resultsString {
|
| - return resultsString_.get();
|
| -}
|
| -
|
| -// Convenience for the attributes used in the right-justified info
|
| -// cells. Sets the background color to red if |foundMatches| is YES.
|
| -- (NSDictionary*)resultsAttributes:(BOOL)foundMatches {
|
| - scoped_nsobject<NSMutableParagraphStyle> style(
|
| - [[NSMutableParagraphStyle alloc] init]);
|
| - [style setAlignment:NSRightTextAlignment];
|
| -
|
| - return [NSDictionary dictionaryWithObjectsAndKeys:
|
| - [self font], NSFontAttributeName,
|
| - [NSColor lightGrayColor], NSForegroundColorAttributeName,
|
| - [NSColor whiteColor], NSBackgroundColorAttributeName,
|
| - style.get(), NSParagraphStyleAttributeName,
|
| - nil];
|
| -}
|
| -
|
| -- (void)setActiveMatch:(NSInteger)current of:(NSInteger)total {
|
| - NSString* results =
|
| - base::SysUTF16ToNSString(l10n_util::GetStringFUTF16(
|
| - IDS_FIND_IN_PAGE_COUNT,
|
| - base::IntToString16(current),
|
| - base::IntToString16(total)));
|
| - resultsString_.reset([[NSAttributedString alloc]
|
| - initWithString:results
|
| - attributes:[self resultsAttributes:(total > 0)]]);
|
| -}
|
| -
|
| -- (void)clearResults {
|
| - resultsString_.reset(nil);
|
| -}
|
| -
|
| -- (NSRect)textFrameForFrame:(NSRect)cellFrame {
|
| - NSRect textFrame([super textFrameForFrame:cellFrame]);
|
| - if (resultsString_)
|
| - textFrame.size.width -= WidthForResults(resultsString_);
|
| - return textFrame;
|
| -}
|
| -
|
| -// Do not show the I-beam cursor over the results label.
|
| -- (NSRect)textCursorFrameForFrame:(NSRect)cellFrame {
|
| - return [self textFrameForFrame:cellFrame];
|
| -}
|
| -
|
| -- (void)drawResultsWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
|
| - DCHECK(resultsString_);
|
| -
|
| - NSRect textFrame = [self textFrameForFrame:cellFrame];
|
| - NSRect infoFrame(NSMakeRect(NSMaxX(textFrame),
|
| - cellFrame.origin.y + kResultsYOffset,
|
| - ceil([resultsString_ size].width),
|
| - cellFrame.size.height - kResultsYOffset));
|
| - [resultsString_.get() drawInRect:infoFrame];
|
| -}
|
| -
|
| -- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
|
| - if (resultsString_)
|
| - [self drawResultsWithFrame:cellFrame inView:controlView];
|
| - [super drawInteriorWithFrame:cellFrame inView:controlView];
|
| -}
|
| -
|
| -@end
|
|
|