OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |