blob: cd9482807b412e8f903e2dcd4b8c9a86eb2be8b9 [file] [log] [blame]
// Copyright (c) 2012 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 ASH_SHELL_CONTEXT_MENU_H_
#define ASH_SHELL_CONTEXT_MENU_H_
#include "base/memory/scoped_ptr.h"
#include "ui/base/models/simple_menu_model.h"
namespace gfx {
class Point;
class Size;
}
namespace views {
class MenuRunner;
class Widget;
}
namespace ash {
namespace internal {
class ShellContextMenu : public ui::SimpleMenuModel::Delegate {
public:
ShellContextMenu();
virtual ~ShellContextMenu();
// Shows the context menu when right click on background.
void ShowMenu(views::Widget* widget, const gfx::Point& location);
// ui::SimpleMenuModel::Delegate overrides:
virtual bool IsCommandIdChecked(int command_id) const OVERRIDE;
virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE;
virtual void ExecuteCommand(int command_id) OVERRIDE;
virtual bool GetAcceleratorForCommandId(
int command_id,
ui::Accelerator* accelerator) OVERRIDE;
private:
enum MenuItem {
MENU_CHANGE_WALLPAPER,
};
scoped_ptr<views::MenuRunner> menu_runner_;
DISALLOW_COPY_AND_ASSIGN(ShellContextMenu);
};
} // namespace internal
} // namespace ash
#endif // ASH_SHELL_CONTEXT_MENU_H_