OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "chrome/browser/ui/cocoa/location_bar/search_button_decoration.h" | 5 #import "chrome/browser/ui/cocoa/location_bar/search_button_decoration.h" |
6 | 6 |
| 7 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" |
| 8 #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h" |
7 #include "grit/theme_resources.h" | 9 #include "grit/theme_resources.h" |
8 #include "ui/base/resource/resource_bundle.h" | 10 #include "ui/base/resource/resource_bundle.h" |
9 | 11 |
10 namespace { | 12 namespace { |
11 | 13 |
12 const CGFloat kInnerPadding = 16; | 14 const CGFloat kInnerPadding = 16; |
13 const CGFloat kLeftPadding = 3; | 15 const CGFloat kLeftPadding = 3; |
14 | 16 |
15 } // namespace | 17 } // namespace |
16 | 18 |
17 SearchButtonDecoration::SearchButtonDecoration() | 19 SearchButtonDecoration::SearchButtonDecoration(LocationBarViewMac* owner) |
18 : ButtonDecoration({ | 20 : ButtonDecoration({ |
19 IDR_OMNIBOX_SEARCH_BUTTON_TOP_LEFT, | 21 IDR_OMNIBOX_SEARCH_BUTTON_TOP_LEFT, |
20 IDR_OMNIBOX_SEARCH_BUTTON_TOP, | 22 IDR_OMNIBOX_SEARCH_BUTTON_TOP, |
21 IDR_OMNIBOX_SEARCH_BUTTON_TOP_RIGHT, | 23 IDR_OMNIBOX_SEARCH_BUTTON_TOP_RIGHT, |
22 IDR_OMNIBOX_SEARCH_BUTTON_LEFT, | 24 IDR_OMNIBOX_SEARCH_BUTTON_LEFT, |
23 IDR_OMNIBOX_SEARCH_BUTTON_CENTER, | 25 IDR_OMNIBOX_SEARCH_BUTTON_CENTER, |
24 IDR_OMNIBOX_SEARCH_BUTTON_RIGHT, | 26 IDR_OMNIBOX_SEARCH_BUTTON_RIGHT, |
25 IDR_OMNIBOX_SEARCH_BUTTON_BOTTOM_LEFT, | 27 IDR_OMNIBOX_SEARCH_BUTTON_BOTTOM_LEFT, |
26 IDR_OMNIBOX_SEARCH_BUTTON_BOTTOM, | 28 IDR_OMNIBOX_SEARCH_BUTTON_BOTTOM, |
27 IDR_OMNIBOX_SEARCH_BUTTON_BOTTOM_RIGHT | 29 IDR_OMNIBOX_SEARCH_BUTTON_BOTTOM_RIGHT |
(...skipping 10 matching lines...) Expand all Loading... |
38 }, IDR_OMNIBOX_SEARCH_BUTTON_LOUPE, { | 40 }, IDR_OMNIBOX_SEARCH_BUTTON_LOUPE, { |
39 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_TOP_LEFT, | 41 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_TOP_LEFT, |
40 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_TOP, | 42 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_TOP, |
41 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_TOP_RIGHT, | 43 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_TOP_RIGHT, |
42 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_LEFT, | 44 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_LEFT, |
43 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_CENTER, | 45 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_CENTER, |
44 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_RIGHT, | 46 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_RIGHT, |
45 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_BOTTOM_LEFT, | 47 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_BOTTOM_LEFT, |
46 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_BOTTOM, | 48 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_BOTTOM, |
47 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_BOTTOM_RIGHT | 49 IDR_OMNIBOX_SEARCH_BUTTON_PRESSED_BOTTOM_RIGHT |
48 }, IDR_OMNIBOX_SEARCH_BUTTON_LOUPE, kInnerPadding) { | 50 }, IDR_OMNIBOX_SEARCH_BUTTON_LOUPE, kInnerPadding), |
| 51 owner_(owner) { |
| 52 DCHECK(owner_); |
49 } | 53 } |
50 | 54 |
51 SearchButtonDecoration::~SearchButtonDecoration() { | 55 SearchButtonDecoration::~SearchButtonDecoration() { |
52 } | 56 } |
53 | 57 |
54 CGFloat SearchButtonDecoration::GetWidthForSpace(CGFloat width) { | 58 CGFloat SearchButtonDecoration::GetWidthForSpace(CGFloat width) { |
55 CGFloat width_for_space = ButtonDecoration::GetWidthForSpace(width); | 59 CGFloat width_for_space = ButtonDecoration::GetWidthForSpace(width); |
56 if (width_for_space == kOmittedWidth || | 60 if (width_for_space == kOmittedWidth || |
57 width_for_space + kLeftPadding > width) | 61 width_for_space + kLeftPadding > width) |
58 return kOmittedWidth; | 62 return kOmittedWidth; |
59 return width_for_space + kLeftPadding; | 63 return width_for_space + kLeftPadding; |
60 } | 64 } |
61 | 65 |
62 void SearchButtonDecoration::DrawInFrame(NSRect frame, NSView* control_view) { | 66 void SearchButtonDecoration::DrawInFrame(NSRect frame, NSView* control_view) { |
63 frame = NSMakeRect(NSMinX(frame) + kLeftPadding, | 67 frame = NSMakeRect(NSMinX(frame) + kLeftPadding, |
64 NSMinY(frame), | 68 NSMinY(frame), |
65 NSWidth(frame) - kLeftPadding, | 69 NSWidth(frame) - kLeftPadding, |
66 NSHeight(frame)); | 70 NSHeight(frame)); |
67 ButtonDecoration::DrawInFrame(frame, control_view); | 71 ButtonDecoration::DrawInFrame(frame, control_view); |
68 } | 72 } |
69 | 73 |
70 bool SearchButtonDecoration::OnMousePressed(NSRect frame) { | 74 bool SearchButtonDecoration::OnMousePressed(NSRect frame) { |
71 // TODO(macourteau): handle click (trigger navigation of what is currently | 75 owner_->GetOmniboxView()->model()->AcceptInput( |
72 // in the omnibox). | 76 owner_->GetWindowOpenDisposition(), false); |
73 return true; | 77 return true; |
74 } | 78 } |
OLD | NEW |