OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_FOCUS_FOCUS_MANAGER_H_ | 5 #ifndef VIEWS_FOCUS_FOCUS_MANAGER_H_ |
6 #define VIEWS_FOCUS_FOCUS_MANAGER_H_ | 6 #define VIEWS_FOCUS_FOCUS_MANAGER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 gfx::NativeView focused_now) = 0; | 119 gfx::NativeView focused_now) = 0; |
120 | 120 |
121 protected: | 121 protected: |
122 virtual ~WidgetFocusChangeListener() {} | 122 virtual ~WidgetFocusChangeListener() {} |
123 }; | 123 }; |
124 | 124 |
125 class FocusManager { | 125 class FocusManager { |
126 public: | 126 public: |
127 class WidgetFocusManager { | 127 class WidgetFocusManager { |
128 public: | 128 public: |
| 129 // Returns the singleton instance. |
| 130 static WidgetFocusManager* GetInstance(); |
| 131 |
129 // Adds/removes a WidgetFocusChangeListener |listener| to the set of | 132 // Adds/removes a WidgetFocusChangeListener |listener| to the set of |
130 // active listeners. | 133 // active listeners. |
131 void AddFocusChangeListener(WidgetFocusChangeListener* listener); | 134 void AddFocusChangeListener(WidgetFocusChangeListener* listener); |
132 void RemoveFocusChangeListener(WidgetFocusChangeListener* listener); | 135 void RemoveFocusChangeListener(WidgetFocusChangeListener* listener); |
133 | 136 |
134 // To be called when native-focus shifts from |focused_before| to | 137 // To be called when native-focus shifts from |focused_before| to |
135 // |focused_now|. | 138 // |focused_now|. |
136 // TODO(port) : Invocations to this routine are only implemented for | 139 // TODO(port) : Invocations to this routine are only implemented for |
137 // the Win32 platform. Calls need to be placed appropriately for | 140 // the Win32 platform. Calls need to be placed appropriately for |
138 // non-Windows environments. | 141 // non-Windows environments. |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 ~AutoNativeNotificationDisabler() { | 335 ~AutoNativeNotificationDisabler() { |
333 FocusManager::GetWidgetFocusManager()->EnableNotifications(); | 336 FocusManager::GetWidgetFocusManager()->EnableNotifications(); |
334 } | 337 } |
335 private: | 338 private: |
336 DISALLOW_COPY_AND_ASSIGN(AutoNativeNotificationDisabler); | 339 DISALLOW_COPY_AND_ASSIGN(AutoNativeNotificationDisabler); |
337 }; | 340 }; |
338 | 341 |
339 } // namespace views | 342 } // namespace views |
340 | 343 |
341 #endif // VIEWS_FOCUS_FOCUS_MANAGER_H_ | 344 #endif // VIEWS_FOCUS_FOCUS_MANAGER_H_ |
OLD | NEW |