1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_
6 #define CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_
8 #include "chrome/browser/translate/options_menu_model.h"
9 #include "chrome/browser/ui/views/infobars/translate_infobar_base.h"
10 #include "chrome/browser/ui/views/infobars/translate_language_menu_model.h"
11 #include "ui/views/controls/button/menu_button_listener.h"
13 class TranslateInfoBarDelegate;
18 class BeforeTranslateInfoBar : public TranslateInfoBarBase,
19 public views::MenuButtonListener {
21 BeforeTranslateInfoBar(InfoBarService* owner,
22 TranslateInfoBarDelegate* delegate);
25 virtual ~BeforeTranslateInfoBar();
27 // TranslateInfoBarBase:
28 virtual void Layout() OVERRIDE;
29 virtual void ButtonPressed(views::Button* sender,
30 const ui::Event& event) OVERRIDE;
31 virtual void ViewHierarchyChanged(
32 const ViewHierarchyChangedDetails& details) OVERRIDE;
33 virtual int ContentMinimumWidth() const OVERRIDE;
35 // views::MenuButtonListener:
36 virtual void OnMenuButtonClicked(views::View* source,
37 const gfx::Point& point) OVERRIDE;
39 // The text displayed in the infobar is something like:
40 // "The page is in <lang>. Would you like to translate it?"
41 // ...where <lang> is a combobox. So the text is split in 2 chunks, each
42 // displayed in one of the labels below.
43 views::Label* label_1_;
44 views::Label* label_2_;
46 views::MenuButton* language_menu_button_;
47 views::LabelButton* accept_button_;
48 views::LabelButton* deny_button_;
49 views::LabelButton* never_translate_button_;
50 views::LabelButton* always_translate_button_;
51 views::MenuButton* options_menu_button_;
53 scoped_ptr<TranslateLanguageMenuModel> language_menu_model_;
54 OptionsMenuModel options_menu_model_;
56 DISALLOW_COPY_AND_ASSIGN(BeforeTranslateInfoBar);
59 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_