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

Side by Side Diff: chrome/browser/ui/gtk/action_box_button_gtk.h

Issue 10889052: Display action box menu on Linux/gtk. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix was done by skare@ Created 8 years, 3 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/gtk/action_box_button_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_GTK_ACTION_BOX_BUTTON_GTK_H_ 5 #ifndef CHROME_BROWSER_UI_GTK_ACTION_BOX_BUTTON_GTK_H_
6 #define CHROME_BROWSER_UI_GTK_ACTION_BOX_BUTTON_GTK_H_ 6 #define CHROME_BROWSER_UI_GTK_ACTION_BOX_BUTTON_GTK_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "chrome/browser/ui/gtk/menu_gtk.h"
10 #include "ui/base/gtk/gtk_signal.h" 11 #include "ui/base/gtk/gtk_signal.h"
11 12
13 class ActionBoxMenuModel;
12 class Browser; 14 class Browser;
13 class CustomDrawButton; 15 class CustomDrawButton;
14 16
15 typedef struct _GtkWidget GtkWidget; 17 typedef struct _GtkWidget GtkWidget;
16 18
17 // This class displays the action box button with an associated menu. This is 19 // This class displays the action box button with an associated menu. This is
18 // where extension actions and the bookmark star live. 20 // where extension actions and the bookmark star live.
19 class ActionBoxButtonGtk { 21 class ActionBoxButtonGtk : public MenuGtk::Delegate {
20 public: 22 public:
21 explicit ActionBoxButtonGtk(Browser* browser); 23 explicit ActionBoxButtonGtk(Browser* browser);
22 virtual ~ActionBoxButtonGtk(); 24 virtual ~ActionBoxButtonGtk();
23 25
26 // MenuGtk::Delegate implementation.
27 virtual bool AlwaysShowIconForCmd(int command_id) const OVERRIDE;
28
24 GtkWidget* widget(); 29 GtkWidget* widget();
25 30
26 private: 31 private:
27 // Executes the browser command. 32 // Show the action box menu.
28 CHROMEGTK_CALLBACK_0(ActionBoxButtonGtk, void, OnClick); 33 CHROMEGTK_CALLBACK_1(ActionBoxButtonGtk, gboolean, OnButtonPress,
34 GdkEventButton*);
29 35
30 scoped_ptr<CustomDrawButton> button_; 36 scoped_ptr<CustomDrawButton> button_;
31 37
32 // The browser to which we will send commands. 38 // The browser to which we will send commands.
33 Browser* browser_; 39 Browser* browser_;
34 40
41 // The model and menu displayed when the button is clicked. The menu is
42 // recreated every time it is displayed.
43 scoped_ptr<ActionBoxMenuModel> model_;
44 scoped_ptr<MenuGtk> menu_;
45
35 DISALLOW_COPY_AND_ASSIGN(ActionBoxButtonGtk); 46 DISALLOW_COPY_AND_ASSIGN(ActionBoxButtonGtk);
36 }; 47 };
37 48
38 #endif // CHROME_BROWSER_UI_GTK_ACTION_BOX_BUTTON_GTK_H_ 49 #endif // CHROME_BROWSER_UI_GTK_ACTION_BOX_BUTTON_GTK_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/action_box_button_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698