OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ | 5 #ifndef ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |
6 #define ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ | 6 #define ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |
7 | 7 |
| 8 #include "ash/ash_export.h" |
8 #include "ui/gfx/size.h" | 9 #include "ui/gfx/size.h" |
9 #include "ui/views/view.h" | 10 #include "ui/views/view.h" |
10 | 11 |
11 namespace views { | 12 namespace views { |
12 class Label; | 13 class Label; |
13 } | 14 } |
14 | 15 |
15 namespace ash { | 16 namespace ash { |
16 class ThrobberView; | 17 class ThrobberView; |
17 class TrayItemView; | 18 class TrayItemView; |
18 class TrayPopupHeaderButton; | 19 class TrayPopupHeaderButton; |
19 class ViewClickListener; | 20 class ViewClickListener; |
20 | 21 |
21 // The 'special' looking row in the uber-tray popups. This is usually the bottom | 22 // The 'special' looking row in the uber-tray popups. This is usually the bottom |
22 // row in the popups, and has a fixed height. | 23 // row in the popups, and has a fixed height. |
23 class SpecialPopupRow : public views::View { | 24 class ASH_EXPORT SpecialPopupRow : public views::View { |
24 public: | 25 public: |
25 SpecialPopupRow(); | 26 SpecialPopupRow(); |
26 ~SpecialPopupRow() override; | 27 ~SpecialPopupRow() override; |
27 | 28 |
28 void SetTextLabel(int string_id, ViewClickListener* listener); | 29 void SetTextLabel(int string_id, ViewClickListener* listener); |
29 void SetContent(views::View* view); | 30 void SetContent(views::View* view); |
30 | 31 |
31 void AddButton(TrayPopupHeaderButton* button); | 32 void AddButton(TrayPopupHeaderButton* button); |
32 void AddThrobber(ThrobberView* throbber); | 33 void AddThrobber(ThrobberView* throbber); |
33 | 34 |
34 views::View* content() const { return content_; } | 35 views::View* content() const { return content_; } |
35 | 36 |
36 private: | 37 private: |
37 // Overridden from views::View. | 38 // Overridden from views::View. |
38 gfx::Size GetPreferredSize() const override; | 39 gfx::Size GetPreferredSize() const override; |
39 int GetHeightForWidth(int width) const override; | 40 int GetHeightForWidth(int width) const override; |
40 void Layout() override; | 41 void Layout() override; |
41 | 42 |
42 views::View* content_; | 43 views::View* content_; |
43 views::View* button_container_; | 44 views::View* button_container_; |
44 views::Label* text_label_; | 45 views::Label* text_label_; |
45 | 46 |
46 DISALLOW_COPY_AND_ASSIGN(SpecialPopupRow); | 47 DISALLOW_COPY_AND_ASSIGN(SpecialPopupRow); |
47 }; | 48 }; |
48 | 49 |
49 } // namespace ash | 50 } // namespace ash |
50 | 51 |
51 #endif // ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ | 52 #endif // ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |
OLD | NEW |