Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: chrome/browser/ui/views/toolbar/wrench_menu.h

Issue 245863002: Fix text color of WrenchMenu buttons on Linux Aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/views/toolbar/wrench_menu.cc » ('j') | ui/views/view.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_VIEWS_TOOLBAR_WRENCH_MENU_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_H_
6 #define CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_H_ 6 #define CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_H_
7 7
8 #include <map> 8 #include <map>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/observer_list.h" 12 #include "base/observer_list.h"
13 #include "chrome/browser/bookmarks/base_bookmark_model_observer.h" 13 #include "chrome/browser/bookmarks/base_bookmark_model_observer.h"
14 #include "content/public/browser/notification_observer.h" 14 #include "content/public/browser/notification_observer.h"
15 #include "content/public/browser/notification_registrar.h" 15 #include "content/public/browser/notification_registrar.h"
16 #include "ui/base/models/menu_model.h" 16 #include "ui/base/models/menu_model.h"
17 #include "ui/views/controls/menu/menu_delegate.h" 17 #include "ui/views/controls/menu/menu_delegate.h"
18 18
19 class BookmarkMenuDelegate; 19 class BookmarkMenuDelegate;
20 class Browser; 20 class Browser;
21 class WrenchMenuObserver; 21 class WrenchMenuObserver;
22 22
23 namespace ui { 23 namespace ui {
24 class NativeTheme; 24 class NativeTheme;
25 } 25 }
26 26
27 namespace views { 27 namespace views {
28 class MenuButton; 28 class MenuButton;
29 struct MenuConfig;
30 class MenuItemView; 29 class MenuItemView;
31 class MenuRunner; 30 class MenuRunner;
32 class View; 31 class View;
33 } // namespace views 32 } // namespace views
34 33
35 // WrenchMenu adapts the WrenchMenuModel to view's menu related classes. 34 // WrenchMenu adapts the WrenchMenuModel to view's menu related classes.
36 class WrenchMenu : public views::MenuDelegate, 35 class WrenchMenu : public views::MenuDelegate,
37 public BaseBookmarkModelObserver, 36 public BaseBookmarkModelObserver,
38 public content::NotificationObserver { 37 public content::NotificationObserver {
39 public: 38 public:
40 // TODO: remove |use_new_menu| and |supports_new_separators|. 39 // TODO: remove |use_new_menu| and |supports_new_separators|.
41 WrenchMenu(Browser* browser, 40 WrenchMenu(Browser* browser,
42 bool use_new_menu, 41 bool use_new_menu,
43 bool supports_new_separators); 42 bool supports_new_separators);
44 virtual ~WrenchMenu(); 43 virtual ~WrenchMenu();
45 44
46 void Init(ui::MenuModel* model); 45 void Init(ui::MenuModel* model);
47 46
48 // Shows the menu relative to the specified view. 47 // Shows the menu relative to the specified view.
49 void RunMenu(views::MenuButton* host); 48 void RunMenu(views::MenuButton* host);
50 49
51 // Whether the menu is currently visible to the user. 50 // Whether the menu is currently visible to the user.
52 bool IsShowing(); 51 bool IsShowing();
53 52
54 const views::MenuConfig& GetMenuConfig() const;
55
56 bool use_new_menu() const { return use_new_menu_; } 53 bool use_new_menu() const { return use_new_menu_; }
57 54
58 void AddObserver(WrenchMenuObserver* observer); 55 void AddObserver(WrenchMenuObserver* observer);
59 void RemoveObserver(WrenchMenuObserver* observer); 56 void RemoveObserver(WrenchMenuObserver* observer);
60 57
61 // MenuDelegate overrides: 58 // MenuDelegate overrides:
62 virtual const gfx::FontList* GetLabelFontList(int command_id) const OVERRIDE; 59 virtual const gfx::FontList* GetLabelFontList(int command_id) const OVERRIDE;
63 virtual bool GetShouldUseDisabledEmphasizedForegroundColor( 60 virtual bool GetShouldUseDisabledEmphasizedForegroundColor(
64 int command_id) const OVERRIDE; 61 int command_id) const OVERRIDE;
65 virtual base::string16 GetTooltipText(int command_id, 62 virtual base::string16 GetTooltipText(int command_id,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 const content::NotificationDetails& details) OVERRIDE; 102 const content::NotificationDetails& details) OVERRIDE;
106 103
107 private: 104 private:
108 class CutCopyPasteView; 105 class CutCopyPasteView;
109 class RecentTabsMenuModelDelegate; 106 class RecentTabsMenuModelDelegate;
110 class ZoomView; 107 class ZoomView;
111 108
112 typedef std::pair<ui::MenuModel*,int> Entry; 109 typedef std::pair<ui::MenuModel*,int> Entry;
113 typedef std::map<int,Entry> CommandIDToEntry; 110 typedef std::map<int,Entry> CommandIDToEntry;
114 111
115 const ui::NativeTheme* GetNativeTheme() const;
116
117 // Populates |parent| with all the child menus in |model|. Recursively invokes 112 // Populates |parent| with all the child menus in |model|. Recursively invokes
118 // |PopulateMenu| for any submenu. 113 // |PopulateMenu| for any submenu.
119 void PopulateMenu(views::MenuItemView* parent, 114 void PopulateMenu(views::MenuItemView* parent,
120 ui::MenuModel* model); 115 ui::MenuModel* model);
121 116
122 // Adds a new menu item to |parent| at |menu_index| to represent the item in 117 // Adds a new menu item to |parent| at |menu_index| to represent the item in
123 // |model| at |model_index|: 118 // |model| at |model_index|:
124 // - |menu_index|: position in |parent| to add the new item. 119 // - |menu_index|: position in |parent| to add the new item.
125 // - |model_index|: position in |model| to retrieve information about the 120 // - |model_index|: position in |model| to retrieve information about the
126 // new menu item. 121 // new menu item.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 const bool use_new_menu_; 178 const bool use_new_menu_;
184 179
185 const bool supports_new_separators_; 180 const bool supports_new_separators_;
186 181
187 ObserverList<WrenchMenuObserver> observer_list_; 182 ObserverList<WrenchMenuObserver> observer_list_;
188 183
189 DISALLOW_COPY_AND_ASSIGN(WrenchMenu); 184 DISALLOW_COPY_AND_ASSIGN(WrenchMenu);
190 }; 185 };
191 186
192 #endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_H_ 187 #endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/views/toolbar/wrench_menu.cc » ('j') | ui/views/view.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698