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

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

Issue 8555013: views: Move examples/ directory to ui/views/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 | « views/examples/table_example.h ('k') | views/examples/text_example.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "views/examples/table_example.h"
6
7 #include <vector>
8
9 #include "base/utf_string_conversions.h"
10 #include "third_party/skia/include/core/SkCanvas.h"
11 #include "views/controls/button/checkbox.h"
12 #include "views/layout/grid_layout.h"
13
14 namespace examples {
15
16 TableExample::TableExample(ExamplesMain* main)
17 : ExampleBase(main, "Table") {
18 }
19
20 TableExample::~TableExample() {
21 }
22
23 void TableExample::CreateExampleView(views::View* container) {
24 column1_visible_checkbox_ = new views::Checkbox(
25 ASCIIToUTF16("Fruit column visible"));
26 column1_visible_checkbox_->SetChecked(true);
27 column1_visible_checkbox_->set_listener(this);
28 column2_visible_checkbox_ = new views::Checkbox(
29 ASCIIToUTF16("Color column visible"));
30 column2_visible_checkbox_->SetChecked(true);
31 column2_visible_checkbox_->set_listener(this);
32 column3_visible_checkbox_ = new views::Checkbox(
33 ASCIIToUTF16("Origin column visible"));
34 column3_visible_checkbox_->SetChecked(true);
35 column3_visible_checkbox_->set_listener(this);
36 column4_visible_checkbox_ = new views::Checkbox(
37 ASCIIToUTF16("Price column visible"));
38 column4_visible_checkbox_->SetChecked(true);
39 column4_visible_checkbox_->set_listener(this);
40
41 views::GridLayout* layout = new views::GridLayout(container);
42 container->SetLayoutManager(layout);
43
44 std::vector<ui::TableColumn> columns;
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));
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));
49 table_ = new views::TableView(this, columns, views::ICON_AND_TEXT,
50 true, true, true);
51 table_->SetObserver(this);
52 icon1_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16);
53 icon1_.allocPixels();
54 SkCanvas canvas1(icon1_);
55 canvas1.drawColor(SK_ColorRED);
56
57 icon2_.setConfig(SkBitmap::kARGB_8888_Config, 16, 16);
58 icon2_.allocPixels();
59 SkCanvas canvas2(icon2_);
60 canvas2.drawColor(SK_ColorBLUE);
61
62 views::ColumnSet* column_set = layout->AddColumnSet(0);
63 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
64 views::GridLayout::USE_PREF, 0, 0);
65 layout->StartRow(1 /* expand */, 0);
66 layout->AddView(table_);
67
68 column_set = layout->AddColumnSet(1);
69 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
70 0.5f, views::GridLayout::USE_PREF, 0, 0);
71 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
72 0.5f, views::GridLayout::USE_PREF, 0, 0);
73 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
74 0.5f, views::GridLayout::USE_PREF, 0, 0);
75 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
76 0.5f, views::GridLayout::USE_PREF, 0, 0);
77
78 layout->StartRow(0 /* no expand */, 1);
79
80 layout->AddView(column1_visible_checkbox_);
81 layout->AddView(column2_visible_checkbox_);
82 layout->AddView(column3_visible_checkbox_);
83 layout->AddView(column4_visible_checkbox_);
84 }
85
86 int TableExample::RowCount() {
87 return 10;
88 }
89
90 string16 TableExample::GetText(int row, int column_id) {
91 const char* const cells[5][4] = {
92 { "Orange", "Orange", "South america", "$5" },
93 { "Apple", "Green", "Canada", "$3" },
94 { "Blue berries", "Blue", "Mexico", "$10.3" },
95 { "Strawberries", "Red", "California", "$7" },
96 { "Cantaloupe", "Orange", "South america", "$5" },
97 };
98 return ASCIIToUTF16(cells[row % 5][column_id]);
99 }
100
101 SkBitmap TableExample::GetIcon(int row) {
102 return row % 2 ? icon1_ : icon2_;
103 }
104
105 void TableExample::SetObserver(ui::TableModelObserver* observer) {}
106
107 void TableExample::OnSelectionChanged() {
108 PrintStatus("Selection changed");
109 }
110
111 void TableExample::OnDoubleClick() {}
112
113 void TableExample::OnMiddleClick() {}
114
115 void TableExample::OnKeyDown(ui::KeyboardCode virtual_keycode) {}
116
117 void TableExample::OnTableViewDelete(views::TableView* table_view) {}
118
119 void TableExample::OnTableView2Delete(views::TableView2* table_view) {}
120
121 void TableExample::ButtonPressed(views::Button* sender,
122 const views::Event& event) {
123 int index = 0;
124 bool show = true;
125 if (sender == column1_visible_checkbox_) {
126 index = 0;
127 show = column1_visible_checkbox_->checked();
128 } else if (sender == column2_visible_checkbox_) {
129 index = 1;
130 show = column2_visible_checkbox_->checked();
131 } else if (sender == column3_visible_checkbox_) {
132 index = 2;
133 show = column3_visible_checkbox_->checked();
134 } else if (sender == column4_visible_checkbox_) {
135 index = 3;
136 show = column4_visible_checkbox_->checked();
137 }
138 table_->SetColumnVisibility(index, show);
139 }
140
141 } // namespace examples
OLDNEW
« no previous file with comments | « views/examples/table_example.h ('k') | views/examples/text_example.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698