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 "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "ui/views/controls/table/table_grouper.h" | 10 #include "ui/views/controls/table/table_grouper.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 // Adds a new row at index |row| with values |c1_value| and |c2_value|. | 59 // Adds a new row at index |row| with values |c1_value| and |c2_value|. |
60 void AddRow(int row, int c1_value, int c2_value); | 60 void AddRow(int row, int c1_value, int c2_value); |
61 | 61 |
62 // Removes the row at index |row|. | 62 // Removes the row at index |row|. |
63 void RemoveRow(int row); | 63 void RemoveRow(int row); |
64 | 64 |
65 // Changes the values of the row at |row|. | 65 // Changes the values of the row at |row|. |
66 void ChangeRow(int row, int c1_value, int c2_value); | 66 void ChangeRow(int row, int c1_value, int c2_value); |
67 | 67 |
68 // ui::TableModel: | 68 // ui::TableModel: |
69 virtual int RowCount() OVERRIDE; | 69 virtual int RowCount() override; |
70 virtual base::string16 GetText(int row, int column_id) OVERRIDE; | 70 virtual base::string16 GetText(int row, int column_id) override; |
71 virtual void SetObserver(ui::TableModelObserver* observer) OVERRIDE; | 71 virtual void SetObserver(ui::TableModelObserver* observer) override; |
72 virtual int CompareValues(int row1, int row2, int column_id) OVERRIDE; | 72 virtual int CompareValues(int row1, int row2, int column_id) override; |
73 | 73 |
74 private: | 74 private: |
75 ui::TableModelObserver* observer_; | 75 ui::TableModelObserver* observer_; |
76 | 76 |
77 // The data. | 77 // The data. |
78 std::vector<std::vector<int> > rows_; | 78 std::vector<std::vector<int> > rows_; |
79 | 79 |
80 DISALLOW_COPY_AND_ASSIGN(TestTableModel2); | 80 DISALLOW_COPY_AND_ASSIGN(TestTableModel2); |
81 }; | 81 }; |
82 | 82 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 } | 150 } |
151 | 151 |
152 class TestTableView : public TableView { | 152 class TestTableView : public TableView { |
153 public: | 153 public: |
154 TestTableView(ui::TableModel* model, | 154 TestTableView(ui::TableModel* model, |
155 const std::vector<ui::TableColumn>& columns) | 155 const std::vector<ui::TableColumn>& columns) |
156 : TableView(model, columns, TEXT_ONLY, false) { | 156 : TableView(model, columns, TEXT_ONLY, false) { |
157 } | 157 } |
158 | 158 |
159 // View overrides: | 159 // View overrides: |
160 virtual bool HasFocus() const OVERRIDE { | 160 virtual bool HasFocus() const override { |
161 // Overriden so key processing works. | 161 // Overriden so key processing works. |
162 return true; | 162 return true; |
163 } | 163 } |
164 | 164 |
165 private: | 165 private: |
166 DISALLOW_COPY_AND_ASSIGN(TestTableView); | 166 DISALLOW_COPY_AND_ASSIGN(TestTableView); |
167 }; | 167 }; |
168 | 168 |
169 } // namespace | 169 } // namespace |
170 | 170 |
171 class TableViewTest : public testing::Test { | 171 class TableViewTest : public testing::Test { |
172 public: | 172 public: |
173 TableViewTest() : table_(NULL) {} | 173 TableViewTest() : table_(NULL) {} |
174 | 174 |
175 virtual void SetUp() OVERRIDE { | 175 virtual void SetUp() override { |
176 model_.reset(new TestTableModel2); | 176 model_.reset(new TestTableModel2); |
177 std::vector<ui::TableColumn> columns(2); | 177 std::vector<ui::TableColumn> columns(2); |
178 columns[0].title = base::ASCIIToUTF16("Title Column 0"); | 178 columns[0].title = base::ASCIIToUTF16("Title Column 0"); |
179 columns[0].sortable = true; | 179 columns[0].sortable = true; |
180 columns[1].title = base::ASCIIToUTF16("Title Column 1"); | 180 columns[1].title = base::ASCIIToUTF16("Title Column 1"); |
181 columns[1].id = 1; | 181 columns[1].id = 1; |
182 columns[1].sortable = true; | 182 columns[1].sortable = true; |
183 table_ = new TestTableView(model_.get(), columns); | 183 table_ = new TestTableView(model_.get(), columns); |
184 parent_.reset(table_->CreateParentIfNecessary()); | 184 parent_.reset(table_->CreateParentIfNecessary()); |
185 parent_->SetBounds(0, 0, 10000, 10000); | 185 parent_->SetBounds(0, 0, 10000, 10000); |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 | 403 |
404 class TableGrouperImpl : public TableGrouper { | 404 class TableGrouperImpl : public TableGrouper { |
405 public: | 405 public: |
406 TableGrouperImpl() {} | 406 TableGrouperImpl() {} |
407 | 407 |
408 void SetRanges(const std::vector<int>& ranges) { | 408 void SetRanges(const std::vector<int>& ranges) { |
409 ranges_ = ranges; | 409 ranges_ = ranges; |
410 } | 410 } |
411 | 411 |
412 // TableGrouper overrides: | 412 // TableGrouper overrides: |
413 virtual void GetGroupRange(int model_index, GroupRange* range) OVERRIDE { | 413 virtual void GetGroupRange(int model_index, GroupRange* range) override { |
414 int offset = 0; | 414 int offset = 0; |
415 size_t range_index = 0; | 415 size_t range_index = 0; |
416 for (; range_index < ranges_.size() && offset < model_index; ++range_index) | 416 for (; range_index < ranges_.size() && offset < model_index; ++range_index) |
417 offset += ranges_[range_index]; | 417 offset += ranges_[range_index]; |
418 | 418 |
419 if (offset == model_index) { | 419 if (offset == model_index) { |
420 range->start = model_index; | 420 range->start = model_index; |
421 range->length = ranges_[range_index]; | 421 range->length = ranges_[range_index]; |
422 } else { | 422 } else { |
423 range->start = offset - ranges_[range_index - 1]; | 423 range->start = offset - ranges_[range_index - 1]; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 public: | 507 public: |
508 TableViewObserverImpl() : selection_changed_count_(0) {} | 508 TableViewObserverImpl() : selection_changed_count_(0) {} |
509 | 509 |
510 int GetChangedCountAndClear() { | 510 int GetChangedCountAndClear() { |
511 const int count = selection_changed_count_; | 511 const int count = selection_changed_count_; |
512 selection_changed_count_ = 0; | 512 selection_changed_count_ = 0; |
513 return count; | 513 return count; |
514 } | 514 } |
515 | 515 |
516 // TableViewObserver overrides: | 516 // TableViewObserver overrides: |
517 virtual void OnSelectionChanged() OVERRIDE { | 517 virtual void OnSelectionChanged() override { |
518 selection_changed_count_++; | 518 selection_changed_count_++; |
519 } | 519 } |
520 | 520 |
521 private: | 521 private: |
522 int selection_changed_count_; | 522 int selection_changed_count_; |
523 | 523 |
524 DISALLOW_COPY_AND_ASSIGN(TableViewObserverImpl); | 524 DISALLOW_COPY_AND_ASSIGN(TableViewObserverImpl); |
525 }; | 525 }; |
526 | 526 |
527 } // namespace | 527 } // namespace |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 | 836 |
837 // Extend selection to first row. | 837 // Extend selection to first row. |
838 ClickOnRow(0, ui::EF_SHIFT_DOWN); | 838 ClickOnRow(0, ui::EF_SHIFT_DOWN); |
839 EXPECT_EQ(1, observer.GetChangedCountAndClear()); | 839 EXPECT_EQ(1, observer.GetChangedCountAndClear()); |
840 EXPECT_EQ("active=2 anchor=4 selection=2 3 4", SelectionStateAsString()); | 840 EXPECT_EQ("active=2 anchor=4 selection=2 3 4", SelectionStateAsString()); |
841 | 841 |
842 table_->SetObserver(NULL); | 842 table_->SetObserver(NULL); |
843 } | 843 } |
844 | 844 |
845 } // namespace views | 845 } // namespace views |
OLD | NEW |