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

Side by Side Diff: views/controls/menu/native_menu_gtk.h

Issue 1237004: Views: fix a crash where in the browser actions container.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 VIEWS_CONTROLS_MENU_NATIVE_MENU_GTK_H_ 5 #ifndef VIEWS_CONTROLS_MENU_NATIVE_MENU_GTK_H_
6 #define VIEWS_CONTROLS_MENU_NATIVE_MENU_GTK_H_ 6 #define VIEWS_CONTROLS_MENU_NATIVE_MENU_GTK_H_
7 7
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 9
10 #include <vector> 10 #include <vector>
11 11
12 #include "app/gtk_signal.h"
12 #include "base/task.h" 13 #include "base/task.h"
13 #include "views/controls/menu/menu_wrapper.h" 14 #include "views/controls/menu/menu_wrapper.h"
14 15
15 namespace menus { 16 namespace menus {
16 class MenuModel; 17 class MenuModel;
17 } 18 }
18 19
19 namespace views { 20 namespace views {
20 21
21 // A Gtk implementation of MenuWrapper. 22 // A Gtk implementation of MenuWrapper.
(...skipping 14 matching lines...) Expand all
36 virtual void RunMenuAt(const gfx::Point& point, int alignment); 37 virtual void RunMenuAt(const gfx::Point& point, int alignment);
37 virtual void CancelMenu(); 38 virtual void CancelMenu();
38 virtual void Rebuild(); 39 virtual void Rebuild();
39 virtual void UpdateStates(); 40 virtual void UpdateStates();
40 virtual gfx::NativeMenu GetNativeMenu() const; 41 virtual gfx::NativeMenu GetNativeMenu() const;
41 virtual MenuAction GetMenuAction() const; 42 virtual MenuAction GetMenuAction() const;
42 virtual void AddMenuListener(MenuListener* listener); 43 virtual void AddMenuListener(MenuListener* listener);
43 virtual void RemoveMenuListener(MenuListener* listener); 44 virtual void RemoveMenuListener(MenuListener* listener);
44 45
45 private: 46 private:
46 static void OnMenuHidden(GtkWidget* widget, NativeMenuGtk* menu); 47 CHROMEGTK_CALLBACK_0(NativeMenuGtk, void, OnMenuHidden);
47 static void OnMenuMoveCurrent(GtkMenu* widget, 48 CHROMEGTK_CALLBACK_1(NativeMenuGtk, void, OnMenuMoveCurrent,
48 GtkMenuDirectionType focus_direction, 49 GtkMenuDirectionType);
49 NativeMenuGtk* menu);
50 50
51 void AddSeparatorAt(int index); 51 void AddSeparatorAt(int index);
52 GtkWidget* AddMenuItemAt(int index, GtkRadioMenuItem* radio_group, 52 GtkWidget* AddMenuItemAt(int index, GtkRadioMenuItem* radio_group,
53 GtkAccelGroup* accel_group); 53 GtkAccelGroup* accel_group);
54 54
55 void ResetMenu(); 55 void ResetMenu();
56 56
57 // Updates the menu item's state. 57 // Updates the menu item's state.
58 void UpdateMenuItemState(GtkWidget* menu_item); 58 void UpdateMenuItemState(GtkWidget* menu_item);
59 59
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 124
125 // Vector of listeners to receive callbacks when the menu opens. 125 // Vector of listeners to receive callbacks when the menu opens.
126 std::vector<MenuListener*> listeners_; 126 std::vector<MenuListener*> listeners_;
127 127
128 DISALLOW_COPY_AND_ASSIGN(NativeMenuGtk); 128 DISALLOW_COPY_AND_ASSIGN(NativeMenuGtk);
129 }; 129 };
130 130
131 } // namespace views 131 } // namespace views
132 132
133 #endif // VIEWS_CONTROLS_MENU_NATIVE_MENU_GTK_H_ 133 #endif // VIEWS_CONTROLS_MENU_NATIVE_MENU_GTK_H_
OLDNEW
« no previous file with comments | « chrome/browser/views/browser_actions_container.cc ('k') | views/controls/menu/native_menu_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698