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

Side by Side Diff: ui/views/examples/table_example.cc

Issue 9187027: Attempt 2 at: Adds a trivial views based table implementation (only supports single (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « ui/views/examples/examples_window.cc ('k') | ui/views/views.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « ui/views/examples/examples_window.cc ('k') | ui/views/views.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698