OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_CONTEXT_MENU_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_CONTEXT_MENU_CONTROLLER_H_ |
6 #define CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_CONTEXT_MENU_CONTROLLER_H_ | 6 #define CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_CONTEXT_MENU_CONTROLLER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 class BookmarkContextMenuControllerDelegate { | 25 class BookmarkContextMenuControllerDelegate { |
26 public: | 26 public: |
27 virtual ~BookmarkContextMenuControllerDelegate() {} | 27 virtual ~BookmarkContextMenuControllerDelegate() {} |
28 | 28 |
29 // Closes the bookmark context menu. | 29 // Closes the bookmark context menu. |
30 virtual void CloseMenu() = 0; | 30 virtual void CloseMenu() = 0; |
31 | 31 |
32 // Sent before any command from the menu is executed. | 32 // Sent before any command from the menu is executed. |
33 virtual void WillExecuteCommand( | 33 virtual void WillExecuteCommand( |
34 int command_id, | 34 int command_id, |
35 const std::vector<const BookmarkNode*>& bookmarks) {} | 35 const std::vector<const bookmarks::BookmarkNode*>& bookmarks) {} |
36 | 36 |
37 // Sent after any command from the menu is executed. | 37 // Sent after any command from the menu is executed. |
38 virtual void DidExecuteCommand(int command_id) {} | 38 virtual void DidExecuteCommand(int command_id) {} |
39 }; | 39 }; |
40 | 40 |
41 // BookmarkContextMenuController creates and manages state for the context menu | 41 // BookmarkContextMenuController creates and manages state for the context menu |
42 // shown for any bookmark item. | 42 // shown for any bookmark item. |
43 class BookmarkContextMenuController | 43 class BookmarkContextMenuController |
44 : public bookmarks::BaseBookmarkModelObserver, | 44 : public bookmarks::BaseBookmarkModelObserver, |
45 public ui::SimpleMenuModel::Delegate { | 45 public ui::SimpleMenuModel::Delegate { |
46 public: | 46 public: |
47 // Creates the bookmark context menu. | 47 // Creates the bookmark context menu. |
48 // |browser| is used to open the bookmark manager and is NULL in tests. | 48 // |browser| is used to open the bookmark manager and is NULL in tests. |
49 // |profile| is used for opening urls as well as enabling 'open incognito'. | 49 // |profile| is used for opening urls as well as enabling 'open incognito'. |
50 // |navigator| is used if |browser| is null, and is provided for testing. | 50 // |navigator| is used if |browser| is null, and is provided for testing. |
51 // |parent| is the parent for newly created nodes if |selection| is empty. | 51 // |parent| is the parent for newly created nodes if |selection| is empty. |
52 // |selection| is the nodes the context menu operates on and may be empty. | 52 // |selection| is the nodes the context menu operates on and may be empty. |
53 BookmarkContextMenuController( | 53 BookmarkContextMenuController( |
54 gfx::NativeWindow parent_window, | 54 gfx::NativeWindow parent_window, |
55 BookmarkContextMenuControllerDelegate* delegate, | 55 BookmarkContextMenuControllerDelegate* delegate, |
56 Browser* browser, | 56 Browser* browser, |
57 Profile* profile, | 57 Profile* profile, |
58 content::PageNavigator* navigator, | 58 content::PageNavigator* navigator, |
59 const BookmarkNode* parent, | 59 const bookmarks::BookmarkNode* parent, |
60 const std::vector<const BookmarkNode*>& selection); | 60 const std::vector<const bookmarks::BookmarkNode*>& selection); |
61 ~BookmarkContextMenuController() override; | 61 ~BookmarkContextMenuController() override; |
62 | 62 |
63 ui::SimpleMenuModel* menu_model() { return menu_model_.get(); } | 63 ui::SimpleMenuModel* menu_model() { return menu_model_.get(); } |
64 | 64 |
65 // ui::SimpleMenuModel::Delegate implementation: | 65 // ui::SimpleMenuModel::Delegate implementation: |
66 bool IsCommandIdChecked(int command_id) const override; | 66 bool IsCommandIdChecked(int command_id) const override; |
67 bool IsCommandIdEnabled(int command_id) const override; | 67 bool IsCommandIdEnabled(int command_id) const override; |
68 bool IsCommandIdVisible(int command_id) const override; | 68 bool IsCommandIdVisible(int command_id) const override; |
69 bool GetAcceleratorForCommandId(int command_id, | 69 bool GetAcceleratorForCommandId(int command_id, |
70 ui::Accelerator* accelerator) override; | 70 ui::Accelerator* accelerator) override; |
(...skipping 17 matching lines...) Expand all Loading... |
88 | 88 |
89 // Overridden from bookmarks::BaseBookmarkModelObserver: | 89 // Overridden from bookmarks::BaseBookmarkModelObserver: |
90 // Any change to the model results in closing the menu. | 90 // Any change to the model results in closing the menu. |
91 void BookmarkModelChanged() override; | 91 void BookmarkModelChanged() override; |
92 | 92 |
93 gfx::NativeWindow parent_window_; | 93 gfx::NativeWindow parent_window_; |
94 BookmarkContextMenuControllerDelegate* delegate_; | 94 BookmarkContextMenuControllerDelegate* delegate_; |
95 Browser* browser_; | 95 Browser* browser_; |
96 Profile* profile_; | 96 Profile* profile_; |
97 content::PageNavigator* navigator_; | 97 content::PageNavigator* navigator_; |
98 const BookmarkNode* parent_; | 98 const bookmarks::BookmarkNode* parent_; |
99 std::vector<const BookmarkNode*> selection_; | 99 std::vector<const bookmarks::BookmarkNode*> selection_; |
100 bookmarks::BookmarkModel* model_; | 100 bookmarks::BookmarkModel* model_; |
101 scoped_ptr<ui::SimpleMenuModel> menu_model_; | 101 scoped_ptr<ui::SimpleMenuModel> menu_model_; |
102 | 102 |
103 DISALLOW_COPY_AND_ASSIGN(BookmarkContextMenuController); | 103 DISALLOW_COPY_AND_ASSIGN(BookmarkContextMenuController); |
104 }; | 104 }; |
105 | 105 |
106 #endif // CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_CONTEXT_MENU_CONTROLLER_H_ | 106 #endif // CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_CONTEXT_MENU_CONTROLLER_H_ |
OLD | NEW |