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