// 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_