OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_COMMON_SHELF_SHELF_WINDOW_WATCHER_ITEM_DELEGATE_H_ | 5 #ifndef ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_ITEM_DELEGATE_H_ |
6 #define ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_ITEM_DELEGATE_H_ | 6 #define ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_ITEM_DELEGATE_H_ |
7 | 7 |
8 #include "ash/common/shelf/shelf_item_delegate.h" | 8 #include "ash/common/shelf/shelf_item_delegate.h" |
| 9 #include "ash/common/shelf/shelf_item_types.h" |
9 #include "base/macros.h" | 10 #include "base/macros.h" |
10 | 11 |
11 namespace ash { | 12 namespace ash { |
12 | 13 |
13 class WmWindow; | 14 class WmWindow; |
14 | 15 |
15 // ShelfItemDelegate for the items created by ShelfWindowWatcher. | 16 // ShelfItemDelegate for the items created by ShelfWindowWatcher. |
16 class ShelfWindowWatcherItemDelegate : public ShelfItemDelegate { | 17 class ShelfWindowWatcherItemDelegate : public ShelfItemDelegate { |
17 public: | 18 public: |
18 explicit ShelfWindowWatcherItemDelegate(WmWindow* window); | 19 ShelfWindowWatcherItemDelegate(ShelfID id, WmWindow* window); |
19 ~ShelfWindowWatcherItemDelegate() override; | 20 ~ShelfWindowWatcherItemDelegate() override; |
20 | 21 |
21 private: | 22 private: |
22 // ShelfItemDelegate overrides: | 23 // ShelfItemDelegate overrides: |
23 ShelfItemDelegate::PerformedAction ItemSelected( | 24 ShelfItemDelegate::PerformedAction ItemSelected( |
24 const ui::Event& event) override; | 25 const ui::Event& event) override; |
25 base::string16 GetTitle() override; | 26 base::string16 GetTitle() override; |
26 ShelfMenuModel* CreateApplicationMenu(int event_flags) override; | 27 ShelfMenuModel* CreateApplicationMenu(int event_flags) override; |
27 bool IsDraggable() override; | 28 bool IsDraggable() override; |
28 bool CanPin() const override; | 29 bool CanPin() const override; |
29 bool ShouldShowTooltip() override; | 30 bool ShouldShowTooltip() override; |
| 31 bool IsOpen() const override; |
30 void Close() override; | 32 void Close() override; |
31 | 33 |
| 34 ShelfID id_; |
32 // The window associated with this item. Not owned. | 35 // The window associated with this item. Not owned. |
33 WmWindow* window_; | 36 WmWindow* window_; |
34 | 37 |
35 DISALLOW_COPY_AND_ASSIGN(ShelfWindowWatcherItemDelegate); | 38 DISALLOW_COPY_AND_ASSIGN(ShelfWindowWatcherItemDelegate); |
36 }; | 39 }; |
37 | 40 |
38 } // namespace ash | 41 } // namespace ash |
39 | 42 |
40 #endif // ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_ITEM_DELEGATE_H_ | 43 #endif // ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_ITEM_DELEGATE_H_ |
OLD | NEW |