Chromium Code Reviews| Index: chrome/browser/chromeos/status/network_menu.h |
| diff --git a/chrome/browser/chromeos/status/network_menu.h b/chrome/browser/chromeos/status/network_menu.h |
| index 62c1a8ed5a0d95c3b026adbef30ce817bb23492f..2514ec9664fcbcf739c00ed643b5341e50475df5 100644 |
| --- a/chrome/browser/chromeos/status/network_menu.h |
| +++ b/chrome/browser/chromeos/status/network_menu.h |
| @@ -13,6 +13,7 @@ |
| #include "third_party/skia/include/core/SkBitmap.h" |
| #include "ui/base/models/menu_model.h" |
| #include "ui/gfx/native_widget_types.h" |
| +#include "views/controls/menu/menu_delegate.h" |
| #include "views/controls/menu/view_menu_delegate.h" |
| namespace gfx { |
| @@ -20,14 +21,14 @@ class Canvas; |
| } |
| namespace views { |
| -class Menu2; |
| +class MenuItemView; |
| } |
| namespace chromeos { |
| class NetworkMenu; |
| -class NetworkMenuModel : public ui::MenuModel { |
| +class NetworkMenuModel : public views::MenuDelegate { |
|
stevenjb
2011/04/21 22:25:31
This should have come up in the CL where this was
rhashimoto
2011/04/21 22:49:58
Done.
|
| public: |
| struct NetworkInfo { |
| NetworkInfo() : |
| @@ -53,6 +54,13 @@ class NetworkMenuModel : public ui::MenuModel { |
| explicit NetworkMenuModel(NetworkMenu* owner) : owner_(owner) {} |
| virtual ~NetworkMenuModel() {} |
| + // views::MenuDelegate implementation ---------------------------------------- |
| + |
| + virtual const gfx::Font& GetLabelFont(int id) const OVERRIDE; |
| + virtual bool IsItemChecked(int id) const OVERRIDE; |
| + virtual bool IsCommandEnabled(int id) const OVERRIDE; |
| + virtual void ExecuteCommand(int id) OVERRIDE; |
| + |
| // Connect or reconnect to the network at |index|. |
| // If remember >= 0, set the favorite state of the network. |
| // Returns true if a connect occurred (e.g. menu should be closed). |
| @@ -65,28 +73,16 @@ class NetworkMenuModel : public ui::MenuModel { |
| virtual void InitMenuItems(bool is_browser_mode, |
| bool should_open_button_options) {} |
| - // ui::MenuModel implementation. |
| - virtual bool HasIcons() const { return true; } |
| - virtual int GetItemCount() const; |
| - virtual ui::MenuModel::ItemType GetTypeAt(int index) const; |
| - virtual int GetCommandIdAt(int index) const { return index; } |
| - virtual string16 GetLabelAt(int index) const; |
| - virtual bool IsItemDynamicAt(int index) const { return true; } |
| - virtual const gfx::Font* GetLabelFontAt(int index) const; |
| - virtual bool GetAcceleratorAt(int index, |
| - ui::Accelerator* accelerator) const { return false; } |
| - virtual bool IsItemCheckedAt(int index) const; |
| - virtual int GetGroupIdAt(int index) const { return 0; } |
| - virtual bool GetIconAt(int index, SkBitmap* icon); |
| - virtual ui::ButtonMenuItemModel* GetButtonMenuItemAt(int index) const { |
| - return NULL; |
| - } |
| - virtual bool IsEnabledAt(int index) const; |
| - virtual ui::MenuModel* GetSubmenuModelAt(int index) const; |
| - virtual void HighlightChangedTo(int index) {} |
| - virtual void ActivatedAt(int index); |
| - virtual void MenuWillShow() {} |
| - virtual void SetMenuModelDelegate(ui::MenuModelDelegate* delegate) {} |
| + // PopulateMenu() clears and reinstalls the menu items defined in this |
| + // instance by calling PopulateMenuItem() on each one. Subclasses with |
| + // submenus should override PopulateMenuItem(), deferring to the base |
| + // class implementation for non-submenu items and calling PopulateMenu() |
| + // for the submenu after adding it. |
| + virtual void PopulateMenu(views::MenuItemView* menu); |
| + virtual void PopulateMenuItem( |
| + views::MenuItemView* menu, |
| + int index, |
| + int command_id); |
| protected: |
| enum MenuItemFlags { |
| @@ -253,6 +249,7 @@ class NetworkMenu : public views::ViewMenuDelegate { |
| const SkBitmap* bottom_left_badge); |
| protected: |
| + virtual views::MenuButton* GetMenuButton() = 0; |
| virtual gfx::NativeWindow GetNativeWindow() const = 0; |
| virtual void OpenButtonOptions() = 0; |
| virtual bool ShouldOpenButtonOptions() const = 0; |
| @@ -289,7 +286,7 @@ class NetworkMenu : public views::ViewMenuDelegate { |
| static SkBitmap kAnimatingImagesBlack[]; |
| // The network menu. |
| - scoped_ptr<views::Menu2> network_menu_; |
| + scoped_ptr<views::MenuItemView> network_menu_; |
| scoped_ptr<NetworkMenuModel> main_menu_model_; |