blob: 5a4acf8f9ff8138f7661afc750d4c263963dc0d3 [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2013 The Chromium Authors
[email protected]0cf64142013-10-19 13:52:392// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Haohao Wanga35a46f2019-05-07 23:47:025#ifndef CHROME_BROWSER_UI_TRANSLATE_TARGET_LANGUAGE_COMBOBOX_MODEL_H_
6#define CHROME_BROWSER_UI_TRANSLATE_TARGET_LANGUAGE_COMBOBOX_MODEL_H_
[email protected]0cf64142013-10-19 13:52:397
dcheng9603ab92016-04-08 04:17:328#include <memory>
Jan Wilken Dörriead587c32021-03-11 14:09:279#include <string>
dcheng9603ab92016-04-08 04:17:3210
Keishi Hattori0e45c022021-11-27 09:25:5211#include "base/memory/raw_ptr.h"
[email protected]0cf64142013-10-19 13:52:3912#include "ui/base/models/combobox_model.h"
13
Anthony Cui32520aa2022-04-13 19:51:5514class TranslateLanguageListModel;
[email protected]0cf64142013-10-19 13:52:3915
16// The model for the combobox to select a language. This is used for Translate
17// user interface to select language.
Haohao Wanga35a46f2019-05-07 23:47:0218class TargetLanguageComboboxModel : public ui::ComboboxModel {
[email protected]0cf64142013-10-19 13:52:3919 public:
Anthony Cui32520aa2022-04-13 19:51:5520 TargetLanguageComboboxModel(int default_index,
21 TranslateLanguageListModel* model);
Peter Boström53c6c5952021-09-17 09:41:2622
23 TargetLanguageComboboxModel(const TargetLanguageComboboxModel&) = delete;
24 TargetLanguageComboboxModel& operator=(const TargetLanguageComboboxModel&) =
25 delete;
26
Haohao Wanga35a46f2019-05-07 23:47:0227 ~TargetLanguageComboboxModel() override;
[email protected]0cf64142013-10-19 13:52:3928
29 // Overridden from ui::ComboboxModel:
Peter Kastingc556641f2022-07-15 12:47:0830 size_t GetItemCount() const override;
31 std::u16string GetItemAt(size_t index) const override;
Mohamed Mansourbc071892023-12-07 04:08:0332 std::optional<size_t> GetDefaultIndex() const override;
[email protected]0cf64142013-10-19 13:52:3933
34 private:
35 const int default_index_;
Anthony Cui32520aa2022-04-13 19:51:5536 raw_ptr<TranslateLanguageListModel> model_;
[email protected]0cf64142013-10-19 13:52:3937};
38
Haohao Wanga35a46f2019-05-07 23:47:0239#endif // CHROME_BROWSER_UI_TRANSLATE_TARGET_LANGUAGE_COMBOBOX_MODEL_H_