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

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

Issue 5110011: A non-GTK version of menus for touchui. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: fix compile for touch on chromeos Created 10 years 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/menu_item_view.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) 2010 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 menus {
14 class MenuModel;
15 }
16
17 namespace views {
18
19 // A non-GTK implementation of MenuWrapper, used currently for touchui.
20 class NativeMenuX : public MenuWrapper,
21 public MenuDelegate {
22 public:
23 explicit NativeMenuX(Menu2* menu);
24 virtual ~NativeMenuX();
25
26 // Overridden from MenuWrapper:
27 virtual void RunMenuAt(const gfx::Point& point, int alignment);
28 virtual void CancelMenu();
29 virtual void Rebuild();
30 virtual void UpdateStates();
31 virtual gfx::NativeMenu GetNativeMenu() const;
32 virtual MenuAction GetMenuAction() const;
33 virtual void AddMenuListener(MenuListener* listener);
34 virtual void RemoveMenuListener(MenuListener* listener);
35 virtual void SetMinimumWidth(int width);
36
37 // Overridden from MenuDelegate:
38 virtual bool IsItemChecked(int id) const;
39 virtual bool IsCommandEnabled(int id) const;
40 virtual void ExecuteCommand(int id);
41 virtual bool GetAccelerator(int id, views::Accelerator* accelerator);
42
43 private:
44 void AddMenuItemsFromModel(MenuItemView* parent, menus::MenuModel* model);
45 void UpdateMenuFromModel(SubmenuView* menu, menus::MenuModel* model);
46
47 // The attached model and delegate. Does not assume ownership.
48 menus::MenuModel* model_;
49 scoped_ptr<MenuItemView> root_;
50
51 DISALLOW_COPY_AND_ASSIGN(NativeMenuX);
52 };
53
54 } // namespace views
55
56 #endif // VIEWS_CONTROLS_MENU_NATIVE_MENU_X_H_
OLDNEW
« no previous file with comments | « views/controls/menu/menu_item_view.cc ('k') | views/controls/menu/native_menu_x.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698