#ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_TRANSLATE_LANGUAGE_MENU_MODEL_H_
#define CHROME_BROWSER_UI_VIEWS_INFOBARS_TRANSLATE_LANGUAGE_MENU_MODEL_H_
#include "ui/base/models/simple_menu_model.h"
class TranslateInfoBarBase;
class TranslateInfoBarDelegate;
namespace views {
class MenuButton;
}
class TranslateLanguageMenuModel : public ui::SimpleMenuModel,
public ui::SimpleMenuModel::Delegate {
public:
enum LanguageType {
ORIGINAL,
TARGET
};
TranslateLanguageMenuModel(LanguageType language_type,
TranslateInfoBarDelegate* infobar_delegate,
TranslateInfoBarBase* infobar,
views::MenuButton* button,
bool translate_on_change);
virtual ~TranslateLanguageMenuModel();
virtual bool IsCommandIdChecked(int command_id) const OVERRIDE;
virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE;
virtual bool GetAcceleratorForCommandId(
int command_id,
ui::Accelerator* accelerator) OVERRIDE;
virtual void ExecuteCommand(int command_id, int event_flags) OVERRIDE;
private:
size_t GetLanguageIndex() const;
LanguageType language_type_;
TranslateInfoBarDelegate* infobar_delegate_;
TranslateInfoBarBase* infobar_;
views::MenuButton* button_;
const bool translate_on_change_;
DISALLOW_COPY_AND_ASSIGN(TranslateLanguageMenuModel);
};
#endif