| 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 |