summaryrefslogtreecommitdiff
path: root/chromium/ash/system/tray/special_popup_row.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ash/system/tray/special_popup_row.h')
-rw-r--r--chromium/ash/system/tray/special_popup_row.h54
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_