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

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

Issue 8687013: Get the examples to run in aura_shell. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years 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/example_combobox_model.cc ('k') | ui/views/examples/examples_window.h » ('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) 2011 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/examples_main.h" 5 #include "ui/views/examples/examples_main.h"
6 6
7 #include "base/at_exit.h" 7 #include "base/at_exit.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/i18n/icu_util.h" 9 #include "base/i18n/icu_util.h"
10 #include "base/process_util.h" 10 #include "base/process_util.h"
11 #include "base/stl_util.h" 11 #include "base/stl_util.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "ui/base/resource/resource_bundle.h" 13 #include "ui/base/resource/resource_bundle.h"
14 #include "ui/base/ui_base_paths.h" 14 #include "ui/base/ui_base_paths.h"
15 #include "ui/views/controls/button/text_button.h" 15 #include "ui/views/examples/examples_window.h"
16 #include "ui/views/controls/tabbed_pane/tabbed_pane.h"
17 #include "ui/views/examples/bubble_example.h"
18 #include "ui/views/examples/button_example.h"
19 #include "ui/views/examples/combobox_example.h"
20 #include "ui/views/examples/double_split_view_example.h"
21 #include "ui/views/examples/link_example.h"
22 #include "ui/views/examples/menu_example.h"
23 #include "ui/views/examples/message_box_example.h"
24 #include "ui/views/examples/native_theme_button_example.h"
25 #include "ui/views/examples/native_theme_checkbox_example.h"
26 #include "ui/views/examples/progress_bar_example.h"
27 #include "ui/views/examples/radio_button_example.h"
28 #include "ui/views/examples/scroll_view_example.h"
29 #include "ui/views/examples/single_split_view_example.h"
30 #include "ui/views/examples/tabbed_pane_example.h"
31 #include "ui/views/examples/table2_example.h"
32 #include "ui/views/examples/text_example.h"
33 #include "ui/views/examples/textfield_example.h"
34 #include "ui/views/examples/throbber_example.h"
35 #include "ui/views/examples/widget_example.h"
36 #include "ui/views/focus/accelerator_handler.h" 16 #include "ui/views/focus/accelerator_handler.h"
37 #include "ui/views/layout/grid_layout.h"
38 #include "ui/views/test/test_views_delegate.h" 17 #include "ui/views/test/test_views_delegate.h"
39 #include "ui/views/widget/widget.h" 18 #include "ui/views/widget/widget.h"
40 #include "views/controls/label.h"
41
42 #if defined(OS_WIN)
43 // TableView is not yet ported to Linux.
44 #include "ui/views/examples/table_example.h"
45 #endif
46
47 namespace examples {
48
49 ExamplesMain::ExamplesMain()
50 : tabbed_pane_(NULL),
51 contents_(NULL),
52 status_label_(NULL) {
53 }
54
55 ExamplesMain::~ExamplesMain() {
56 STLDeleteElements(&examples_);
57 }
58
59 void ExamplesMain::Init() {
60 // Creates a window with the tabbed pane for each example,
61 // and a label to print messages from each example.
62 DCHECK(contents_ == NULL) << "Run called more than once.";
63 contents_ = new views::View();
64 contents_->set_background(views::Background::CreateStandardPanelBackground());
65 views::GridLayout* layout = new views::GridLayout(contents_);
66 contents_->SetLayoutManager(layout);
67
68 views::ColumnSet* column_set = layout->AddColumnSet(0);
69 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
70 views::GridLayout::USE_PREF, 0, 0);
71
72 tabbed_pane_ = new views::TabbedPane();
73 status_label_ = new views::Label();
74
75 layout->StartRow(1, 0);
76 layout->AddView(tabbed_pane_);
77 layout->StartRow(0 /* no expand */, 0);
78 layout->AddView(status_label_);
79
80 // TODO(satorux): The window is getting wide. Eventually, we would have
81 // the second tabbed pane.
82 views::Widget* window =
83 views::Widget::CreateWindowWithBounds(this, gfx::Rect(0, 0, 850, 300));
84
85 // Keep these in alphabetical order!
86 examples_.push_back(new BubbleExample(this));
87 examples_.push_back(new ButtonExample(this));
88 examples_.push_back(new ComboboxExample(this));
89 examples_.push_back(new DoubleSplitViewExample(this));
90 examples_.push_back(new LinkExample(this));
91 examples_.push_back(new MenuExample(this));
92 examples_.push_back(new MessageBoxExample(this));
93 examples_.push_back(new NativeThemeButtonExample(this));
94 examples_.push_back(new NativeThemeCheckboxExample(this));
95 examples_.push_back(new ProgressBarExample(this));
96 examples_.push_back(new RadioButtonExample(this));
97 examples_.push_back(new ScrollViewExample(this));
98 examples_.push_back(new SingleSplitViewExample(this));
99 examples_.push_back(new TabbedPaneExample(this));
100 #if defined(OS_WIN)
101 examples_.push_back(new TableExample(this));
102 #endif
103 examples_.push_back(new Table2Example(this));
104 examples_.push_back(new TextExample(this));
105 examples_.push_back(new TextfieldExample(this));
106 examples_.push_back(new ThrobberExample(this));
107 examples_.push_back(new WidgetExample(this));
108
109 for (std::vector<ExampleBase*>::const_iterator i(examples_.begin());
110 i != examples_.end(); ++i)
111 AddExample(*i);
112
113 window->Show();
114 }
115
116 void ExamplesMain::SetStatus(const std::string& status) {
117 status_label_->SetText(UTF8ToUTF16(status));
118 }
119
120 void ExamplesMain::AddExample(ExampleBase* example) {
121 tabbed_pane_->AddTab(UTF8ToUTF16(example->example_title()),
122 example->example_view());
123 }
124
125 bool ExamplesMain::CanResize() const {
126 return true;
127 }
128
129 bool ExamplesMain::CanMaximize() const {
130 return true;
131 }
132
133 string16 ExamplesMain::GetWindowTitle() const {
134 return ASCIIToUTF16("Views Examples");
135 }
136
137 views::View* ExamplesMain::GetContentsView() {
138 return contents_;
139 }
140
141 void ExamplesMain::WindowClosing() {
142 MessageLoopForUI::current()->Quit();
143 }
144
145 views::Widget* ExamplesMain::GetWidget() {
146 return contents_->GetWidget();
147 }
148
149 const views::Widget* ExamplesMain::GetWidget() const {
150 return contents_->GetWidget();
151 }
152
153 } // namespace examples
154 19
155 int main(int argc, char** argv) { 20 int main(int argc, char** argv) {
156 #if defined(OS_WIN) 21 #if defined(OS_WIN)
157 OleInitialize(NULL); 22 OleInitialize(NULL);
158 #elif defined(OS_LINUX) 23 #elif defined(OS_LINUX)
159 // Initializes gtk stuff. 24 // Initializes gtk stuff.
160 g_type_init(); 25 g_type_init();
161 gtk_init(&argc, &argv); 26 gtk_init(&argc, &argv);
162 #endif 27 #endif
163 CommandLine::Init(argc, argv); 28 CommandLine::Init(argc, argv);
(...skipping 10 matching lines...) Expand all
174 39
175 MessageLoop main_message_loop(MessageLoop::TYPE_UI); 40 MessageLoop main_message_loop(MessageLoop::TYPE_UI);
176 41
177 views::TestViewsDelegate delegate; 42 views::TestViewsDelegate delegate;
178 43
179 // We do not use this header: chrome/common/chrome_switches.h 44 // We do not use this header: chrome/common/chrome_switches.h
180 // because that would create a bad dependency back on Chrome. 45 // because that would create a bad dependency back on Chrome.
181 views::Widget::SetPureViews( 46 views::Widget::SetPureViews(
182 CommandLine::ForCurrentProcess()->HasSwitch("use-pure-views")); 47 CommandLine::ForCurrentProcess()->HasSwitch("use-pure-views"));
183 48
184 examples::ExamplesMain main; 49 views::examples::ShowExamplesWindow(true);
185 main.Init();
186 50
187 views::AcceleratorHandler accelerator_handler; 51 views::AcceleratorHandler accelerator_handler;
188 MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler); 52 MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler);
189 53
190 #if defined(OS_WIN) 54 #if defined(OS_WIN)
191 OleUninitialize(); 55 OleUninitialize();
192 #endif 56 #endif
193 return 0; 57 return 0;
194 } 58 }
OLDNEW
« no previous file with comments | « ui/views/examples/example_combobox_model.cc ('k') | ui/views/examples/examples_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698