OLD | NEW |
1 // Copyright (c) 2012 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/examples_window.h" | 5 #include "ui/views/examples/examples_window.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
| 9 #include <utility> |
9 | 10 |
10 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
11 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
12 #include "ui/base/models/combobox_model.h" | 13 #include "ui/base/models/combobox_model.h" |
13 #include "ui/base/ui_base_paths.h" | 14 #include "ui/base/ui_base_paths.h" |
14 #include "ui/views/background.h" | 15 #include "ui/views/background.h" |
15 #include "ui/views/controls/combobox/combobox.h" | 16 #include "ui/views/controls/combobox/combobox.h" |
16 #include "ui/views/controls/label.h" | 17 #include "ui/views/controls/label.h" |
17 #include "ui/views/examples/bubble_example.h" | 18 #include "ui/views/examples/bubble_example.h" |
18 #include "ui/views/examples/button_example.h" | 19 #include "ui/views/examples/button_example.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 examples->push_back(new SingleSplitViewExample); | 69 examples->push_back(new SingleSplitViewExample); |
69 examples->push_back(new SliderExample); | 70 examples->push_back(new SliderExample); |
70 examples->push_back(new TabbedPaneExample); | 71 examples->push_back(new TabbedPaneExample); |
71 examples->push_back(new TableExample); | 72 examples->push_back(new TableExample); |
72 examples->push_back(new TextExample); | 73 examples->push_back(new TextExample); |
73 examples->push_back(new TextfieldExample); | 74 examples->push_back(new TextfieldExample); |
74 examples->push_back(new ThrobberExample); | 75 examples->push_back(new ThrobberExample); |
75 examples->push_back(new TreeViewExample); | 76 examples->push_back(new TreeViewExample); |
76 examples->push_back(new VectorExample); | 77 examples->push_back(new VectorExample); |
77 examples->push_back(new WidgetExample); | 78 examples->push_back(new WidgetExample); |
78 return examples.Pass(); | 79 return examples; |
79 } | 80 } |
80 | 81 |
81 struct ExampleTitleCompare { | 82 struct ExampleTitleCompare { |
82 bool operator() (ExampleBase* a, ExampleBase* b) { | 83 bool operator() (ExampleBase* a, ExampleBase* b) { |
83 return a->example_title() < b->example_title(); | 84 return a->example_title() < b->example_title(); |
84 } | 85 } |
85 }; | 86 }; |
86 | 87 |
87 ScopedExamples GetExamplesToShow(ScopedExamples extra) { | 88 ScopedExamples GetExamplesToShow(ScopedExamples extra) { |
88 ScopedExamples examples(CreateExamples()); | 89 ScopedExamples examples(CreateExamples()); |
89 if (extra.get()) { | 90 if (extra.get()) { |
90 examples->insert(examples->end(), extra->begin(), extra->end()); | 91 examples->insert(examples->end(), extra->begin(), extra->end()); |
91 extra->weak_clear(); | 92 extra->weak_clear(); |
92 } | 93 } |
93 std::sort(examples->begin(), examples->end(), ExampleTitleCompare()); | 94 std::sort(examples->begin(), examples->end(), ExampleTitleCompare()); |
94 return examples.Pass(); | 95 return examples; |
95 } | 96 } |
96 | 97 |
97 } // namespace | 98 } // namespace |
98 | 99 |
99 // Model for the examples that are being added via AddExample(). | 100 // Model for the examples that are being added via AddExample(). |
100 class ComboboxModelExampleList : public ui::ComboboxModel { | 101 class ComboboxModelExampleList : public ui::ComboboxModel { |
101 public: | 102 public: |
102 ComboboxModelExampleList() {} | 103 ComboboxModelExampleList() {} |
103 ~ComboboxModelExampleList() override {} | 104 ~ComboboxModelExampleList() override {} |
104 | 105 |
(...skipping 20 matching lines...) Expand all Loading... |
125 class ExamplesWindowContents : public WidgetDelegateView, | 126 class ExamplesWindowContents : public WidgetDelegateView, |
126 public ComboboxListener { | 127 public ComboboxListener { |
127 public: | 128 public: |
128 ExamplesWindowContents(Operation operation, ScopedExamples examples) | 129 ExamplesWindowContents(Operation operation, ScopedExamples examples) |
129 : combobox_(new Combobox(&combobox_model_)), | 130 : combobox_(new Combobox(&combobox_model_)), |
130 example_shown_(new View), | 131 example_shown_(new View), |
131 status_label_(new Label), | 132 status_label_(new Label), |
132 operation_(operation) { | 133 operation_(operation) { |
133 instance_ = this; | 134 instance_ = this; |
134 combobox_->set_listener(this); | 135 combobox_->set_listener(this); |
135 combobox_model_.SetExamples(examples.Pass()); | 136 combobox_model_.SetExamples(std::move(examples)); |
136 combobox_->ModelChanged(); | 137 combobox_->ModelChanged(); |
137 | 138 |
138 set_background(Background::CreateStandardPanelBackground()); | 139 set_background(Background::CreateStandardPanelBackground()); |
139 GridLayout* layout = new GridLayout(this); | 140 GridLayout* layout = new GridLayout(this); |
140 SetLayoutManager(layout); | 141 SetLayoutManager(layout); |
141 ColumnSet* column_set = layout->AddColumnSet(0); | 142 ColumnSet* column_set = layout->AddColumnSet(0); |
142 column_set->AddPaddingColumn(0, 5); | 143 column_set->AddPaddingColumn(0, 5); |
143 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, | 144 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, |
144 GridLayout::USE_PREF, 0, 0); | 145 GridLayout::USE_PREF, 0, 0); |
145 column_set->AddPaddingColumn(0, 5); | 146 column_set->AddPaddingColumn(0, 5); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 | 213 |
213 // static | 214 // static |
214 ExamplesWindowContents* ExamplesWindowContents::instance_ = NULL; | 215 ExamplesWindowContents* ExamplesWindowContents::instance_ = NULL; |
215 | 216 |
216 void ShowExamplesWindow(Operation operation, | 217 void ShowExamplesWindow(Operation operation, |
217 gfx::NativeWindow window_context, | 218 gfx::NativeWindow window_context, |
218 ScopedExamples extra_examples) { | 219 ScopedExamples extra_examples) { |
219 if (ExamplesWindowContents::instance()) { | 220 if (ExamplesWindowContents::instance()) { |
220 ExamplesWindowContents::instance()->GetWidget()->Activate(); | 221 ExamplesWindowContents::instance()->GetWidget()->Activate(); |
221 } else { | 222 } else { |
222 ScopedExamples examples(GetExamplesToShow(extra_examples.Pass())); | 223 ScopedExamples examples(GetExamplesToShow(std::move(extra_examples))); |
223 Widget* widget = new Widget; | 224 Widget* widget = new Widget; |
224 Widget::InitParams params; | 225 Widget::InitParams params; |
225 params.delegate = new ExamplesWindowContents(operation, examples.Pass()); | 226 params.delegate = |
| 227 new ExamplesWindowContents(operation, std::move(examples)); |
226 params.context = window_context; | 228 params.context = window_context; |
227 widget->Init(params); | 229 widget->Init(params); |
228 widget->Show(); | 230 widget->Show(); |
229 } | 231 } |
230 } | 232 } |
231 | 233 |
232 void LogStatus(const std::string& string) { | 234 void LogStatus(const std::string& string) { |
233 ExamplesWindowContents::instance()->SetStatus(string); | 235 ExamplesWindowContents::instance()->SetStatus(string); |
234 } | 236 } |
235 | 237 |
236 } // namespace examples | 238 } // namespace examples |
237 } // namespace views | 239 } // namespace views |
OLD | NEW |