Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ui / views / examples / combobox_example.cc
blobed07379b605fcaa7eb70ad32bd1cff2972cecb15
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
3 // found in the LICENSE file.
5 #include "ui/views/examples/combobox_example.h"
7 #include "base/strings/stringprintf.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "ui/views/controls/combobox/combobox.h"
10 #include "ui/views/layout/fill_layout.h"
12 namespace views {
13 namespace examples {
15 ComboboxModelExample::ComboboxModelExample() {
18 ComboboxModelExample::~ComboboxModelExample() {
21 int ComboboxModelExample::GetItemCount() const {
22 return 10;
25 base::string16 ComboboxModelExample::GetItemAt(int index) {
26 return base::UTF8ToUTF16(base::StringPrintf("Item %d", index));
29 ComboboxExample::ComboboxExample() : ExampleBase("Combo Box"), combobox_(NULL) {
32 ComboboxExample::~ComboboxExample() {
33 // Delete |combobox_| first as it references |combobox_model_|.
34 delete combobox_;
35 combobox_ = NULL;
38 void ComboboxExample::CreateExampleView(View* container) {
39 combobox_ = new Combobox(&combobox_model_);
40 combobox_->set_listener(this);
41 combobox_->SetSelectedIndex(3);
43 container->SetLayoutManager(new FillLayout);
44 container->AddChildView(combobox_);
47 void ComboboxExample::OnPerformAction(Combobox* combobox) {
48 DCHECK_EQ(combobox_, combobox);
49 PrintStatus("Selected: %s", base::UTF16ToUTF8(combobox_model_.GetItemAt(
50 combobox->selected_index())).c_str());
53 } // namespace examples
54 } // namespace views