blob: 05eb360f5de509e151eb6b406ef683115ee87041 [file] [log] [blame]
[email protected]0cf64142013-10-19 13:52:391// Copyright 2013 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.
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:
dcheng5dd5ff62014-10-21 12:42:3830 int GetItemCount() const override;
Jan Wilken Dörrie3f97e292021-03-11 18:07:1431 std::u16string GetItemAt(int index) const override;
dcheng5dd5ff62014-10-21 12:42:3832 int 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_