| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/examples/table_example.h" | 5 #include "ui/views/examples/table_example.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "third_party/skia/include/core/SkCanvas.h" | 10 #include "third_party/skia/include/core/SkCanvas.h" |
| 11 #include "ui/views/controls/button/checkbox.h" | 11 #include "ui/views/controls/button/checkbox.h" |
| 12 #include "ui/views/layout/grid_layout.h" | 12 #include "ui/views/layout/grid_layout.h" |
| 13 | 13 |
| 14 namespace views { |
| 14 namespace examples { | 15 namespace examples { |
| 15 | 16 |
| 16 TableExample::TableExample(ExamplesMain* main) | 17 TableExample::TableExample() : ExampleBase("Table") { |
| 17 : ExampleBase(main, "Table") { | |
| 18 } | 18 } |
| 19 | 19 |
| 20 TableExample::~TableExample() { | 20 TableExample::~TableExample() { |
| 21 } | 21 } |
| 22 | 22 |
| 23 void TableExample::CreateExampleView(views::View* container) { | 23 void TableExample::CreateExampleView(View* container) { |
| 24 column1_visible_checkbox_ = new views::Checkbox( | 24 column1_visible_checkbox_ = new Checkbox( |
| 25 ASCIIToUTF16("Fruit column visible")); | 25 ASCIIToUTF16("Fruit column visible")); |
| 26 column1_visible_checkbox_->SetChecked(true); | 26 column1_visible_checkbox_->SetChecked(true); |
| 27 column1_visible_checkbox_->set_listener(this); | 27 column1_visible_checkbox_->set_listener(this); |
| 28 column2_visible_checkbox_ = new views::Checkbox( | 28 column2_visible_checkbox_ = new Checkbox( |
| 29 ASCIIToUTF16("Color column visible")); | 29 ASCIIToUTF16("Color column visible")); |
| 30 column2_visible_checkbox_->SetChecked(true); | 30 column2_visible_checkbox_->SetChecked(true); |
| 31 column2_visible_checkbox_->set_listener(this); | 31 column2_visible_checkbox_->set_listener(this); |
| 32 column3_visible_checkbox_ = new views::Checkbox( | 32 column3_visible_checkbox_ = new Checkbox( |
| 33 ASCIIToUTF16("Origin column visible")); | 33 ASCIIToUTF16("Origin column visible")); |
| 34 column3_visible_checkbox_->SetChecked(true); | 34 column3_visible_checkbox_->SetChecked(true); |
| 35 column3_visible_checkbox_->set_listener(this); | 35 column3_visible_checkbox_->set_listener(this); |
| 36 column4_visible_checkbox_ = new views::Checkbox( | 36 column4_visible_checkbox_ = new Checkbox( |
| 37 ASCIIToUTF16("Price column visible")); | 37 ASCIIToUTF16("Price column visible")); |
| 38 column4_visible_checkbox_->SetChecked(true); | 38 column4_visible_checkbox_->SetChecked(true); |
| 39 column4_visible_checkbox_->set_listener(this); | 39 column4_visible_checkbox_->set_listener(this); |
| 40 | 40 |
| 41 views::GridLayout* layout = new views::GridLayout(container); | 41 GridLayout* layout = new GridLayout(container); |
| 42 container->SetLayoutManager(layout); | 42 container->SetLayoutManager(layout); |
| 43 | 43 |
| 44 std::vector<ui::TableColumn> columns; | 44 std::vector<ui::TableColumn> columns; |
| 45 columns.push_back(ui::TableColumn(0, L"Fruit", ui::TableColumn::LEFT, 100)); | 45 columns.push_back(ui::TableColumn(0, L"Fruit", ui::TableColumn::LEFT, 100)); |
| 46 columns.push_back(ui::TableColumn(1, L"Color", ui::TableColumn::LEFT, 100)); | 46 columns.push_back(ui::TableColumn(1, L"Color", ui::TableColumn::LEFT, 100)); |
| 47 columns.push_back(ui::TableColumn(2, L"Origin", ui::TableColumn::LEFT, 100)); | 47 columns.push_back(ui::TableColumn(2, L"Origin", ui::TableColumn::LEFT, 100)); |
| 48 columns.push_back(ui::TableColumn(3, L"Price", ui::TableColumn::LEFT, 100)); | 48 columns.push_back(ui::TableColumn(3, L"Price", ui::TableColumn::LEFT, 100)); |
| 49 table_ = new views::TableView(this, columns, views::ICON_AND_TEXT, | 49 table_ = new TableView(this, columns, ICON_AND_TEXT, true, true, true); |
| 50 true, true, true); | |
| 51 table_->SetObserver(this); | 50 table_->SetObserver(this); |
| 52 icon1_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); | 51 icon1_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); |
| 53 icon1_.allocPixels(); | 52 icon1_.allocPixels(); |
| 54 SkCanvas canvas1(icon1_); | 53 SkCanvas canvas1(icon1_); |
| 55 canvas1.drawColor(SK_ColorRED); | 54 canvas1.drawColor(SK_ColorRED); |
| 56 | 55 |
| 57 icon2_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); | 56 icon2_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); |
| 58 icon2_.allocPixels(); | 57 icon2_.allocPixels(); |
| 59 SkCanvas canvas2(icon2_); | 58 SkCanvas canvas2(icon2_); |
| 60 canvas2.drawColor(SK_ColorBLUE); | 59 canvas2.drawColor(SK_ColorBLUE); |
| 61 | 60 |
| 62 views::ColumnSet* column_set = layout->AddColumnSet(0); | 61 ColumnSet* column_set = layout->AddColumnSet(0); |
| 63 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1, | 62 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, |
| 64 views::GridLayout::USE_PREF, 0, 0); | 63 GridLayout::USE_PREF, 0, 0); |
| 65 layout->StartRow(1 /* expand */, 0); | 64 layout->StartRow(1 /* expand */, 0); |
| 66 layout->AddView(table_); | 65 layout->AddView(table_); |
| 67 | 66 |
| 68 column_set = layout->AddColumnSet(1); | 67 column_set = layout->AddColumnSet(1); |
| 69 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, | 68 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
| 70 0.5f, views::GridLayout::USE_PREF, 0, 0); | 69 0.5f, GridLayout::USE_PREF, 0, 0); |
| 71 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, | 70 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
| 72 0.5f, views::GridLayout::USE_PREF, 0, 0); | 71 0.5f, GridLayout::USE_PREF, 0, 0); |
| 73 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, | 72 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
| 74 0.5f, views::GridLayout::USE_PREF, 0, 0); | 73 0.5f, GridLayout::USE_PREF, 0, 0); |
| 75 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, | 74 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
| 76 0.5f, views::GridLayout::USE_PREF, 0, 0); | 75 0.5f, GridLayout::USE_PREF, 0, 0); |
| 77 | 76 |
| 78 layout->StartRow(0 /* no expand */, 1); | 77 layout->StartRow(0 /* no expand */, 1); |
| 79 | 78 |
| 80 layout->AddView(column1_visible_checkbox_); | 79 layout->AddView(column1_visible_checkbox_); |
| 81 layout->AddView(column2_visible_checkbox_); | 80 layout->AddView(column2_visible_checkbox_); |
| 82 layout->AddView(column3_visible_checkbox_); | 81 layout->AddView(column3_visible_checkbox_); |
| 83 layout->AddView(column4_visible_checkbox_); | 82 layout->AddView(column4_visible_checkbox_); |
| 84 } | 83 } |
| 85 | 84 |
| 86 int TableExample::RowCount() { | 85 int TableExample::RowCount() { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 107 void TableExample::OnSelectionChanged() { | 106 void TableExample::OnSelectionChanged() { |
| 108 PrintStatus("Selection changed"); | 107 PrintStatus("Selection changed"); |
| 109 } | 108 } |
| 110 | 109 |
| 111 void TableExample::OnDoubleClick() {} | 110 void TableExample::OnDoubleClick() {} |
| 112 | 111 |
| 113 void TableExample::OnMiddleClick() {} | 112 void TableExample::OnMiddleClick() {} |
| 114 | 113 |
| 115 void TableExample::OnKeyDown(ui::KeyboardCode virtual_keycode) {} | 114 void TableExample::OnKeyDown(ui::KeyboardCode virtual_keycode) {} |
| 116 | 115 |
| 117 void TableExample::OnTableViewDelete(views::TableView* table_view) {} | 116 void TableExample::OnTableViewDelete(TableView* table_view) {} |
| 118 | 117 |
| 119 void TableExample::OnTableView2Delete(views::TableView2* table_view) {} | 118 void TableExample::OnTableView2Delete(TableView2* table_view) {} |
| 120 | 119 |
| 121 void TableExample::ButtonPressed(views::Button* sender, | 120 void TableExample::ButtonPressed(Button* sender, const Event& event) { |
| 122 const views::Event& event) { | |
| 123 int index = 0; | 121 int index = 0; |
| 124 bool show = true; | 122 bool show = true; |
| 125 if (sender == column1_visible_checkbox_) { | 123 if (sender == column1_visible_checkbox_) { |
| 126 index = 0; | 124 index = 0; |
| 127 show = column1_visible_checkbox_->checked(); | 125 show = column1_visible_checkbox_->checked(); |
| 128 } else if (sender == column2_visible_checkbox_) { | 126 } else if (sender == column2_visible_checkbox_) { |
| 129 index = 1; | 127 index = 1; |
| 130 show = column2_visible_checkbox_->checked(); | 128 show = column2_visible_checkbox_->checked(); |
| 131 } else if (sender == column3_visible_checkbox_) { | 129 } else if (sender == column3_visible_checkbox_) { |
| 132 index = 2; | 130 index = 2; |
| 133 show = column3_visible_checkbox_->checked(); | 131 show = column3_visible_checkbox_->checked(); |
| 134 } else if (sender == column4_visible_checkbox_) { | 132 } else if (sender == column4_visible_checkbox_) { |
| 135 index = 3; | 133 index = 3; |
| 136 show = column4_visible_checkbox_->checked(); | 134 show = column4_visible_checkbox_->checked(); |
| 137 } | 135 } |
| 138 table_->SetColumnVisibility(index, show); | 136 table_->SetColumnVisibility(index, show); |
| 139 } | 137 } |
| 140 | 138 |
| 141 } // namespace examples | 139 } // namespace examples |
| 140 } // namespace views |
| OLD | NEW |