OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 ASH_LAUNCHER_LAUNCHER_VIEW_H_ | 5 #ifndef ASH_LAUNCHER_LAUNCHER_VIEW_H_ |
6 #define ASH_LAUNCHER_LAUNCHER_VIEW_H_ | 6 #define ASH_LAUNCHER_LAUNCHER_VIEW_H_ |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "ash/launcher/launcher_button_host.h" | 11 #include "ash/launcher/launcher_button_host.h" |
12 #include "ash/launcher/launcher_model_observer.h" | 12 #include "ash/launcher/launcher_model_observer.h" |
13 #include "ash/wm/shelf_types.h" | 13 #include "ash/wm/shelf_types.h" |
14 #include "base/observer_list.h" | 14 #include "base/observer_list.h" |
15 #include "ui/views/animation/bounds_animator_observer.h" | 15 #include "ui/views/animation/bounds_animator_observer.h" |
16 #include "ui/views/context_menu_controller.h" | 16 #include "ui/views/context_menu_controller.h" |
17 #include "ui/views/controls/button/button.h" | 17 #include "ui/views/controls/button/button.h" |
18 #include "ui/views/focus/focus_manager.h" | 18 #include "ui/views/focus/focus_manager.h" |
19 #include "ui/views/view.h" | 19 #include "ui/views/view.h" |
20 | 20 |
21 namespace views { | 21 namespace views { |
22 class BoundsAnimator; | 22 class BoundsAnimator; |
23 class ImageButton; | |
24 class MenuRunner; | 23 class MenuRunner; |
25 class ViewModel; | 24 class ViewModel; |
26 } | 25 } |
27 | 26 |
28 namespace ash { | 27 namespace ash { |
29 | 28 |
30 namespace test { | 29 namespace test { |
31 class LauncherViewTestAPI; | 30 class LauncherViewTestAPI; |
32 } | 31 } |
33 | 32 |
34 class LauncherDelegate; | 33 class LauncherDelegate; |
35 struct LauncherItem; | 34 struct LauncherItem; |
36 class LauncherIconObserver; | 35 class LauncherIconObserver; |
37 class LauncherModel; | 36 class LauncherModel; |
38 | 37 |
39 namespace internal { | 38 namespace internal { |
40 | 39 |
41 class LauncherButton; | 40 class LauncherButton; |
42 class LauncherTooltipManager; | 41 class LauncherTooltipManager; |
43 class ShelfLayoutManager; | 42 class ShelfLayoutManager; |
44 class OverflowBubble; | 43 class OverflowBubble; |
| 44 class OverflowButton; |
45 | 45 |
46 class ASH_EXPORT LauncherView : public views::View, | 46 class ASH_EXPORT LauncherView : public views::View, |
47 public LauncherModelObserver, | 47 public LauncherModelObserver, |
48 public views::ButtonListener, | 48 public views::ButtonListener, |
49 public LauncherButtonHost, | 49 public LauncherButtonHost, |
50 public views::ContextMenuController, | 50 public views::ContextMenuController, |
51 public views::FocusTraversable, | 51 public views::FocusTraversable, |
52 public views::BoundsAnimatorObserver { | 52 public views::BoundsAnimatorObserver { |
53 public: | 53 public: |
54 LauncherView(LauncherModel* model, | 54 LauncherView(LauncherModel* model, |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 // LauncherView is hosted in an overflow bubble. In this mode, it does not | 231 // LauncherView is hosted in an overflow bubble. In this mode, it does not |
232 // show browser, app list and overflow button. | 232 // show browser, app list and overflow button. |
233 int first_visible_index_; | 233 int first_visible_index_; |
234 | 234 |
235 // Last index of a launcher button that is visible | 235 // Last index of a launcher button that is visible |
236 // (does not go into overflow). | 236 // (does not go into overflow). |
237 int last_visible_index_; | 237 int last_visible_index_; |
238 | 238 |
239 scoped_ptr<views::BoundsAnimator> bounds_animator_; | 239 scoped_ptr<views::BoundsAnimator> bounds_animator_; |
240 | 240 |
241 views::ImageButton* overflow_button_; | 241 OverflowButton* overflow_button_; |
242 | 242 |
243 scoped_ptr<OverflowBubble> overflow_bubble_; | 243 scoped_ptr<OverflowBubble> overflow_bubble_; |
244 | 244 |
245 scoped_ptr<LauncherTooltipManager> tooltip_; | 245 scoped_ptr<LauncherTooltipManager> tooltip_; |
246 | 246 |
247 // Pointer device that initiated the current drag operation. If there is no | 247 // Pointer device that initiated the current drag operation. If there is no |
248 // current dragging operation, this is NONE. | 248 // current dragging operation, this is NONE. |
249 Pointer drag_pointer_; | 249 Pointer drag_pointer_; |
250 | 250 |
251 // The view being dragged. This is set immediately when the mouse is pressed. | 251 // The view being dragged. This is set immediately when the mouse is pressed. |
(...skipping 23 matching lines...) Expand all Loading... |
275 // alignment). | 275 // alignment). |
276 int leading_inset_; | 276 int leading_inset_; |
277 | 277 |
278 DISALLOW_COPY_AND_ASSIGN(LauncherView); | 278 DISALLOW_COPY_AND_ASSIGN(LauncherView); |
279 }; | 279 }; |
280 | 280 |
281 } // namespace internal | 281 } // namespace internal |
282 } // namespace ash | 282 } // namespace ash |
283 | 283 |
284 #endif // ASH_LAUNCHER_LAUNCHER_VIEW_H_ | 284 #endif // ASH_LAUNCHER_LAUNCHER_VIEW_H_ |
OLD | NEW |