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

Side by Side Diff: views/examples/tabbed_pane_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/tabbed_pane_example.h ('k') | views/examples/table2_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/tabbed_pane_example.h"
6
7 #include "base/utf_string_conversions.h"
8 #include "views/controls/tabbed_pane/tabbed_pane.h"
9 #include "views/layout/grid_layout.h"
10
11 namespace examples {
12
13 TabbedPaneExample::TabbedPaneExample(ExamplesMain* main)
14 : ExampleBase(main, "Tabbed Pane") {
15 }
16
17 TabbedPaneExample::~TabbedPaneExample() {
18 }
19
20 void TabbedPaneExample::CreateExampleView(views::View* container) {
21 tabbed_pane_ = new views::TabbedPane();
22 tabbed_pane_->set_listener(this);
23 add_ = new views::TextButton(this, ASCIIToUTF16("Add"));
24 add_at_ = new views::TextButton(this, ASCIIToUTF16("Add At 1"));
25 remove_at_ = new views::TextButton(this, ASCIIToUTF16("Remove At 1"));
26 select_at_ = new views::TextButton(this, ASCIIToUTF16("Select At 1"));
27
28 views::GridLayout* layout = new views::GridLayout(container);
29 container->SetLayoutManager(layout);
30
31 const int tabbed_pane_column = 0;
32 views::ColumnSet* column_set = layout->AddColumnSet(tabbed_pane_column);
33 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
34 1.0f, views::GridLayout::USE_PREF, 0, 0);
35 layout->StartRow(1 /* expand */, tabbed_pane_column);
36 layout->AddView(tabbed_pane_);
37
38 // Create a few tabs with a button first.
39 AddButton("Tab 1");
40 AddButton("Tab 2");
41
42 // Add control buttons horizontally.
43 const int button_column = 1;
44 column_set = layout->AddColumnSet(button_column);
45 for (int i = 0; i < 4; i++) {
46 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
47 1.0f, views::GridLayout::USE_PREF, 0, 0);
48 }
49
50 layout->StartRow(0 /* no expand */, button_column);
51 layout->AddView(add_);
52 layout->AddView(add_at_);
53 layout->AddView(remove_at_);
54 layout->AddView(select_at_);
55 }
56
57 void TabbedPaneExample::ButtonPressed(views::Button* sender,
58 const views::Event& event) {
59 if (sender == add_) {
60 AddButton("Added");
61 } else if (sender == add_at_) {
62 const string16 label = ASCIIToUTF16("Added at 1");
63 tabbed_pane_->AddTabAtIndex(1, label,
64 new views::TextButton(NULL, label), true);
65 } else if (sender == remove_at_) {
66 if (tabbed_pane_->GetTabCount() > 1)
67 delete tabbed_pane_->RemoveTabAtIndex(1);
68 } else if (sender == select_at_) {
69 if (tabbed_pane_->GetTabCount() > 1)
70 tabbed_pane_->SelectTabAt(1);
71 }
72 PrintStatus();
73 }
74
75 void TabbedPaneExample::TabSelectedAt(int index) {
76 // Just print the status when selection changes.
77 PrintStatus();
78 }
79
80 void TabbedPaneExample::PrintStatus() {
81 ExampleBase::PrintStatus("Tab Count:%d, Selected Tab:%d",
82 tabbed_pane_->GetTabCount(),
83 tabbed_pane_->GetSelectedTabIndex());
84 }
85
86 void TabbedPaneExample::AddButton(const std::string& label) {
87 views::TextButton* button = new views::TextButton(NULL, ASCIIToUTF16(label));
88 tabbed_pane_->AddTab(ASCIIToUTF16(label), button);
89 }
90
91 } // namespace examples
OLDNEW
« no previous file with comments | « views/examples/tabbed_pane_example.h ('k') | views/examples/table2_example.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698