app_list_menu_views.cc revision 116680a4aac90f2aa7413d9095a592090648e557
1// Copyright 2013 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. 4 5#include "ui/app_list/views/app_list_menu_views.h" 6 7#include "grit/ui_resources.h" 8#include "ui/app_list/app_list_view_delegate.h" 9#include "ui/base/resource/resource_bundle.h" 10#include "ui/views/controls/button/menu_button.h" 11#include "ui/views/controls/image_view.h" 12#include "ui/views/controls/label.h" 13#include "ui/views/controls/menu/menu_config.h" 14#include "ui/views/controls/menu/menu_item_view.h" 15#include "ui/views/controls/menu/submenu_view.h" 16#include "ui/views/layout/grid_layout.h" 17 18using views::MenuItemView; 19 20namespace app_list { 21 22AppListMenuViews::AppListMenuViews(AppListViewDelegate* delegate) 23 : AppListMenu(delegate) { 24 menu_delegate_.reset(new views::MenuModelAdapter(menu_model())); 25 menu_ = new MenuItemView(menu_delegate_.get()); 26 menu_runner_.reset(new views::MenuRunner(menu_, 0)); 27 menu_delegate_->BuildMenu(menu_); 28} 29 30AppListMenuViews::~AppListMenuViews() {} 31 32void AppListMenuViews::RunMenuAt(views::MenuButton* button, 33 const gfx::Point& point) { 34 ignore_result(menu_runner_->RunMenuAt(button->GetWidget(), 35 button, 36 gfx::Rect(point, gfx::Size()), 37 views::MENU_ANCHOR_TOPRIGHT, 38 ui::MENU_SOURCE_NONE)); 39} 40 41void AppListMenuViews::Cancel() { 42 menu_runner_->Cancel(); 43} 44 45} // namespace app_list 46