OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef UI_VIEWS_FOCUS_FOCUS_MANAGER_DELEGATE_H_ | |
6 #define UI_VIEWS_FOCUS_FOCUS_MANAGER_DELEGATE_H_ | |
7 | |
8 #include "ui/views/views_export.h" | |
9 | |
10 namespace ui { | |
11 class Accelerator; | |
12 class AcceleratorTarget; | |
13 } | |
14 | |
15 namespace views { | |
16 | |
17 // Delegate interface for views::FocusManager. | |
18 class VIEWS_EXPORT FocusManagerDelegate { | |
19 public: | |
20 virtual ~FocusManagerDelegate() {} | |
21 | |
22 // Activate the target associated with the specified accelerator. | |
23 // First, AcceleratorPressed handler of the most recently registered target | |
24 // is called, and if that handler processes the event (i.e. returns true), | |
25 // this method immediately returns. If not, we do the same thing on the next | |
26 // target, and so on. | |
27 // Returns true if an accelerator was activated. | |
28 virtual bool ProcessAccelerator(const ui::Accelerator& accelerator) = 0; | |
29 | |
30 // Returns the AcceleratorTarget that should be activated for the specified | |
31 // keyboard accelerator, or NULL if no view is registered for that keyboard | |
32 // accelerator. | |
33 virtual ui::AcceleratorTarget* GetCurrentTargetForAccelerator( | |
34 const ui::Accelerator& accelerator) const = 0; | |
35 }; | |
36 | |
37 } // namespace views | |
38 | |
39 #endif // UI_VIEWS_FOCUS_FOCUS_MANAGER_DELEGATE_H_ | |
OLD | NEW |