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

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

Issue 7464027: Wayland support for views. views_desktop on Wayland. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Updated native_widget_wayland.cc to match compositor changes Created 9 years, 4 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 | « views/controls/menu/native_menu_linux.cc ('k') | views/controls/menu/native_menu_x.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef VIEWS_CONTROLS_MENU_NATIVE_MENU_X_H_
6 #define VIEWS_CONTROLS_MENU_NATIVE_MENU_X_H_
7 #pragma once
8
9 #include "views/controls/menu/menu_delegate.h"
10 #include "views/controls/menu/menu_item_view.h"
11 #include "views/controls/menu/menu_wrapper.h"
12
13 namespace ui {
14 class MenuModel;
15 }
16
17 namespace views {
18
19 class MenuRunner;
20
21 // A non-GTK implementation of MenuWrapper, used currently for touchui.
22 class NativeMenuX : public MenuWrapper,
23 public MenuDelegate {
24 public:
25 explicit NativeMenuX(Menu2* menu);
26 virtual ~NativeMenuX();
27
28 // Overridden from MenuWrapper:
29 virtual void RunMenuAt(const gfx::Point& point, int alignment);
30 virtual void CancelMenu();
31 virtual void Rebuild();
32 virtual void UpdateStates();
33 virtual gfx::NativeMenu GetNativeMenu() const;
34 virtual MenuAction GetMenuAction() const;
35 virtual void AddMenuListener(MenuListener* listener);
36 virtual void RemoveMenuListener(MenuListener* listener);
37 virtual void SetMinimumWidth(int width);
38
39 // Overridden from MenuDelegate:
40 virtual bool IsItemChecked(int id) const;
41 virtual bool IsCommandEnabled(int id) const;
42 virtual void ExecuteCommand(int id);
43 virtual bool GetAccelerator(int id, views::Accelerator* accelerator);
44
45 private:
46 void AddMenuItemsFromModel(MenuItemView* parent, ui::MenuModel* model);
47 void UpdateMenuFromModel(SubmenuView* menu, ui::MenuModel* model);
48
49 // The attached model and delegate. Does not assume ownership.
50 ui::MenuModel* model_;
51 MenuItemView* root_;
52 scoped_ptr<MenuRunner> menu_runner_;
53
54 DISALLOW_COPY_AND_ASSIGN(NativeMenuX);
55 };
56
57 } // namespace views
58
59 #endif // VIEWS_CONTROLS_MENU_NATIVE_MENU_X_H_
OLDNEW
« no previous file with comments | « views/controls/menu/native_menu_linux.cc ('k') | views/controls/menu/native_menu_x.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698