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

Side by Side Diff: ui/views/controls/table/table_view.cc

Issue 1690543004: MacViews: Implement Full Keyboard Access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
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 "ui/views/controls/table/table_view.h" 5 #include "ui/views/controls/table/table_view.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <utility> 10 #include <utility>
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 row_height_(font_list_.GetHeight() + kTextVerticalPadding * 2), 138 row_height_(font_list_.GetHeight() + kTextVerticalPadding * 2),
139 last_parent_width_(0), 139 last_parent_width_(0),
140 layout_width_(0), 140 layout_width_(0),
141 grouper_(NULL), 141 grouper_(NULL),
142 in_set_visible_column_width_(false) { 142 in_set_visible_column_width_(false) {
143 for (size_t i = 0; i < columns.size(); ++i) { 143 for (size_t i = 0; i < columns.size(); ++i) {
144 VisibleColumn visible_column; 144 VisibleColumn visible_column;
145 visible_column.column = columns[i]; 145 visible_column.column = columns[i];
146 visible_columns_.push_back(visible_column); 146 visible_columns_.push_back(visible_column);
147 } 147 }
148 SetFocusable(true); 148
149 // On Mac, except textfields and lists, no control should be focusable by
150 // default. In Cocoa, lists are generally represented using NSTableView. Hence
151 // use ALWAYS focus behavior for TableView.
152 SetFocusBehavior(views::View::FocusBehavior::ALWAYS);
149 SetModel(model); 153 SetModel(model);
150 } 154 }
151 155
152 TableView::~TableView() { 156 TableView::~TableView() {
153 if (model_) 157 if (model_)
154 model_->SetObserver(NULL); 158 model_->SetObserver(NULL);
155 } 159 }
156 160
157 // TODO: this doesn't support arbitrarily changing the model, rename this to 161 // TODO: this doesn't support arbitrarily changing the model, rename this to
158 // ClearModel() or something. 162 // ClearModel() or something.
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after
948 if (tooltip) 952 if (tooltip)
949 *tooltip = text; 953 *tooltip = text;
950 if (tooltip_origin) { 954 if (tooltip_origin) {
951 tooltip_origin->SetPoint(cell_bounds.x(), 955 tooltip_origin->SetPoint(cell_bounds.x(),
952 cell_bounds.y() + kTextVerticalPadding); 956 cell_bounds.y() + kTextVerticalPadding);
953 } 957 }
954 return true; 958 return true;
955 } 959 }
956 960
957 } // namespace views 961 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698