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_SHELF_SHELF_VIEW_H_ | 5 #ifndef ASH_SHELF_SHELF_VIEW_H_ |
6 #define ASH_SHELF_SHELF_VIEW_H_ | 6 #define ASH_SHELF_SHELF_VIEW_H_ |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 namespace ash { | 29 namespace ash { |
30 | 30 |
31 namespace test { | 31 namespace test { |
32 class ShelfViewTestAPI; | 32 class ShelfViewTestAPI; |
33 } | 33 } |
34 | 34 |
35 class LauncherDelegate; | 35 class LauncherDelegate; |
36 struct LauncherItem; | 36 struct LauncherItem; |
37 class LauncherItemDelegateManager; | 37 class LauncherItemDelegateManager; |
38 class LauncherModel; | |
39 class ShelfIconObserver; | 38 class ShelfIconObserver; |
| 39 class ShelfModel; |
40 | 40 |
41 namespace internal { | 41 namespace internal { |
42 | 42 |
43 class DragImageView; | 43 class DragImageView; |
44 class LauncherButton; | 44 class LauncherButton; |
45 class OverflowBubble; | 45 class OverflowBubble; |
46 class OverflowButton; | 46 class OverflowButton; |
47 class ShelfLayoutManager; | 47 class ShelfLayoutManager; |
48 class ShelfTooltipManager; | 48 class ShelfTooltipManager; |
49 | 49 |
50 class ASH_EXPORT ShelfView : public views::View, | 50 class ASH_EXPORT ShelfView : public views::View, |
51 public ShelfModelObserver, | 51 public ShelfModelObserver, |
52 public views::ButtonListener, | 52 public views::ButtonListener, |
53 public ShelfButtonHost, | 53 public ShelfButtonHost, |
54 public views::ContextMenuController, | 54 public views::ContextMenuController, |
55 public views::FocusTraversable, | 55 public views::FocusTraversable, |
56 public views::BoundsAnimatorObserver, | 56 public views::BoundsAnimatorObserver, |
57 public app_list::ApplicationDragAndDropHost { | 57 public app_list::ApplicationDragAndDropHost { |
58 public: | 58 public: |
59 ShelfView(LauncherModel* model, | 59 ShelfView(ShelfModel* model, |
60 LauncherDelegate* delegate, | 60 LauncherDelegate* delegate, |
61 ShelfLayoutManager* shelf_layout_manager); | 61 ShelfLayoutManager* shelf_layout_manager); |
62 virtual ~ShelfView(); | 62 virtual ~ShelfView(); |
63 | 63 |
64 ShelfTooltipManager* tooltip_manager() { return tooltip_.get(); } | 64 ShelfTooltipManager* tooltip_manager() { return tooltip_.get(); } |
65 | 65 |
66 ShelfLayoutManager* shelf_layout_manager() { return layout_manager_; } | 66 ShelfLayoutManager* shelf_layout_manager() { return layout_manager_; } |
67 | 67 |
68 LauncherModel* model() { return model_; } | 68 ShelfModel* model() { return model_; } |
69 | 69 |
70 void Init(); | 70 void Init(); |
71 | 71 |
72 void OnShelfAlignmentChanged(); | 72 void OnShelfAlignmentChanged(); |
73 void SchedulePaintForAllButtons(); | 73 void SchedulePaintForAllButtons(); |
74 | 74 |
75 // Returns the ideal bounds of the specified item, or an empty rect if id | 75 // Returns the ideal bounds of the specified item, or an empty rect if id |
76 // isn't know. | 76 // isn't know. |
77 gfx::Rect GetIdealBoundsOfItemIcon(LauncherID id); | 77 gfx::Rect GetIdealBoundsOfItemIcon(LauncherID id); |
78 | 78 |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 const LauncherItem* LauncherItemForView(const views::View* view) const; | 311 const LauncherItem* LauncherItemForView(const views::View* view) const; |
312 | 312 |
313 // Returns true if a tooltip should be shown for |view|. | 313 // Returns true if a tooltip should be shown for |view|. |
314 bool ShouldShowTooltipForView(const views::View* view) const; | 314 bool ShouldShowTooltipForView(const views::View* view) const; |
315 | 315 |
316 // Get the distance from the given |coordinate| to the closest point on this | 316 // Get the distance from the given |coordinate| to the closest point on this |
317 // launcher/shelf. | 317 // launcher/shelf. |
318 int CalculateShelfDistance(const gfx::Point& coordinate) const; | 318 int CalculateShelfDistance(const gfx::Point& coordinate) const; |
319 | 319 |
320 // The model; owned by Launcher. | 320 // The model; owned by Launcher. |
321 LauncherModel* model_; | 321 ShelfModel* model_; |
322 | 322 |
323 // Delegate; owned by Launcher. | 323 // Delegate; owned by Launcher. |
324 LauncherDelegate* delegate_; | 324 LauncherDelegate* delegate_; |
325 | 325 |
326 // Used to manage the set of active launcher buttons. There is a view per | 326 // Used to manage the set of active launcher buttons. There is a view per |
327 // item in |model_|. | 327 // item in |model_|. |
328 scoped_ptr<views::ViewModel> view_model_; | 328 scoped_ptr<views::ViewModel> view_model_; |
329 | 329 |
330 // Index of first visible launcher item. | 330 // Index of first visible launcher item. |
331 int first_visible_index_; | 331 int first_visible_index_; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 // True when this ShelfView is used for Overflow Bubble. | 426 // True when this ShelfView is used for Overflow Bubble. |
427 bool overflow_mode_; | 427 bool overflow_mode_; |
428 | 428 |
429 DISALLOW_COPY_AND_ASSIGN(ShelfView); | 429 DISALLOW_COPY_AND_ASSIGN(ShelfView); |
430 }; | 430 }; |
431 | 431 |
432 } // namespace internal | 432 } // namespace internal |
433 } // namespace ash | 433 } // namespace ash |
434 | 434 |
435 #endif // ASH_SHELF_SHELF_VIEW_H_ | 435 #endif // ASH_SHELF_SHELF_VIEW_H_ |
OLD | NEW |