Index: chrome/browser/ui/panels/panel_browser_frame_view.h |
=================================================================== |
--- chrome/browser/ui/panels/panel_browser_frame_view.h (revision 84897) |
+++ chrome/browser/ui/panels/panel_browser_frame_view.h (working copy) |
@@ -7,8 +7,10 @@ |
#pragma once |
#include "base/gtest_prod_util.h" |
+#include "base/scoped_ptr.h" |
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" |
#include "chrome/browser/ui/views/tab_icon_view.h" |
+#include "ui/base/models/simple_menu_model.h" |
#include "views/controls/button/button.h" |
#include "views/controls/menu/view_menu_delegate.h" |
@@ -16,12 +18,14 @@ |
namespace views { |
class ImageButton; |
class Label; |
+class Menu2; |
class MenuButton; |
} |
class PanelBrowserFrameView : public BrowserNonClientFrameView, |
public views::ButtonListener, |
public views::ViewMenuDelegate, |
+ public ui::SimpleMenuModel::Delegate, |
public TabIconView::TabIconViewModel { |
public: |
PanelBrowserFrameView(BrowserFrame* frame, PanelBrowserView* browser_view); |
@@ -65,6 +69,13 @@ |
// Overridden from views::ViewMenuDelegate: |
virtual void RunMenu(View* source, const gfx::Point& pt) OVERRIDE; |
+ // Overridden from ui::SimpleMenuModel::Delegate: |
+ virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; |
+ virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; |
+ virtual bool GetAcceleratorForCommandId( |
+ int command_id, ui::Accelerator* accelerator) OVERRIDE; |
+ virtual void ExecuteCommand(int command_id) OVERRIDE; |
+ |
// Overridden from TabIconView::TabIconViewModel: |
virtual bool ShouldTabIconViewAnimate() const OVERRIDE; |
virtual SkBitmap GetFaviconForTabIconView() OVERRIDE; |
@@ -72,6 +83,7 @@ |
private: |
friend class PanelBrowserViewTest; |
FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, CreatePanel); |
+ FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, CreateOptionsMenu); |
enum PaintState { |
NOT_PAINTED, |
@@ -79,6 +91,17 @@ |
PAINT_AS_ACTIVE |
}; |
+ enum { |
+ COMMAND_MINIMIZE_ALL, |
+ COMMAND_RESTORE_ALL, |
+ COMMAND_CLOSE_ALL, |
+ COMMAND_ABOUT |
+ }; |
+ static const int kMinimizeAllCommand = 0; |
jennb
2011/05/11 18:06:10
Forgot to delete these.
jianli
2011/05/11 18:31:31
Done.
|
+ static const int kRestoreAllCommand = 1; |
+ static const int kCloseAllCommand = 2; |
+ static const int kAboutCommand = 3; |
+ |
// Returns the thickness of the entire nonclient left, right, and bottom |
// borders, including both the window frame and any client edge. |
int NonClientBorderThickness() const; |
@@ -95,6 +118,9 @@ |
void PaintFrameBorder(gfx::Canvas* canvas); |
void PaintClientEdge(gfx::Canvas* canvas); |
+ void CreateOptionsMenu(); |
+ void CreateOptionsMenuItems(); |
+ |
// The frame that hosts this view. This is a weak reference such that frame_ |
// will always be valid in the lifetime of this view. |
BrowserFrame* frame_; |
@@ -111,6 +137,8 @@ |
views::Label* title_label_; |
gfx::Rect client_view_bounds_; |
std::wstring accessible_name_; |
+ scoped_ptr<views::Menu2> options_menu_; |
+ scoped_ptr<ui::SimpleMenuModel> options_menu_contents_; |
DISALLOW_COPY_AND_ASSIGN(PanelBrowserFrameView); |
}; |