summaryrefslogtreecommitdiffstats
path: root/ui/message_center/views/message_center_button_bar.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/message_center/views/message_center_button_bar.h')
-rw-r--r--ui/message_center/views/message_center_button_bar.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/ui/message_center/views/message_center_button_bar.h b/ui/message_center/views/message_center_button_bar.h
new file mode 100644
index 0000000..72b30c9
--- /dev/null
+++ b/ui/message_center/views/message_center_button_bar.h
@@ -0,0 +1,68 @@
+// Copyright 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 UI_MESSAGE_CENTER_VIEWS_MESSAGE_CENTER_BUTTON_BAR_H_
+#define UI_MESSAGE_CENTER_VIEWS_MESSAGE_CENTER_BUTTON_BAR_H_
+
+#include "ui/views/controls/button/button.h"
+#include "ui/views/view.h"
+
+namespace views {
+class Label;
+}
+
+namespace message_center {
+
+class ButtonBarSettingsLabel;
+class MessageCenter;
+class MessageCenterTray;
+class MessageCenterView;
+class NotificationCenterButton;
+class NotifierSettingsProvider;
+
+// MessageCenterButtonBar is the class that shows the content outside the main
+// notification area - the label (or NotifierGroup switcher) and the buttons.
+class MessageCenterButtonBar : public views::View,
+ public views::ButtonListener {
+ public:
+ MessageCenterButtonBar(MessageCenterView* message_center_view,
+ MessageCenter* message_center,
+ NotifierSettingsProvider* notifier_settings_provider,
+ bool settings_initially_visible);
+ virtual ~MessageCenterButtonBar();
+
+ // Enables or disables all of the buttons in the center. This is used to
+ // prevent user clicks during the close-all animation.
+ virtual void SetAllButtonsEnabled(bool enabled);
+
+ // Sometimes we shouldn't see the close-all button.
+ void SetCloseAllButtonVisible(bool visible);
+
+ private:
+ // Overridden from views::View:
+ virtual void ChildVisibilityChanged(views::View* child) OVERRIDE;
+
+ // Overridden from views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const ui::Event& event) OVERRIDE;
+
+ MessageCenterView* message_center_view() const {
+ return message_center_view_;
+ }
+ MessageCenter* message_center() const { return message_center_; }
+
+ MessageCenterView* message_center_view_; // Weak reference.
+ MessageCenter* message_center_; // Weak reference.
+
+ // Sub-views of the button bar.
+ views::Button* close_all_button_;
+ NotificationCenterButton* settings_button_;
+ NotificationCenterButton* quiet_mode_button_;
+
+ DISALLOW_COPY_AND_ASSIGN(MessageCenterButtonBar);
+};
+
+} // namespace message_center
+
+#endif // UI_MESSAGE_CENTER_VIEWS_MESSAGE_CENTER_BUTTON_BAR_H_