OLD | NEW |
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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_BACK_FORWARD_MENU_MODEL_VIEWS_H_ | 5 #ifndef CHROME_BROWSER_BACK_FORWARD_MENU_MODEL_VIEWS_H_ |
6 #define CHROME_BROWSER_BACK_FORWARD_MENU_MODEL_VIEWS_H_ | 6 #define CHROME_BROWSER_BACK_FORWARD_MENU_MODEL_VIEWS_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 | 9 |
10 #include "chrome/browser/back_forward_menu_model.h" | 10 #include "chrome/browser/back_forward_menu_model.h" |
11 #include "views/controls/menu/menu.h" | 11 #include "views/controls/menu/menu_2.h" |
12 | 12 |
13 class SkBitmap; | 13 class SkBitmap; |
14 | 14 |
| 15 namespace views { |
| 16 class Widget; |
| 17 } |
| 18 |
15 class BackForwardMenuModelViews : public BackForwardMenuModel, | 19 class BackForwardMenuModelViews : public BackForwardMenuModel, |
16 public views::Menu::Delegate { | 20 public views::Menu2Model { |
17 public: | 21 public: |
18 BackForwardMenuModelViews(Browser* browser, ModelType model_type); | 22 // Construct a BackForwardMenuModel. |frame| is used to locate the accelerator |
| 23 // for the history item. |
| 24 BackForwardMenuModelViews(Browser* browser, |
| 25 ModelType model_type, |
| 26 views::Widget* frame); |
19 | 27 |
20 // Menu::Delegate | 28 // Overridden from views::Menu2Model: |
21 virtual std::wstring GetLabel(int menu_id) const; | 29 virtual bool HasIcons() const; |
22 virtual const SkBitmap& GetIcon(int menu_id) const; | 30 virtual int GetItemCount() const; |
23 virtual bool SupportsCommand(int menu_id) const; | 31 virtual ItemType GetTypeAt(int index) const; |
24 virtual bool IsCommandEnabled(int menu_id) const; | 32 virtual int GetCommandIdAt(int index) const; |
25 virtual bool IsItemSeparator(int menu_id) const; | 33 virtual std::wstring GetLabelAt(int index) const; |
26 virtual bool HasIcon(int menu_id) const; | 34 virtual bool IsLabelDynamicAt(int index) const; |
27 virtual void ExecuteCommand(int menu_id); | 35 virtual bool GetAcceleratorAt(int index, |
| 36 views::Accelerator* accelerator) const; |
| 37 virtual bool IsItemCheckedAt(int index) const; |
| 38 virtual int GetGroupIdAt(int index) const; |
| 39 virtual bool GetIconAt(int index, SkBitmap* icon) const; |
| 40 virtual bool IsEnabledAt(int index) const; |
| 41 virtual Menu2Model* GetSubmenuModelAt(int index) const; |
| 42 virtual void HighlightChangedTo(int index); |
| 43 virtual void ActivatedAt(int index); |
28 virtual void MenuWillShow(); | 44 virtual void MenuWillShow(); |
29 virtual int GetItemCount() const; | |
30 | 45 |
31 private: | 46 private: |
| 47 // The frame we ask about accelerator info. |
| 48 views::Widget* frame_; |
| 49 |
32 DISALLOW_COPY_AND_ASSIGN(BackForwardMenuModelViews); | 50 DISALLOW_COPY_AND_ASSIGN(BackForwardMenuModelViews); |
33 }; | 51 }; |
34 | 52 |
35 #endif // CHROME_BROWSER_BACK_FORWARD_MENU_MODEL_VIEWS_H_ | 53 #endif // CHROME_BROWSER_BACK_FORWARD_MENU_MODEL_VIEWS_H_ |
OLD | NEW |