blob: 00c6247e11253ea7eca7603099dd79e7d06e570c [file] [log] [blame]
// Copyright 2022 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.
#ifndef CHROME_BROWSER_UI_TRANSLATE_PARTIAL_TRANSLATE_BUBBLE_MODEL_IMPL_H_
#define CHROME_BROWSER_UI_TRANSLATE_PARTIAL_TRANSLATE_BUBBLE_MODEL_IMPL_H_
#include "chrome/browser/ui/translate/partial_translate_bubble_model.h"
class PartialTranslateBubbleModelImpl : public PartialTranslateBubbleModel {
public:
PartialTranslateBubbleModelImpl(
ViewState view_state,
std::unique_ptr<translate::TranslateUIDelegate> ui_delegate);
PartialTranslateBubbleModelImpl(const PartialTranslateBubbleModelImpl&) =
delete;
PartialTranslateBubbleModelImpl& operator=(
const PartialTranslateBubbleModelImpl&) = delete;
~PartialTranslateBubbleModelImpl() override;
// PartialTranslateBubbleModel methods:
ViewState GetViewState() const override;
void SetViewState(ViewState view_state) override;
void ShowError(translate::TranslateErrors::Type error_type) override;
int GetNumberOfSourceLanguages() const override;
int GetNumberOfTargetLanguages() const override;
std::u16string GetSourceLanguageNameAt(int index) const override;
std::u16string GetTargetLanguageNameAt(int index) const override;
int GetSourceLanguageIndex() const override;
void UpdateSourceLanguageIndex(int index) override;
int GetTargetLanguageIndex() const override;
void UpdateTargetLanguageIndex(int index) override;
void Translate() override;
void RevertTranslation() override;
bool IsCurrentSelectionTranslated() const override;
void TranslateFullPage(content::WebContents* web_contents) override;
private:
std::unique_ptr<translate::TranslateUIDelegate> ui_delegate_;
// The current view type.
ViewState current_view_state_;
};
#endif // CHROME_BROWSER_UI_TRANSLATE_PARTIAL_TRANSLATE_BUBBLE_MODEL_IMPL_H_