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

Side by Side Diff: views/accelerator.h

Issue 8508055: Move views::Accelerator to ui in order to use it from aura code. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 9 years, 1 month 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
« no previous file with comments | « ui/views/window/dialog_client_view.cc ('k') | views/accelerator.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 // This class describe a keyboard accelerator (or keyboard shortcut).
6 // Keyboard accelerators are registered with the FocusManager.
7 // It has a copy constructor and assignment operator so that it can be copied.
8 // It also defines the < operator so that it can be used as a key in a std::map.
9 //
10
11 #ifndef VIEWS_ACCELERATOR_H_
12 #define VIEWS_ACCELERATOR_H_
13 #pragma once
14
15 #include <string>
16
17 #include "base/string16.h"
18 #include "ui/base/models/accelerator.h"
19 #include "views/events/event.h"
20 #include "views/views_export.h"
21
22 namespace views {
23
24 class VIEWS_EXPORT Accelerator : public ui::Accelerator {
25 public:
26 Accelerator() : ui::Accelerator() {}
27
28 Accelerator(ui::KeyboardCode keycode, int modifiers)
29 : ui::Accelerator(keycode, modifiers) {}
30
31 Accelerator(ui::KeyboardCode keycode,
32 bool shift_pressed, bool ctrl_pressed, bool alt_pressed) {
33 key_code_ = keycode;
34 modifiers_ = 0;
35 if (shift_pressed)
36 modifiers_ |= ui::EF_SHIFT_DOWN;
37 if (ctrl_pressed)
38 modifiers_ |= ui::EF_CONTROL_DOWN;
39 if (alt_pressed)
40 modifiers_ |= ui::EF_ALT_DOWN;
41 }
42
43 virtual ~Accelerator() {}
44
45 bool IsShiftDown() const {
46 return (modifiers_ & ui::EF_SHIFT_DOWN) == ui::EF_SHIFT_DOWN;
47 }
48
49 bool IsCtrlDown() const {
50 return (modifiers_ & ui::EF_CONTROL_DOWN) == ui::EF_CONTROL_DOWN;
51 }
52
53 bool IsAltDown() const {
54 return (modifiers_ & ui::EF_ALT_DOWN) == ui::EF_ALT_DOWN;
55 }
56
57 // Returns a string with the localized shortcut if any.
58 string16 GetShortcutText() const;
59 };
60
61 // An interface that classes that want to register for keyboard accelerators
62 // should implement.
63 class VIEWS_EXPORT AcceleratorTarget {
64 public:
65 // This method should return true if the accelerator was processed.
66 virtual bool AcceleratorPressed(const Accelerator& accelerator) = 0;
67
68 protected:
69 virtual ~AcceleratorTarget() {}
70 };
71 }
72
73 #endif // VIEWS_ACCELERATOR_H_
OLDNEW
« no previous file with comments | « ui/views/window/dialog_client_view.cc ('k') | views/accelerator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698