Index: views/examples/combobox_example.cc |
diff --git a/views/examples/combobox_example.cc b/views/examples/combobox_example.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..16c84c7ba804bd95d8e297ade55dc12b4cc324b6 |
--- /dev/null |
+++ b/views/examples/combobox_example.cc |
@@ -0,0 +1,63 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "views/examples/combobox_example.h" |
+ |
+#include "base/stringprintf.h" |
+#include "base/utf_string_conversions.h" |
+#include "ui/base/models/combobox_model.h" |
+#include "views/fill_layout.h" |
+ |
+namespace { |
+ |
+// An sample combobox model that generates list of "Item <index>". |
+class ComboboxModelExample : public ui::ComboboxModel { |
+ public: |
+ ComboboxModelExample() {} |
+ virtual ~ComboboxModelExample() {} |
+ |
+ // Overridden from ui::ComboboxModel: |
+ virtual int GetItemCount() OVERRIDE { return 10; } |
+ |
+ // Overridden from ui::ComboboxModel: |
+ virtual string16 GetItemAt(int index) OVERRIDE { |
+ return WideToUTF16Hack(base::StringPrintf(L"Item %d", index)); |
+ } |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ComboboxModelExample); |
+}; |
+ |
+} // namespace |
+ |
+namespace examples { |
+ |
+ComboboxExample::ComboboxExample(ExamplesMain* main) : ExampleBase(main) { |
+} |
+ |
+ComboboxExample::~ComboboxExample() { |
+} |
+ |
+std::wstring ComboboxExample::GetExampleTitle() { |
+ return L"Combo Box"; |
+} |
+ |
+void ComboboxExample::CreateExampleView(views::View* container) { |
+ combobox_ = new views::Combobox(new ComboboxModelExample()); |
+ combobox_->set_listener(this); |
+ combobox_->SetSelectedItem(3); |
+ |
+ container->SetLayoutManager(new views::FillLayout); |
+ container->AddChildView(combobox_); |
+} |
+ |
+void ComboboxExample::ItemChanged(views::Combobox* combo_box, |
+ int prev_index, |
+ int new_index) { |
+ PrintStatus(L"Selected: index=%d, label=%ls", |
+ new_index, UTF16ToWideHack( |
+ combo_box->model()->GetItemAt(new_index)).c_str()); |
+} |
+ |
+} // namespace examples |