| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |
| #define ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |
| |
| #include "ui/gfx/size.h" |
| #include "ui/views/view.h" |
| |
| namespace views { |
| class Label; |
| } |
| |
| namespace ash { |
| class ThrobberView; |
| class TrayItemView; |
| class TrayPopupHeaderButton; |
| class ViewClickListener; |
| |
| // The 'special' looking row in the uber-tray popups. This is usually the bottom |
| // row in the popups, and has a fixed height. |
| class SpecialPopupRow : public views::View { |
| public: |
| SpecialPopupRow(); |
| virtual ~SpecialPopupRow(); |
| |
| void SetTextLabel(int string_id, ViewClickListener* listener); |
| void SetContent(views::View* view); |
| |
| void AddButton(TrayPopupHeaderButton* button); |
| void AddThrobber(ThrobberView* throbber); |
| |
| views::View* content() const { return content_; } |
| |
| private: |
| // Overridden from views::View. |
| virtual gfx::Size GetPreferredSize() const OVERRIDE; |
| virtual int GetHeightForWidth(int width) const OVERRIDE; |
| virtual void Layout() OVERRIDE; |
| |
| views::View* content_; |
| views::View* button_container_; |
| views::Label* text_label_; |
| |
| DISALLOW_COPY_AND_ASSIGN(SpecialPopupRow); |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |