OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_APP_LIST_VIEWS_APP_LIST_MENU_VIEWS_H_ | 5 #ifndef UI_APP_LIST_VIEWS_APP_LIST_MENU_VIEWS_H_ |
6 #define UI_APP_LIST_VIEWS_APP_LIST_MENU_VIEWS_H_ | 6 #define UI_APP_LIST_VIEWS_APP_LIST_MENU_VIEWS_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "ui/app_list/app_list_menu.h" | 9 #include "ui/app_list/app_list_menu.h" |
10 #include "ui/views/controls/menu/menu_model_adapter.h" | 10 #include "ui/views/controls/menu/menu_model_adapter.h" |
11 #include "ui/views/controls/menu/menu_runner.h" | 11 #include "ui/views/controls/menu/menu_runner.h" |
12 | 12 |
13 namespace gfx { | 13 namespace gfx { |
14 class Point; | 14 class Point; |
15 } | 15 } |
16 | 16 |
17 namespace views { | 17 namespace views { |
18 class MenuButton; | 18 class MenuButton; |
19 } | 19 } |
20 | 20 |
21 namespace app_list { | 21 namespace app_list { |
22 | 22 |
23 class AppListModel; | |
24 | |
25 // Views implementation of the app list menu. | 23 // Views implementation of the app list menu. |
26 // TODO(benwells): We should consider moving this into Chrome. | 24 // TODO(benwells): We should consider moving this into Chrome. |
27 class AppListMenuViews : public AppListMenu { | 25 class AppListMenuViews : public AppListMenu { |
28 public: | 26 public: |
29 AppListMenuViews(AppListViewDelegate* delegate, | 27 explicit AppListMenuViews(AppListViewDelegate* delegate); |
30 AppListModel* model); | |
31 virtual ~AppListMenuViews(); | 28 virtual ~AppListMenuViews(); |
32 | 29 |
33 void RunMenuAt(views::MenuButton* button, const gfx::Point& point); | 30 void RunMenuAt(views::MenuButton* button, const gfx::Point& point); |
34 void Cancel(); | 31 void Cancel(); |
35 | 32 |
36 private: | 33 private: |
37 // The context menu itself and its contents. | 34 // The context menu itself and its contents. |
38 scoped_ptr<views::MenuModelAdapter> menu_delegate_; | 35 scoped_ptr<views::MenuModelAdapter> menu_delegate_; |
39 views::MenuItemView* menu_; // Owned by menu_runner_. | 36 views::MenuItemView* menu_; // Owned by menu_runner_. |
40 scoped_ptr<views::MenuRunner> menu_runner_; | 37 scoped_ptr<views::MenuRunner> menu_runner_; |
41 | 38 |
42 DISALLOW_COPY_AND_ASSIGN(AppListMenuViews); | 39 DISALLOW_COPY_AND_ASSIGN(AppListMenuViews); |
43 }; | 40 }; |
44 | 41 |
45 } // namespace app_list | 42 } // namespace app_list |
46 | 43 |
47 #endif // UI_APP_LIST_VIEWS_APP_LIST_MENU_VIEWS_H_ | 44 #endif // UI_APP_LIST_VIEWS_APP_LIST_MENU_VIEWS_H_ |
OLD | NEW |