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

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

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

Powered by Google App Engine
This is Rietveld 408576698