Chromium Code Reviews| Index: chrome/browser/ui/views/translate/translate_bubble_view.h |
| diff --git a/chrome/browser/ui/views/translate/translate_bubble_view.h b/chrome/browser/ui/views/translate/translate_bubble_view.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5b3f00442e43151b42a3e13a117b0ecd74baa50f |
| --- /dev/null |
| +++ b/chrome/browser/ui/views/translate/translate_bubble_view.h |
| @@ -0,0 +1,122 @@ |
| +// Copyright 2013 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_VIEWS_TRANSLATE_TRANSLATE_BUBBLE_VIEW_H_ |
| +#define CHROME_BROWSER_UI_VIEWS_TRANSLATE_TRANSLATE_BUBBLE_VIEW_H_ |
| + |
| +#include <string> |
| + |
| +#include "base/basictypes.h" |
| +#include "chrome/browser/translate/translate_ui_delegate.h" |
| +#include "chrome/browser/ui/translate/language_combobox_model.h" |
| +#include "chrome/browser/ui/translate/translate_bubble.h" |
| +#include "ui/views/bubble/bubble_delegate.h" |
| +#include "ui/views/controls/button/button.h" |
| +#include "ui/views/controls/combobox/combobox_listener.h" |
| +#include "ui/views/controls/link_listener.h" |
| + |
| +class PrefService; |
| + |
| +namespace content { |
| +class WebContents; |
| +} |
| + |
| +namespace views { |
| +class Checkbox; |
| +class GridLayout; |
| +class LabelButton; |
| +class Link; |
| +class View; |
| +} |
| + |
| +class TranslateBubbleView : public views::BubbleDelegateView, |
| + public views::ButtonListener, |
| + public views::ComboboxListener, |
| + public views::LinkListener { |
| + public: |
| + // Shows the Translate bubble. |
| + static void ShowBubble(views::View* anchor_view, |
| + content::WebContents* web_contents, |
| + TranslateBubble::Type type); |
| + |
| + // If true, the Translate bubble is being shown. |
| + static bool IsShowing(); |
| + |
| + virtual ~TranslateBubbleView(); |
| + |
| + private: |
| + TranslateBubbleView(views::View* anchor_view, |
| + content::WebContents* web_contents, |
| + TranslateBubble::Type type, |
| + const std::string& original_language, |
| + const std::string& target_language); |
| + |
| + // views::BubbleDelegateView method. |
| + virtual void Init() OVERRIDE; |
| + virtual void ButtonPressed(views::Button* sender, |
| + const ui::Event& event) OVERRIDE; |
| + |
| + // views::WidgetDelegate method. |
| + virtual void WindowClosing() OVERRIDE; |
| + |
| + // views::View method. |
| + virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) OVERRIDE; |
| + virtual gfx::Size GetPreferredSize() OVERRIDE; |
| + |
| + // views::CombboxListener method |
| + virtual void OnSelectedIndexChanged(views::Combobox* combobox) OVERRIDE; |
| + |
| + // views::LinkListener method |
| + virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE; |
| + |
| + // Handles the event when the user presses a button. |
| + void HandleButtonPressed(int sender_id); |
| + |
| + // Switches the view according to |type|. |
| + void SwitchView(TranslateBubble::Type type); |
| + |
| + // Updates the visibilities of child views according to the current |
| + // |view_type_|. Contrary to SwitchView, this doesn't change anything but |
| + // the visibilities. |
| + void UpdateChildVisibilities(); |
| + |
| + // Create the 'before translate' view. Caller takes ownership of the returned |
|
Takashi Toyoshima
2013/10/08 14:54:09
Creates
ditto on following a series of 'Create'
hajimehoshi
2013/10/10 11:07:10
Done.
|
| + // view. |
| + views::View* CreateViewBeforeTranslate(); |
| + |
| + // Create the 'translating' view. Caller takes ownership of the returned view. |
| + views::View* CreateViewTranslating(); |
| + |
| + // Create the 'after translate' view. Caller takes ownership of the returned |
| + // view. |
| + views::View* CreateViewAfterTranslate(); |
| + |
| + // Create the 'error' view. Caller takes ownership of the returned view. |
| + views::View* CreateViewError(); |
| + |
| + // Create the 'advanced' view. Caller takes ownership of the returned view. |
| + views::View* CreateViewAdvanced(); |
| + |
| + // Updates the advanced view. |
| + void UpdateAdvancedView(); |
| + |
| + private: |
| + static TranslateBubbleView* translate_bubble_view_; |
| + |
| + scoped_ptr<LanguageComboboxModel> source_language_combobox_model_; |
| + scoped_ptr<LanguageComboboxModel> target_language_combobox_model_; |
| + |
| + views::Combobox* source_language_combobox_; |
| + views::Combobox* target_language_combobox_; |
| + views::Checkbox* always_translate_checkbox_; |
| + |
| + TranslateUIDelegate ui_delegate_; |
| + |
| + content::WebContents* web_contents_; |
| + TranslateBubble::Type view_type_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(TranslateBubbleView); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_VIEWS_TRANSLATE_TRANSLATE_BUBBLE_VIEW_H_ |