| // Copyright (c) 2012 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 "ui/base/models/combobox_model.h" |
| |
| #include "ui/base/models/combobox_model_observer.h" |
| #include "ui/base/models/image_model.h" |
| |
| namespace ui { |
| |
| ComboboxModel::ComboboxModel() = default; |
| |
| ComboboxModel::~ComboboxModel() { |
| for (auto& observer : observers_) |
| observer.OnComboboxModelDestroying(this); |
| } |
| |
| std::u16string ComboboxModel::GetDropDownTextAt(size_t index) const { |
| return GetItemAt(index); |
| } |
| |
| std::u16string ComboboxModel::GetDropDownSecondaryTextAt(size_t index) const { |
| return std::u16string(); |
| } |
| |
| ImageModel ComboboxModel::GetIconAt(size_t index) const { |
| return ui::ImageModel(); |
| } |
| |
| ImageModel ComboboxModel::GetDropDownIconAt(size_t index) const { |
| return GetIconAt(index); |
| } |
| |
| bool ComboboxModel::IsItemSeparatorAt(size_t index) const { |
| return false; |
| } |
| |
| absl::optional<size_t> ComboboxModel::GetDefaultIndex() const { |
| return size_t{0}; |
| } |
| |
| bool ComboboxModel::IsItemEnabledAt(size_t index) const { |
| return true; |
| } |
| |
| void ComboboxModel::AddObserver(ComboboxModelObserver* observer) { |
| observers_.AddObserver(observer); |
| } |
| |
| void ComboboxModel::RemoveObserver(ComboboxModelObserver* observer) { |
| observers_.RemoveObserver(observer); |
| } |
| |
| } // namespace ui |