Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(496)

Side by Side Diff: chrome/browser/ui/views/omnibox/touch_omnibox_popup_contents_view.cc

Issue 10556031: views: Move autocomplete files into omnibox directory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/ui/views/autocomplete/touch_autocomplete_popup_contents _view.h" 5 #include "chrome/browser/ui/views/omnibox/touch_omnibox_popup_contents_view.h"
6 6
7 #include "chrome/browser/ui/omnibox/omnibox_view.h" 7 #include "chrome/browser/ui/omnibox/omnibox_view.h"
8 #include "third_party/skia/include/core/SkPaint.h" 8 #include "third_party/skia/include/core/SkPaint.h"
9 #include "ui/gfx/canvas.h" 9 #include "ui/gfx/canvas.h"
10 #include "ui/gfx/font.h" 10 #include "ui/gfx/font.h"
11 #include "ui/gfx/path.h" 11 #include "ui/gfx/path.h"
12 #include "ui/gfx/rect.h" 12 #include "ui/gfx/rect.h"
13 #include "ui/gfx/size.h" 13 #include "ui/gfx/size.h"
14 #include "ui/views/view.h" 14 #include "ui/views/view.h"
15 15
16 // TouchAutocompleteResultView ------------------------------------------------ 16 // TouchOmniboxResultView ------------------------------------------------
17 17
18 TouchAutocompleteResultView::TouchAutocompleteResultView( 18 TouchOmniboxResultView::TouchOmniboxResultView(
19 AutocompleteResultViewModel* model, 19 OmniboxResultViewModel* model,
20 int model_index, 20 int model_index,
21 const gfx::Font& font, 21 const gfx::Font& font,
22 const gfx::Font& bold_font) 22 const gfx::Font& bold_font)
23 : AutocompleteResultView(model, model_index, font, bold_font) { 23 : OmniboxResultView(model, model_index, font, bold_font) {
24 set_edge_item_padding(8); 24 set_edge_item_padding(8);
25 set_item_padding(8); 25 set_item_padding(8);
26 set_minimum_text_vertical_padding(10); 26 set_minimum_text_vertical_padding(10);
27 } 27 }
28 28
29 TouchAutocompleteResultView::~TouchAutocompleteResultView() { 29 TouchOmniboxResultView::~TouchOmniboxResultView() {
30 } 30 }
31 31
32 void TouchAutocompleteResultView::PaintMatch(gfx::Canvas* canvas, 32 void TouchOmniboxResultView::PaintMatch(gfx::Canvas* canvas,
33 const AutocompleteMatch& match, 33 const AutocompleteMatch& match,
34 int x) { 34 int x) {
35 int y = text_bounds().y(); 35 int y = text_bounds().y();
36 36
37 if (!match.description.empty()) { 37 if (!match.description.empty()) {
38 // We use our base class's GetTextHeight below because we need the height 38 // We use our base class's GetTextHeight below because we need the height
39 // of a single line of text. 39 // of a single line of text.
40 DrawString(canvas, match.description, match.description_class, true, x, y); 40 DrawString(canvas, match.description, match.description_class, true, x, y);
41 y += AutocompleteResultView::GetTextHeight(); 41 y += OmniboxResultView::GetTextHeight();
42 } else { 42 } else {
43 // When we have only one line of content (no description), we center the 43 // When we have only one line of content (no description), we center the
44 // single line vertically on our two-lines-tall results box. 44 // single line vertically on our two-lines-tall results box.
45 y += AutocompleteResultView::GetTextHeight() / 2; 45 y += OmniboxResultView::GetTextHeight() / 2;
46 } 46 }
47 47
48 DrawString(canvas, match.contents, match.contents_class, false, x, y); 48 DrawString(canvas, match.contents, match.contents_class, false, x, y);
49 } 49 }
50 50
51 int TouchAutocompleteResultView::GetTextHeight() const { 51 int TouchOmniboxResultView::GetTextHeight() const {
52 return AutocompleteResultView::GetTextHeight() * 2; 52 return OmniboxResultView::GetTextHeight() * 2;
53 } 53 }
54 54
55 // TouchAutocompletePopupContentsView ----------------------------------------- 55 // TouchOmniboxPopupContentsView -----------------------------------------
56 56
57 TouchAutocompletePopupContentsView::TouchAutocompletePopupContentsView( 57 TouchOmniboxPopupContentsView::TouchOmniboxPopupContentsView(
58 const gfx::Font& font, 58 const gfx::Font& font,
59 OmniboxView* omnibox_view, 59 OmniboxView* omnibox_view,
60 AutocompleteEditModel* edit_model, 60 AutocompleteEditModel* edit_model,
61 views::View* location_bar) 61 views::View* location_bar)
62 : AutocompletePopupContentsView(font, omnibox_view, edit_model, 62 : OmniboxPopupContentsView(font, omnibox_view, edit_model, location_bar) {
63 location_bar) {
64 } 63 }
65 64
66 TouchAutocompletePopupContentsView::~TouchAutocompletePopupContentsView() { 65 TouchOmniboxPopupContentsView::~TouchOmniboxPopupContentsView() {
67 } 66 }
68 67
69 void TouchAutocompletePopupContentsView::UpdatePopupAppearance() { 68 void TouchOmniboxPopupContentsView::UpdatePopupAppearance() {
70 AutocompletePopupContentsView::UpdatePopupAppearance(); 69 OmniboxPopupContentsView::UpdatePopupAppearance();
71 Layout(); 70 Layout();
72 } 71 }
73 72
74 void TouchAutocompletePopupContentsView::PaintResultViews(gfx::Canvas* canvas) { 73 void TouchOmniboxPopupContentsView::PaintResultViews(gfx::Canvas* canvas) {
75 AutocompletePopupContentsView::PaintResultViews(canvas); 74 OmniboxPopupContentsView::PaintResultViews(canvas);
76 75
77 // Draw divider lines. 76 // Draw divider lines.
78 std::vector<View*> visible_children(GetVisibleChildren()); 77 std::vector<View*> visible_children(GetVisibleChildren());
79 if (visible_children.size() < 2) 78 if (visible_children.size() < 2)
80 return; 79 return;
81 gfx::Rect bounds(GetContentsBounds()); 80 gfx::Rect bounds(GetContentsBounds());
82 81
83 // Draw a line at the bottom of each child except the last. The 82 // Draw a line at the bottom of each child except the last. The
84 // color of the line is determined to blend appropriately with the 83 // color of the line is determined to blend appropriately with the
85 // most dominant of the two surrounding cells, in precedence order, 84 // most dominant of the two surrounding cells, in precedence order,
86 // i.e. selected > hovered > normal. 85 // i.e. selected > hovered > normal.
87 for (std::vector<View*>::const_iterator i(visible_children.begin()); 86 for (std::vector<View*>::const_iterator i(visible_children.begin());
88 i + 1 != visible_children.end(); ++i) { 87 i + 1 != visible_children.end(); ++i) {
89 TouchAutocompleteResultView* child = 88 TouchOmniboxResultView* child = static_cast<TouchOmniboxResultView*>(*i);
90 static_cast<TouchAutocompleteResultView*>(*i); 89 TouchOmniboxResultView* next_child =
91 TouchAutocompleteResultView* next_child = 90 static_cast<TouchOmniboxResultView*>(*(i + 1));
92 static_cast<TouchAutocompleteResultView*>(*(i + 1)); 91 SkColor divider_color = OmniboxResultView::GetColor(
93 SkColor divider_color = AutocompleteResultView::GetColor(
94 std::max(child->GetState(), next_child->GetState()), 92 std::max(child->GetState(), next_child->GetState()),
95 AutocompleteResultView::DIVIDER); 93 OmniboxResultView::DIVIDER);
96 int line_y = child->y() + child->height() - 1; 94 int line_y = child->y() + child->height() - 1;
97 canvas->DrawLine(gfx::Point(bounds.x(), line_y), 95 canvas->DrawLine(gfx::Point(bounds.x(), line_y),
98 gfx::Point(bounds.right(), line_y), divider_color); 96 gfx::Point(bounds.right(), line_y), divider_color);
99 } 97 }
100 } 98 }
101 99
102 AutocompleteResultView* TouchAutocompletePopupContentsView::CreateResultView( 100 OmniboxResultView* TouchOmniboxPopupContentsView::CreateResultView(
103 AutocompleteResultViewModel* model, 101 OmniboxResultViewModel* model,
104 int model_index, 102 int model_index,
105 const gfx::Font& font, 103 const gfx::Font& font,
106 const gfx::Font& bold_font) { 104 const gfx::Font& bold_font) {
107 return new TouchAutocompleteResultView(model, model_index, font, bold_font); 105 return new TouchOmniboxResultView(model, model_index, font, bold_font);
108 } 106 }
109 107
110 std::vector<views::View*> 108 std::vector<views::View*> TouchOmniboxPopupContentsView::GetVisibleChildren() {
111 TouchAutocompletePopupContentsView::GetVisibleChildren() {
112 std::vector<View*> visible_children; 109 std::vector<View*> visible_children;
113 for (int i = 0; i < child_count(); ++i) { 110 for (int i = 0; i < child_count(); ++i) {
114 View* v = child_at(i); 111 View* v = child_at(i);
115 if (child_at(i)->visible()) 112 if (child_at(i)->visible())
116 visible_children.push_back(v); 113 visible_children.push_back(v);
117 } 114 }
118 return visible_children; 115 return visible_children;
119 } 116 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/omnibox/touch_omnibox_popup_contents_view.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698