diff options
author | pinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-04 17:50:26 +0000 |
---|---|---|
committer | pinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-04 17:50:26 +0000 |
commit | b284843ba6a1e90c12f91eaf796726433dc2537d (patch) | |
tree | 96edc5a4528e4d685c89544bfc13712e2984964a /chrome/browser/views | |
parent | e83ce1e3f2fcacb3d400287d78567d22a2a06cae (diff) | |
download | chromium_src-b284843ba6a1e90c12f91eaf796726433dc2537d.zip chromium_src-b284843ba6a1e90c12f91eaf796726433dc2537d.tar.gz chromium_src-b284843ba6a1e90c12f91eaf796726433dc2537d.tar.bz2 |
Refactor the menu model to live outside views/ so it can be shared
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/465005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33827 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/blocked_popup_container_view_views.cc | 10 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_editor_view.cc | 5 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_editor_view.h | 11 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_frame_gtk.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_frame_gtk.h | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_frame_win.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_frame_win.h | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 6 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.h | 10 | ||||
-rw-r--r-- | chrome/browser/views/notifications/balloon_view.cc | 7 | ||||
-rw-r--r-- | chrome/browser/views/notifications/balloon_view.h | 11 | ||||
-rw-r--r-- | chrome/browser/views/tab_contents/render_view_context_menu_win.cc | 12 | ||||
-rw-r--r-- | chrome/browser/views/tab_contents/render_view_context_menu_win.h | 18 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab.cc | 13 | ||||
-rw-r--r-- | chrome/browser/views/toolbar_view.cc | 19 | ||||
-rw-r--r-- | chrome/browser/views/toolbar_view.h | 33 |
16 files changed, 86 insertions, 77 deletions
diff --git a/chrome/browser/views/blocked_popup_container_view_views.cc b/chrome/browser/views/blocked_popup_container_view_views.cc index 4a47eb0..8dcff51 100644 --- a/chrome/browser/views/blocked_popup_container_view_views.cc +++ b/chrome/browser/views/blocked_popup_container_view_views.cc @@ -12,6 +12,7 @@ #include "app/gfx/canvas.h" #include "app/gfx/path.h" #include "app/l10n_util.h" +#include "app/menus/simple_menu_model.h" #include "app/resource_bundle.h" #include "app/slide_animation.h" #include "base/string_util.h" @@ -24,7 +25,6 @@ #include "views/controls/button/image_button.h" #include "views/controls/button/menu_button.h" #include "views/controls/menu/menu_2.h" -#include "views/controls/menu/simple_menu_model.h" #include "views/controls/scrollbar/native_scroll_bar.h" #include "views/screen.h" @@ -188,7 +188,7 @@ void BlockedPopupContainerViewWidget::OnSizeAllocate( // blocked. This view should only be used inside of BlockedPopupContainer. class BlockedPopupContainerInternalView : public views::View, public views::ButtonListener, - public views::SimpleMenuModel::Delegate { + public menus::SimpleMenuModel::Delegate { public: explicit BlockedPopupContainerInternalView( BlockedPopupContainerViewViews* container); @@ -217,7 +217,7 @@ class BlockedPopupContainerInternalView : public views::View, virtual bool IsCommandIdChecked(int id) const; virtual bool IsCommandIdEnabled(int id) const { return true; } virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { return false; } // Called after user clicks a menu item. @@ -234,7 +234,7 @@ class BlockedPopupContainerInternalView : public views::View, views::ImageButton* close_button_; // Model for the menu. - scoped_ptr<views::SimpleMenuModel> launch_menu_model_; + scoped_ptr<menus::SimpleMenuModel> launch_menu_model_; // Popup menu shown to user. scoped_ptr<views::Menu2> launch_menu_; @@ -362,7 +362,7 @@ void BlockedPopupContainerInternalView::ButtonPressed( if (sender != popup_count_label_) return; - launch_menu_model_.reset(new views::SimpleMenuModel(this)); + launch_menu_model_.reset(new menus::SimpleMenuModel(this)); // Set items 1 .. popup_count as individual popups. size_t popup_count = container_->model()->GetBlockedPopupCount(); diff --git a/chrome/browser/views/bookmark_editor_view.cc b/chrome/browser/views/bookmark_editor_view.cc index 8dc3906..8166a36 100644 --- a/chrome/browser/views/bookmark_editor_view.cc +++ b/chrome/browser/views/bookmark_editor_view.cc @@ -25,6 +25,7 @@ #include "views/grid_layout.h" #include "views/controls/button/native_button.h" #include "views/controls/label.h" +#include "views/controls/menu/menu_2.h" #include "views/standard_layout.h" #include "views/widget/widget.h" #include "views/window/window.h" @@ -203,7 +204,7 @@ bool BookmarkEditorView::IsCommandIdEnabled(int command_id) const { bool BookmarkEditorView::GetAcceleratorForCommandId( int command_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { return GetWidget()->GetAccelerator(command_id, accelerator); } @@ -245,7 +246,7 @@ void BookmarkEditorView::ShowContextMenu(View* source, (tree_model_->GetParent(tree_view_->GetSelectedNode()) == tree_model_->GetRoot()); if (!context_menu_contents_.get()) { - context_menu_contents_.reset(new views::SimpleMenuModel(this)); + context_menu_contents_.reset(new menus::SimpleMenuModel(this)); context_menu_contents_->AddItemWithStringId(IDS_EDIT, IDS_EDIT); context_menu_contents_->AddItemWithStringId( IDS_BOOMARK_EDITOR_NEW_FOLDER_MENU_ITEM, diff --git a/chrome/browser/views/bookmark_editor_view.h b/chrome/browser/views/bookmark_editor_view.h index f2d6498..3c358f7 100644 --- a/chrome/browser/views/bookmark_editor_view.h +++ b/chrome/browser/views/bookmark_editor_view.h @@ -7,11 +7,11 @@ #include <set> +#include "app/menus/simple_menu_model.h" #include "app/tree_node_model.h" #include "chrome/browser/bookmarks/bookmark_editor.h" #include "chrome/browser/bookmarks/bookmark_model_observer.h" #include "views/controls/button/button.h" -#include "views/controls/menu/simple_menu_model.h" #include "views/controls/textfield/textfield.h" #include "views/controls/tree/tree_view.h" #include "views/window/dialog_delegate.h" @@ -20,6 +20,7 @@ namespace views { class NativeButton; class Window; +class Menu2; } class BookmarkEditorViewTest; @@ -44,7 +45,7 @@ class BookmarkEditorView : public BookmarkEditor, public views::DialogDelegate, public views::Textfield::Controller, public views::ContextMenuController, - public views::SimpleMenuModel::Delegate, + public menus::SimpleMenuModel::Delegate, public BookmarkModelObserver { public: // Type of node in the tree. Public purely for testing. @@ -105,11 +106,11 @@ class BookmarkEditorView : public BookmarkEditor, // NativeButton. virtual void ButtonPressed(views::Button* sender, const views::Event& event); - // SimpleMenuModel::Delegate. + // menus::SimpleMenuModel::Delegate. virtual bool IsCommandIdChecked(int command_id) const; virtual bool IsCommandIdEnabled(int command_id) const; virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator); + menus::Accelerator* accelerator); virtual void ExecuteCommand(int command_id); // Creates a Window and adds the BookmarkEditorView to it. When the window is @@ -240,7 +241,7 @@ class BookmarkEditorView : public BookmarkEditor, const EditDetails details_; // The context menu. - scoped_ptr<views::SimpleMenuModel> context_menu_contents_; + scoped_ptr<menus::SimpleMenuModel> context_menu_contents_; scoped_ptr<views::Menu2> context_menu_; // Mode used to create nodes from. diff --git a/chrome/browser/views/frame/browser_frame_gtk.cc b/chrome/browser/views/frame/browser_frame_gtk.cc index 76628f7..53dc444 100644 --- a/chrome/browser/views/frame/browser_frame_gtk.cc +++ b/chrome/browser/views/frame/browser_frame_gtk.cc @@ -148,7 +148,7 @@ bool BrowserFrameGtk::IsMaximized() const { } bool BrowserFrameGtk::GetAccelerator(int cmd_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { return browser_view_->GetAccelerator(cmd_id, accelerator); } diff --git a/chrome/browser/views/frame/browser_frame_gtk.h b/chrome/browser/views/frame/browser_frame_gtk.h index ebcba31..76271d4 100644 --- a/chrome/browser/views/frame/browser_frame_gtk.h +++ b/chrome/browser/views/frame/browser_frame_gtk.h @@ -42,7 +42,7 @@ class BrowserFrameGtk : public BrowserFrame, protected: // Overridden from views::WidgetGtk: virtual views::RootView* CreateRootView(); - virtual bool GetAccelerator(int cmd_id, views::Accelerator* accelerator); + virtual bool GetAccelerator(int cmd_id, menus::Accelerator* accelerator); // Overriden from views::WindowGtk: virtual gboolean OnWindowStateEvent(GtkWidget* widget, diff --git a/chrome/browser/views/frame/browser_frame_win.cc b/chrome/browser/views/frame/browser_frame_win.cc index ab96d65..32eabb8 100644 --- a/chrome/browser/views/frame/browser_frame_win.cc +++ b/chrome/browser/views/frame/browser_frame_win.cc @@ -125,7 +125,7 @@ gfx::Insets BrowserFrameWin::GetClientAreaInsets() const { } bool BrowserFrameWin::GetAccelerator(int cmd_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { return browser_view_->GetAccelerator(cmd_id, accelerator); } diff --git a/chrome/browser/views/frame/browser_frame_win.h b/chrome/browser/views/frame/browser_frame_win.h index ab77090..94943e4 100644 --- a/chrome/browser/views/frame/browser_frame_win.h +++ b/chrome/browser/views/frame/browser_frame_win.h @@ -48,7 +48,7 @@ class BrowserFrameWin : public BrowserFrame, public views::WindowWin { protected: // Overridden from views::WindowWin: virtual gfx::Insets GetClientAreaInsets() const; - virtual bool GetAccelerator(int cmd_id, views::Accelerator* accelerator); + virtual bool GetAccelerator(int cmd_id, menus::Accelerator* accelerator); virtual void OnEndSession(BOOL ending, UINT logoff); virtual void OnEnterSizeMove(); virtual void OnExitSizeMove(); diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index d9d38d9..3b5dd71 100644 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -604,7 +604,7 @@ bool BrowserView::AcceleratorPressed(const views::Accelerator& accelerator) { return false; } -bool BrowserView::GetAccelerator(int cmd_id, views::Accelerator* accelerator) { +bool BrowserView::GetAccelerator(int cmd_id, menus::Accelerator* accelerator) { // The standard Ctrl-X, Ctrl-V and Ctrl-C are not defined as accelerators // anywhere so we need to check for them explicitly here. switch (cmd_id) { @@ -1358,7 +1358,7 @@ void BrowserView::TabStripEmpty() { } /////////////////////////////////////////////////////////////////////////////// -// BrowserView, views::SimpleMenuModel::Delegate implementation: +// BrowserView, menus::SimpleMenuModel::Delegate implementation: bool BrowserView::IsCommandIdChecked(int command_id) const { // TODO(beng): encoding menu. @@ -1373,7 +1373,7 @@ bool BrowserView::IsCommandIdEnabled(int command_id) const { } bool BrowserView::GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { // Let's let the ToolbarView own the canonical implementation of this method. return toolbar_->GetAcceleratorForCommandId(command_id, accelerator); } diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h index 4ec827e..8aced8f 100644 --- a/chrome/browser/views/frame/browser_view.h +++ b/chrome/browser/views/frame/browser_view.h @@ -10,6 +10,7 @@ #include <string> #include "app/gfx/native_widget_types.h" +#include "app/menus/simple_menu_model.h" #include "base/scoped_ptr.h" #include "base/timer.h" #include "build/build_config.h" @@ -18,7 +19,6 @@ #include "chrome/browser/tabs/tab_strip_model.h" #include "chrome/browser/views/frame/browser_frame.h" #include "chrome/browser/views/tabs/tab_strip.h" -#include "views/controls/menu/simple_menu_model.h" #include "views/window/client_view.h" #include "views/window/window_delegate.h" @@ -66,7 +66,7 @@ class BrowserView : public BrowserWindow, public BrowserWindowTesting, public NotificationObserver, public TabStripModelObserver, - public views::SimpleMenuModel::Delegate, + public menus::SimpleMenuModel::Delegate, public views::WindowDelegate, public views::ClientView { public: @@ -156,7 +156,7 @@ class BrowserView : public BrowserWindow, // command id. This can be used to provide menu item shortcut hints etc. // Returns true if an accelerator was found for the specified |cmd_id|, false // otherwise. - bool GetAccelerator(int cmd_id, views::Accelerator* accelerator); + bool GetAccelerator(int cmd_id, menus::Accelerator* accelerator); // Shows the next app-modal dialog box, if there is one to be shown, or moves // an existing showing one to the front. Returns true if one was shown or @@ -305,11 +305,11 @@ class BrowserView : public BrowserWindow, bool user_gesture); virtual void TabStripEmpty(); - // Overridden from views::SimpleMenuModel::Delegate: + // Overridden from menus::SimpleMenuModel::Delegate: virtual bool IsCommandIdChecked(int command_id) const; virtual bool IsCommandIdEnabled(int command_id) const; virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator); + menus::Accelerator* accelerator); virtual bool IsLabelForCommandIdDynamic(int command_id) const; virtual string16 GetLabelForCommandId(int command_id) const; virtual void ExecuteCommand(int command_id); diff --git a/chrome/browser/views/notifications/balloon_view.cc b/chrome/browser/views/notifications/balloon_view.cc index d0c2121..94bed33 100644 --- a/chrome/browser/views/notifications/balloon_view.cc +++ b/chrome/browser/views/notifications/balloon_view.cc @@ -27,6 +27,7 @@ #include "views/controls/button/button.h" #include "views/controls/button/text_button.h" #include "views/controls/label.h" +#include "views/controls/menu/menu_2.h" #include "views/controls/native/native_view_host.h" #include "views/painter.h" #include "views/widget/widget_win.h" @@ -312,7 +313,7 @@ void BalloonViewImpl::CreateOptionsMenu() { IDS_NOTIFICATION_BALLOON_REVOKE_MESSAGE, this->balloon_->notification().display_source()); - options_menu_contents_.reset(new views::SimpleMenuModel(this)); + options_menu_contents_.reset(new menus::SimpleMenuModel(this)); options_menu_contents_->AddItem(kRevokePermissionCommand, label_text); options_menu_menu_.reset(new views::Menu2(options_menu_contents_.get())); @@ -391,7 +392,7 @@ void BalloonViewImpl::Paint(gfx::Canvas* canvas) { View::Paint(canvas); } -// SimpleMenuModel::Delegate methods +// menus::SimpleMenuModel::Delegate methods bool BalloonViewImpl::IsCommandIdChecked(int /* command_id */) const { // Nothing in the menu is checked. return false; @@ -403,7 +404,7 @@ bool BalloonViewImpl::IsCommandIdEnabled(int /* command_id */) const { } bool BalloonViewImpl::GetAcceleratorForCommandId( - int /* command_id */, views::Accelerator* /* accelerator */) { + int /* command_id */, menus::Accelerator* /* accelerator */) { // Currently no accelerators. return false; } diff --git a/chrome/browser/views/notifications/balloon_view.h b/chrome/browser/views/notifications/balloon_view.h index 3f5c751..bc313ba 100644 --- a/chrome/browser/views/notifications/balloon_view.h +++ b/chrome/browser/views/notifications/balloon_view.h @@ -8,6 +8,7 @@ #define CHROME_BROWSER_VIEWS_NOTIFICATIONS_BALLOON_VIEW_H_ #include "app/gfx/path.h" +#include "app/menus/simple_menu_model.h" #include "app/slide_animation.h" #include "base/basictypes.h" #include "base/gfx/point.h" @@ -19,7 +20,6 @@ #include "chrome/common/notification_registrar.h" #include "chrome/common/notification_service.h" #include "views/controls/button/menu_button.h" -#include "views/controls/menu/simple_menu_model.h" #include "views/controls/menu/view_menu_delegate.h" #include "views/view.h" @@ -28,6 +28,7 @@ class ButtonListener; class ImagePainter; class TextButton; class WidgetWin; +class Menu2; } // namespace views class BalloonViewHost; @@ -40,7 +41,7 @@ class SlideAnimation; class BalloonViewImpl : public BalloonView, public views::View, public views::ViewMenuDelegate, - public views::SimpleMenuModel::Delegate, + public menus::SimpleMenuModel::Delegate, public NotificationObserver, public AnimationDelegate { public: @@ -64,11 +65,11 @@ class BalloonViewImpl : public BalloonView, // views::ViewMenuDelegate interface. void RunMenu(views::View* source, const gfx::Point& pt); - // views::SimpleMenuModel::Delegate interface. + // menus::SimpleMenuModel::Delegate interface. virtual bool IsCommandIdChecked(int command_id) const; virtual bool IsCommandIdEnabled(int command_id) const; virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator); + menus::Accelerator* accelerator); virtual void ExecuteCommand(int command_id); // NotificationObserver interface. @@ -148,7 +149,7 @@ class BalloonViewImpl : public BalloonView, gfx::Rect anim_frame_end_; // The options menu. - scoped_ptr<views::SimpleMenuModel> options_menu_contents_; + scoped_ptr<menus::SimpleMenuModel> options_menu_contents_; scoped_ptr<views::Menu2> options_menu_menu_; views::MenuButton* options_menu_button_; diff --git a/chrome/browser/views/tab_contents/render_view_context_menu_win.cc b/chrome/browser/views/tab_contents/render_view_context_menu_win.cc index a46174a..9159da2 100644 --- a/chrome/browser/views/tab_contents/render_view_context_menu_win.cc +++ b/chrome/browser/views/tab_contents/render_view_context_menu_win.cc @@ -9,6 +9,8 @@ #include "base/keyboard_codes.h" #include "chrome/browser/profile.h" #include "grit/generated_resources.h" +#include "views/accelerator.h" +#include "views/controls/menu/menu_2.h" //////////////////////////////////////////////////////////////////////////////// // RenderViewContextMenuWin, public: @@ -19,7 +21,7 @@ RenderViewContextMenuWin::RenderViewContextMenuWin( : RenderViewContextMenu(tab_contents, params), current_radio_group_id_(-1), sub_menu_contents_(NULL) { - menu_contents_.reset(new views::SimpleMenuModel(this)); + menu_contents_.reset(new menus::SimpleMenuModel(this)); } RenderViewContextMenuWin::~RenderViewContextMenuWin() { @@ -30,7 +32,7 @@ void RenderViewContextMenuWin::RunMenuAt(int x, int y) { } //////////////////////////////////////////////////////////////////////////////// -// RenderViewContextMenuWin, views::SimpleMenuModel::Delegate implementation: +// RenderViewContextMenuWin, menus::SimpleMenuModel::Delegate implementation: bool RenderViewContextMenuWin::IsCommandIdChecked(int command_id) const { return ItemIsChecked(command_id); @@ -42,7 +44,7 @@ bool RenderViewContextMenuWin::IsCommandIdEnabled(int command_id) const { bool RenderViewContextMenuWin::GetAcceleratorForCommandId( int command_id, - views::Accelerator* accel) { + menus::Accelerator* accel) { // There are no formally defined accelerators we can query so we assume // that Ctrl+C, Ctrl+V, Ctrl+X, Ctrl-A, etc do what they normally do. switch (command_id) { @@ -122,7 +124,7 @@ void RenderViewContextMenuWin::StartSubMenu(int id, const string16& label) { return; } current_radio_group_id_ = -1; - sub_menu_contents_ = new views::SimpleMenuModel(this); + sub_menu_contents_ = new menus::SimpleMenuModel(this); menu_contents_->AddSubMenu(label, sub_menu_contents_); submenu_models_.push_back(sub_menu_contents_); } @@ -136,6 +138,6 @@ void RenderViewContextMenuWin::FinishSubMenu() { //////////////////////////////////////////////////////////////////////////////// // RenderViewContextMenuWin, private: -views::SimpleMenuModel* RenderViewContextMenuWin::GetTargetModel() const { +menus::SimpleMenuModel* RenderViewContextMenuWin::GetTargetModel() const { return sub_menu_contents_ ? sub_menu_contents_ : menu_contents_.get(); } diff --git a/chrome/browser/views/tab_contents/render_view_context_menu_win.h b/chrome/browser/views/tab_contents/render_view_context_menu_win.h index 89560e3..e719469 100644 --- a/chrome/browser/views/tab_contents/render_view_context_menu_win.h +++ b/chrome/browser/views/tab_contents/render_view_context_menu_win.h @@ -5,14 +5,14 @@ #ifndef CHROME_BROWSER_VIEWS_TAB_CONTENTS_RENDER_VIEW_CONTEXT_MENU_WIN_H_ #define CHROME_BROWSER_VIEWS_TAB_CONTENTS_RENDER_VIEW_CONTEXT_MENU_WIN_H_ +#include "app/menus/simple_menu_model.h" #include "base/scoped_ptr.h" #include "base/scoped_vector.h" #include "chrome/browser/tab_contents/render_view_context_menu.h" -#include "views/accelerator.h" -#include "views/controls/menu/simple_menu_model.h" +#include "views/controls/menu/menu_2.h" class RenderViewContextMenuWin : public RenderViewContextMenu, - public views::SimpleMenuModel::Delegate { + public menus::SimpleMenuModel::Delegate { public: RenderViewContextMenuWin(TabContents* tab_contents, const ContextMenuParams& params); @@ -21,11 +21,11 @@ class RenderViewContextMenuWin : public RenderViewContextMenu, void RunMenuAt(int x, int y); - // Overridden from SimpleMenuModel::Delegate: + // Overridden from menus::SimpleMenuModel::Delegate: virtual bool IsCommandIdChecked(int command_id) const; virtual bool IsCommandIdEnabled(int command_id) const; virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator); + menus::Accelerator* accelerator); virtual void ExecuteCommand(int command_id); gfx::NativeMenu GetMenuHandle() const { @@ -46,19 +46,19 @@ class RenderViewContextMenuWin : public RenderViewContextMenu, private: // Gets the target model to append items to. This is either the main context // menu, or a submenu if we've descended into one. - views::SimpleMenuModel* GetTargetModel() const; + menus::SimpleMenuModel* GetTargetModel() const; // The current radio group for radio menu items. int current_radio_group_id_; // The context menu itself and its contents. - scoped_ptr<views::SimpleMenuModel> menu_contents_; + scoped_ptr<menus::SimpleMenuModel> menu_contents_; scoped_ptr<views::Menu2> menu_; // TODO(beng): This way of building submenus is kind of retarded, but it // hasn't hurt us yet. It's just a bit awkward. - views::SimpleMenuModel* sub_menu_contents_; + menus::SimpleMenuModel* sub_menu_contents_; // We own submenu models that we create, so we store them here. - ScopedVector<views::SimpleMenuModel> submenu_models_; + ScopedVector<menus::SimpleMenuModel> submenu_models_; }; #endif // CHROME_BROWSER_VIEWS_TAB_CONTENTS_RENDER_VIEW_CONTEXT_MENU_WIN_H_ diff --git a/chrome/browser/views/tabs/tab.cc b/chrome/browser/views/tabs/tab.cc index c51e240..7140ff0 100644 --- a/chrome/browser/views/tabs/tab.cc +++ b/chrome/browser/views/tabs/tab.cc @@ -8,6 +8,7 @@ #include "app/gfx/font.h" #include "app/gfx/path.h" #include "app/l10n_util.h" +#include "app/menus/simple_menu_model.h" #include "app/resource_bundle.h" #include "base/compiler_specific.h" #include "base/gfx/size.h" @@ -15,7 +16,7 @@ #include "chrome/browser/views/frame/browser_view.h" #include "chrome/browser/views/tabs/tab_strip.h" #include "grit/generated_resources.h" -#include "views/controls/menu/simple_menu_model.h" +#include "views/controls/menu/menu_2.h" #include "views/widget/tooltip_manager.h" #include "views/widget/widget.h" @@ -25,11 +26,11 @@ static const SkScalar kTabCapWidth = 15; static const SkScalar kTabTopCurveWidth = 4; static const SkScalar kTabBottomCurveWidth = 3; -class Tab::TabContextMenuContents : public views::SimpleMenuModel, - public views::SimpleMenuModel::Delegate { +class Tab::TabContextMenuContents : public menus::SimpleMenuModel, + public menus::SimpleMenuModel::Delegate { public: explicit TabContextMenuContents(Tab* tab) - : ALLOW_THIS_IN_INITIALIZER_LIST(SimpleMenuModel(this)), + : ALLOW_THIS_IN_INITIALIZER_LIST(menus::SimpleMenuModel(this)), tab_(tab), last_command_(TabStripModel::CommandFirst) { Build(); @@ -49,7 +50,7 @@ class Tab::TabContextMenuContents : public views::SimpleMenuModel, delegate->StopAllHighlighting(); } - // Overridden from views::SimpleMenuModel::Delegate: + // Overridden from menus::SimpleMenuModel::Delegate: virtual bool IsCommandIdChecked(int command_id) const { if (!tab_ || command_id != TabStripModel::CommandTogglePinned) return false; @@ -62,7 +63,7 @@ class Tab::TabContextMenuContents : public views::SimpleMenuModel, } virtual bool GetAcceleratorForCommandId( int command_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { return tab_->GetWidget()->GetAccelerator(command_id, accelerator); } virtual void CommandIdHighlighted(int command_id) { diff --git a/chrome/browser/views/toolbar_view.cc b/chrome/browser/views/toolbar_view.cc index f5e189d..86576ea 100644 --- a/chrome/browser/views/toolbar_view.cc +++ b/chrome/browser/views/toolbar_view.cc @@ -51,6 +51,7 @@ #include "views/background.h" #include "views/controls/button/button_dropdown.h" #include "views/controls/label.h" +#include "views/controls/menu/menu_2.h" #include "views/drag_utils.h" #include "views/window/non_client_view.h" #include "views/window/window.h" @@ -124,7 +125,7 @@ bool EncodingMenuModel::IsCommandIdEnabled(int command_id) const { bool EncodingMenuModel::GetAcceleratorForCommandId( int command_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { return false; } @@ -135,7 +136,7 @@ void EncodingMenuModel::ExecuteCommand(int command_id) { //////////////////////////////////////////////////////////////////////////////// // EncodingMenuModel -ZoomMenuModel::ZoomMenuModel(views::SimpleMenuModel::Delegate* delegate) +ZoomMenuModel::ZoomMenuModel(menus::SimpleMenuModel::Delegate* delegate) : SimpleMenuModel(delegate) { Build(); } @@ -229,7 +230,7 @@ bool ToolbarView::IsAccessibleViewTraversable(views::View* view) { //////////////////////////////////////////////////////////////////////////////// // ToolbarView, Menu::BaseControllerDelegate overrides: -bool ToolbarView::GetAcceleratorInfo(int id, views::Accelerator* accel) { +bool ToolbarView::GetAcceleratorInfo(int id, menus::Accelerator* accel) { return GetWidget()->GetAccelerator(id, accel); } @@ -383,7 +384,7 @@ void ToolbarView::Observe(NotificationType type, } //////////////////////////////////////////////////////////////////////////////// -// ToolbarView, views::SimpleMenuModel::Delegate implementation: +// ToolbarView, menus::SimpleMenuModel::Delegate implementation: bool ToolbarView::IsCommandIdChecked(int command_id) const { if (command_id == IDC_SHOW_BOOKMARK_BAR) @@ -396,7 +397,7 @@ bool ToolbarView::IsCommandIdEnabled(int command_id) const { } bool ToolbarView::GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator) { + menus::Accelerator* accelerator) { // The standard Ctrl-X, Ctrl-V and Ctrl-C are not defined as accelerators // anywhere so we need to check for them explicitly here. // TODO(cpu) Bug 1109102. Query WebKit land for the actual bindings. @@ -847,7 +848,7 @@ void ToolbarView::CreatePageMenu() { if (page_menu_contents_.get()) return; - page_menu_contents_.reset(new views::SimpleMenuModel(this)); + page_menu_contents_.reset(new menus::SimpleMenuModel(this)); page_menu_contents_->AddItemWithStringId(IDC_CREATE_SHORTCUTS, IDS_CREATE_SHORTCUTS); page_menu_contents_->AddSeparator(); @@ -885,7 +886,7 @@ void ToolbarView::CreatePageMenu() { #if defined(OS_WIN) void ToolbarView::CreateDevToolsMenuContents() { - devtools_menu_contents_.reset(new views::SimpleMenuModel(this)); + devtools_menu_contents_.reset(new menus::SimpleMenuModel(this)); devtools_menu_contents_->AddItem(IDC_VIEW_SOURCE, l10n_util::GetString(IDS_VIEW_SOURCE)); if (g_browser_process->have_inspector_files()) { @@ -904,7 +905,7 @@ void ToolbarView::CreateAppMenu() { // We always rebuild the app menu so that we can get the current state of // the sync system. - app_menu_contents_.reset(new views::SimpleMenuModel(this)); + app_menu_contents_.reset(new menus::SimpleMenuModel(this)); app_menu_contents_->AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB); app_menu_contents_->AddItemWithStringId(IDC_NEW_WINDOW, IDS_NEW_WINDOW); app_menu_contents_->AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW, @@ -916,7 +917,7 @@ void ToolbarView::CreateAppMenu() { if (command_line.HasSwitch(switches::kEnableUserDataDirProfiles) && !profiles_menu_contents_.get()) { profiles_helper_->GetProfiles(NULL); - profiles_menu_contents_.reset(new views::SimpleMenuModel(this)); + profiles_menu_contents_.reset(new menus::SimpleMenuModel(this)); app_menu_contents_->AddSubMenuWithStringId(IDS_PROFILE_MENU, profiles_menu_contents_.get()); } diff --git a/chrome/browser/views/toolbar_view.h b/chrome/browser/views/toolbar_view.h index eb7347d..6d1f1d0 100644 --- a/chrome/browser/views/toolbar_view.h +++ b/chrome/browser/views/toolbar_view.h @@ -7,6 +7,7 @@ #include <vector> +#include "app/menus/simple_menu_model.h" #include "base/ref_counted.h" #include "base/scoped_ptr.h" #include "chrome/browser/bubble_positioner.h" @@ -18,7 +19,6 @@ #include "chrome/common/pref_member.h" #include "views/controls/button/menu_button.h" #include "views/controls/menu/menu.h" -#include "views/controls/menu/simple_menu_model.h" #include "views/controls/menu/view_menu_delegate.h" #include "views/view.h" @@ -27,22 +27,23 @@ class BrowserActionsContainer; class Browser; class Profile; class ToolbarStarToggle; + namespace views { -class SimpleMenuModel; +class Menu2; } // A menu model that builds the contents of an encoding menu. -class EncodingMenuModel : public views::SimpleMenuModel, - public views::SimpleMenuModel::Delegate { +class EncodingMenuModel : public menus::SimpleMenuModel, + public menus::SimpleMenuModel::Delegate { public: explicit EncodingMenuModel(Browser* browser); virtual ~EncodingMenuModel() {} - // Overridden from views::SimpleMenuModel::Delegate: + // Overridden from menus::SimpleMenuModel::Delegate: virtual bool IsCommandIdChecked(int command_id) const; virtual bool IsCommandIdEnabled(int command_id) const; virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator); + menus::Accelerator* accelerator); virtual void ExecuteCommand(int command_id); private: @@ -53,9 +54,9 @@ class EncodingMenuModel : public views::SimpleMenuModel, DISALLOW_COPY_AND_ASSIGN(EncodingMenuModel); }; -class ZoomMenuModel : public views::SimpleMenuModel { +class ZoomMenuModel : public menus::SimpleMenuModel { public: - explicit ZoomMenuModel(views::SimpleMenuModel::Delegate* delegate); + explicit ZoomMenuModel(menus::SimpleMenuModel::Delegate* delegate); virtual ~ZoomMenuModel() {} private: @@ -68,7 +69,7 @@ class ZoomMenuModel : public views::SimpleMenuModel { class ToolbarView : public AccessibleToolbarView, public views::ViewMenuDelegate, public views::DragController, - public views::SimpleMenuModel::Delegate, + public menus::SimpleMenuModel::Delegate, public LocationBarView::Delegate, public NotificationObserver, public GetProfilesHelper::Delegate, @@ -105,7 +106,7 @@ class ToolbarView : public AccessibleToolbarView, virtual bool IsAccessibleViewTraversable(views::View* view); // Overridden from Menu::BaseControllerDelegate: - virtual bool GetAcceleratorInfo(int id, views::Accelerator* accel); + virtual bool GetAcceleratorInfo(int id, menus::Accelerator* accel); // Overridden from views::MenuDelegate: virtual void RunMenu(views::View* source, const gfx::Point& pt); @@ -131,11 +132,11 @@ class ToolbarView : public AccessibleToolbarView, const NotificationSource& source, const NotificationDetails& details); - // Overridden from views::SimpleMenuModel::Delegate: + // Overridden from menus::SimpleMenuModel::Delegate: virtual bool IsCommandIdChecked(int command_id) const; virtual bool IsCommandIdEnabled(int command_id) const; virtual bool GetAcceleratorForCommandId(int command_id, - views::Accelerator* accelerator); + menus::Accelerator* accelerator); virtual void ExecuteCommand(int command_id); // Overridden from views::View: @@ -215,7 +216,7 @@ class ToolbarView : public AccessibleToolbarView, Browser* browser_; // Contents of the profiles menu to populate with profile names. - scoped_ptr<views::SimpleMenuModel> profiles_menu_contents_; + scoped_ptr<menus::SimpleMenuModel> profiles_menu_contents_; // Helper class to enumerate profiles information on the file thread. scoped_refptr<GetProfilesHelper> profiles_helper_; @@ -227,11 +228,11 @@ class ToolbarView : public AccessibleToolbarView, DisplayMode display_mode_; // The contents of the various menus. - scoped_ptr<views::SimpleMenuModel> page_menu_contents_; + scoped_ptr<menus::SimpleMenuModel> page_menu_contents_; scoped_ptr<ZoomMenuModel> zoom_menu_contents_; scoped_ptr<EncodingMenuModel> encoding_menu_contents_; - scoped_ptr<views::SimpleMenuModel> devtools_menu_contents_; - scoped_ptr<views::SimpleMenuModel> app_menu_contents_; + scoped_ptr<menus::SimpleMenuModel> devtools_menu_contents_; + scoped_ptr<menus::SimpleMenuModel> app_menu_contents_; // TODO(beng): build these into MenuButton. scoped_ptr<views::Menu2> page_menu_menu_; |