| 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_SHELF_SHELF_UTIL_H_ | 5 #ifndef ASH_SHELF_SHELF_UTIL_H_ |
| 6 #define ASH_SHELF_SHELF_UTIL_H_ | 6 #define ASH_SHELF_SHELF_UTIL_H_ |
| 7 | 7 |
| 8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
| 9 #include "ash/shelf/shelf_item_types.h" | 9 #include "ash/shelf/shelf_item_types.h" |
| 10 #include "ui/aura/window.h" | 10 #include "ui/aura/window.h" |
| 11 | 11 |
| 12 namespace aura { | 12 namespace aura { |
| 13 class Window; | 13 class Window; |
| 14 } | 14 } |
| 15 | 15 |
| 16 namespace ash { | 16 namespace ash { |
| 17 | 17 |
| 18 // A property key to store the id of the ShelfItem associated with the window. | |
| 19 extern const aura::WindowProperty<ShelfID>* const kShelfID; | |
| 20 | |
| 21 // A property key to store the resource id and title of the item shown on the | |
| 22 // shelf for this window. | |
| 23 extern const aura::WindowProperty<ShelfItemDetails*>* const | 18 extern const aura::WindowProperty<ShelfItemDetails*>* const |
| 24 kShelfItemDetailsKey; | 19 kShelfItemDetailsKey; |
| 25 | 20 |
| 26 // Associates ShelfItem of |id| with specified |window|. | 21 // Associates ShelfItem of |id| with specified |window|. |
| 27 ASH_EXPORT void SetShelfIDForWindow(ShelfID id, aura::Window* window); | 22 ASH_EXPORT void SetShelfIDForWindow(ShelfID id, aura::Window* window); |
| 28 | 23 |
| 29 // Returns the id of the ShelfItem associated with the specified |window|, | 24 // Returns the id of the ShelfItem associated with the specified |window|, |
| 30 // or 0 if there isn't one. | 25 // or 0 if there isn't one. |
| 31 // Note: Window of a tabbed browser will return the |ShelfID| of the | 26 // Note: Window of a tabbed browser will return the |ShelfID| of the |
| 32 // currently active tab. | 27 // currently active tab. |
| 33 ASH_EXPORT ShelfID GetShelfIDForWindow(aura::Window* window); | 28 ASH_EXPORT ShelfID GetShelfIDForWindow(aura::Window* window); |
| 34 | 29 |
| 35 // Sets ShelfItemDetails for |window|. | 30 // Sets ShelfItemDetails for |window|. |
| 36 ASH_EXPORT void SetShelfItemDetailsForWindow(aura::Window* window, | 31 ASH_EXPORT void SetShelfItemDetailsForWindow(aura::Window* window, |
| 37 const ShelfItemDetails& details); | 32 const ShelfItemDetails& details); |
| 38 | 33 |
| 39 // Clears ShelfItemDetails for |window|. | 34 // Clears ShelfItemDetails for |window|. |
| 40 // If |window| has a ShelfItem by SetShelfItemDetailsForWindow(), it will | 35 // If |window| has a ShelfItem by SetShelfItemDetailsForWindow(), it will |
| 41 // be removed. | 36 // be removed. |
| 42 ASH_EXPORT void ClearShelfItemDetailsForWindow(aura::Window* window); | 37 ASH_EXPORT void ClearShelfItemDetailsForWindow(aura::Window* window); |
| 43 | 38 |
| 44 // Returns ShelfItemDetails for |window| or NULL if it doesn't have. | 39 // Returns ShelfItemDetails for |window| or NULL if it doesn't have. |
| 45 // Returned ShelfItemDetails object is owned by the |window|. | 40 // Returned ShelfItemDetails object is owned by the |window|. |
| 46 ASH_EXPORT const ShelfItemDetails* GetShelfItemDetailsForWindow( | 41 ASH_EXPORT const ShelfItemDetails* GetShelfItemDetailsForWindow( |
| 47 aura::Window* window); | 42 aura::Window* window); |
| 48 | 43 |
| 49 } // namespace ash | 44 } // namespace ash |
| 50 | 45 |
| 51 #endif // ASH_SHELF_SHELF_UTIL_H_ | 46 #endif // ASH_SHELF_SHELF_UTIL_H_ |
| OLD | NEW |