diff options
Diffstat (limited to 'chromium/ash/system/tray/special_popup_row.h')
-rw-r--r-- | chromium/ash/system/tray/special_popup_row.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/chromium/ash/system/tray/special_popup_row.h b/chromium/ash/system/tray/special_popup_row.h new file mode 100644 index 00000000000..ee068e4eb8a --- /dev/null +++ b/chromium/ash/system/tray/special_popup_row.h @@ -0,0 +1,54 @@ +// 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 { +namespace internal { + +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() OVERRIDE; + virtual int GetHeightForWidth(int width) OVERRIDE; + virtual void Layout() OVERRIDE; + + views::View* content_; + views::View* button_container_; + views::Label* text_label_; + + DISALLOW_COPY_AND_ASSIGN(SpecialPopupRow); +}; + +} // namespace internal +} // namespace ash + +#endif // ASH_SYSTEM_TRAY_SPECIAL_POPUP_ROW_H_ |