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"
15 ComboboxModelExample::ComboboxModelExample() {
18 ComboboxModelExample::~ComboboxModelExample() {
21 int ComboboxModelExample::GetItemCount() const {
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_|.
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