1 // Copyright 2014 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 COMPONENTS_TRANSLATE_CORE_BROWSER_OPTIONS_MENU_MODEL_H_
6 #define COMPONENTS_TRANSLATE_CORE_BROWSER_OPTIONS_MENU_MODEL_H_
8 #include "ui/base/models/simple_menu_model.h"
12 class TranslateInfoBarDelegate
;
14 // A menu model that builds the contents of the options menu in the translate
15 // infobar. This menu has only one level (no submenus).
16 class OptionsMenuModel
: public ui::SimpleMenuModel
,
17 public ui::SimpleMenuModel::Delegate
{
19 // Command IDs of the items in this menu; exposed for testing.
23 NEVER_TRANSLATE_LANGUAGE
,
28 explicit OptionsMenuModel(TranslateInfoBarDelegate
* translate_delegate
);
29 virtual ~OptionsMenuModel();
31 // ui::SimpleMenuModel::Delegate implementation:
32 virtual bool IsCommandIdChecked(int command_id
) const override
;
33 virtual bool IsCommandIdEnabled(int command_id
) const override
;
34 virtual bool GetAcceleratorForCommandId(
36 ui::Accelerator
* accelerator
) override
;
37 virtual void ExecuteCommand(int command_id
, int event_flags
) override
;
40 TranslateInfoBarDelegate
* translate_infobar_delegate_
;
42 DISALLOW_COPY_AND_ASSIGN(OptionsMenuModel
);
45 } // namespace translate
47 #endif // COMPONENTS_TRANSLATE_CORE_BROWSER_OPTIONS_MENU_MODEL_H_