OLD | NEW |
1 // Copyright (c) 2011 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/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/string_util.h" |
9 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
10 #include "third_party/skia/include/core/SkCanvas.h" | 11 #include "third_party/skia/include/core/SkCanvas.h" |
11 #include "ui/views/controls/button/checkbox.h" | 12 #include "ui/views/controls/button/checkbox.h" |
12 #include "ui/views/layout/grid_layout.h" | 13 #include "ui/views/layout/grid_layout.h" |
13 | 14 |
14 namespace views { | 15 namespace views { |
15 namespace examples { | 16 namespace examples { |
16 | 17 |
17 TableExample::TableExample() : ExampleBase("Table") { | 18 TableExample::TableExample() : ExampleBase("Table") { |
18 } | 19 } |
(...skipping 16 matching lines...) Expand all Loading... |
35 column3_visible_checkbox_->set_listener(this); | 36 column3_visible_checkbox_->set_listener(this); |
36 column4_visible_checkbox_ = new Checkbox( | 37 column4_visible_checkbox_ = new Checkbox( |
37 ASCIIToUTF16("Price column visible")); | 38 ASCIIToUTF16("Price column visible")); |
38 column4_visible_checkbox_->SetChecked(true); | 39 column4_visible_checkbox_->SetChecked(true); |
39 column4_visible_checkbox_->set_listener(this); | 40 column4_visible_checkbox_->set_listener(this); |
40 | 41 |
41 GridLayout* layout = new GridLayout(container); | 42 GridLayout* layout = new GridLayout(container); |
42 container->SetLayoutManager(layout); | 43 container->SetLayoutManager(layout); |
43 | 44 |
44 std::vector<ui::TableColumn> columns; | 45 std::vector<ui::TableColumn> columns; |
45 columns.push_back(ui::TableColumn(0, L"Fruit", ui::TableColumn::LEFT, 100)); | 46 columns.push_back(ui::TableColumn(0, ASCIIToUTF16("Fruit"), |
46 columns.push_back(ui::TableColumn(1, L"Color", ui::TableColumn::LEFT, 100)); | 47 ui::TableColumn::LEFT, 100)); |
47 columns.push_back(ui::TableColumn(2, L"Origin", ui::TableColumn::LEFT, 100)); | 48 #if !defined(USE_AURA) |
48 columns.push_back(ui::TableColumn(3, L"Price", ui::TableColumn::LEFT, 100)); | 49 columns.push_back(ui::TableColumn(1, ASCIIToUTF16("Color"), |
| 50 ui::TableColumn::LEFT, 100)); |
| 51 columns.push_back(ui::TableColumn(2, ASCIIToUTF16("Origin"), |
| 52 ui::TableColumn::LEFT, 100)); |
| 53 columns.push_back(ui::TableColumn(3, ASCIIToUTF16("Price"), |
| 54 ui::TableColumn::LEFT, 100)); |
| 55 #endif |
49 table_ = new TableView(this, columns, ICON_AND_TEXT, true, true, true); | 56 table_ = new TableView(this, columns, ICON_AND_TEXT, true, true, true); |
50 table_->SetObserver(this); | 57 table_->SetObserver(this); |
51 icon1_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); | 58 icon1_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); |
52 icon1_.allocPixels(); | 59 icon1_.allocPixels(); |
53 SkCanvas canvas1(icon1_); | 60 SkCanvas canvas1(icon1_); |
54 canvas1.drawColor(SK_ColorRED); | 61 canvas1.drawColor(SK_ColorRED); |
55 | 62 |
56 icon2_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); | 63 icon2_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16); |
57 icon2_.allocPixels(); | 64 icon2_.allocPixels(); |
58 SkCanvas canvas2(icon2_); | 65 SkCanvas canvas2(icon2_); |
59 canvas2.drawColor(SK_ColorBLUE); | 66 canvas2.drawColor(SK_ColorBLUE); |
60 | 67 |
61 ColumnSet* column_set = layout->AddColumnSet(0); | 68 ColumnSet* column_set = layout->AddColumnSet(0); |
62 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, | 69 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, |
63 GridLayout::USE_PREF, 0, 0); | 70 GridLayout::USE_PREF, 0, 0); |
64 layout->StartRow(1 /* expand */, 0); | 71 layout->StartRow(1 /* expand */, 0); |
65 layout->AddView(table_); | 72 layout->AddView(table_->CreateParentIfNecessary()); |
66 | 73 |
67 column_set = layout->AddColumnSet(1); | 74 column_set = layout->AddColumnSet(1); |
68 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, | 75 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
69 0.5f, GridLayout::USE_PREF, 0, 0); | 76 0.5f, GridLayout::USE_PREF, 0, 0); |
70 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, | 77 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
71 0.5f, GridLayout::USE_PREF, 0, 0); | 78 0.5f, GridLayout::USE_PREF, 0, 0); |
72 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, | 79 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
73 0.5f, GridLayout::USE_PREF, 0, 0); | 80 0.5f, GridLayout::USE_PREF, 0, 0); |
74 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, | 81 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
75 0.5f, GridLayout::USE_PREF, 0, 0); | 82 0.5f, GridLayout::USE_PREF, 0, 0); |
(...skipping 21 matching lines...) Expand all Loading... |
97 return ASCIIToUTF16(cells[row % 5][column_id]); | 104 return ASCIIToUTF16(cells[row % 5][column_id]); |
98 } | 105 } |
99 | 106 |
100 SkBitmap TableExample::GetIcon(int row) { | 107 SkBitmap TableExample::GetIcon(int row) { |
101 return row % 2 ? icon1_ : icon2_; | 108 return row % 2 ? icon1_ : icon2_; |
102 } | 109 } |
103 | 110 |
104 void TableExample::SetObserver(ui::TableModelObserver* observer) {} | 111 void TableExample::SetObserver(ui::TableModelObserver* observer) {} |
105 | 112 |
106 void TableExample::OnSelectionChanged() { | 113 void TableExample::OnSelectionChanged() { |
107 PrintStatus("Selection changed"); | 114 PrintStatus("Selected: %s", |
| 115 UTF16ToASCII(GetText(table_->FirstSelectedRow(), 0)).c_str()); |
108 } | 116 } |
109 | 117 |
110 void TableExample::OnDoubleClick() {} | 118 void TableExample::OnDoubleClick() { |
| 119 PrintStatus("Double Click: %s", |
| 120 UTF16ToASCII(GetText(table_->FirstSelectedRow(), 0)).c_str()); |
| 121 } |
111 | 122 |
112 void TableExample::OnMiddleClick() {} | 123 void TableExample::OnMiddleClick() {} |
113 | 124 |
114 void TableExample::OnKeyDown(ui::KeyboardCode virtual_keycode) {} | 125 void TableExample::OnKeyDown(ui::KeyboardCode virtual_keycode) {} |
115 | 126 |
116 void TableExample::OnTableViewDelete(TableView* table_view) {} | 127 void TableExample::OnTableViewDelete(TableView* table_view) {} |
117 | 128 |
118 void TableExample::OnTableView2Delete(TableView2* table_view) {} | 129 void TableExample::OnTableView2Delete(TableView2* table_view) {} |
119 | 130 |
120 void TableExample::ButtonPressed(Button* sender, const Event& event) { | 131 void TableExample::ButtonPressed(Button* sender, const Event& event) { |
121 int index = 0; | 132 int index = 0; |
122 bool show = true; | 133 bool show = true; |
123 if (sender == column1_visible_checkbox_) { | 134 if (sender == column1_visible_checkbox_) { |
124 index = 0; | 135 index = 0; |
125 show = column1_visible_checkbox_->checked(); | 136 show = column1_visible_checkbox_->checked(); |
126 } else if (sender == column2_visible_checkbox_) { | 137 } else if (sender == column2_visible_checkbox_) { |
127 index = 1; | 138 index = 1; |
128 show = column2_visible_checkbox_->checked(); | 139 show = column2_visible_checkbox_->checked(); |
129 } else if (sender == column3_visible_checkbox_) { | 140 } else if (sender == column3_visible_checkbox_) { |
130 index = 2; | 141 index = 2; |
131 show = column3_visible_checkbox_->checked(); | 142 show = column3_visible_checkbox_->checked(); |
132 } else if (sender == column4_visible_checkbox_) { | 143 } else if (sender == column4_visible_checkbox_) { |
133 index = 3; | 144 index = 3; |
134 show = column4_visible_checkbox_->checked(); | 145 show = column4_visible_checkbox_->checked(); |
135 } | 146 } |
| 147 #if !defined(USE_AURA) |
136 table_->SetColumnVisibility(index, show); | 148 table_->SetColumnVisibility(index, show); |
| 149 #endif |
137 } | 150 } |
138 | 151 |
139 } // namespace examples | 152 } // namespace examples |
140 } // namespace views | 153 } // namespace views |
OLD | NEW |