diff options
Diffstat (limited to 'ui/message_center/views/message_center_button_bar.h')
-rw-r--r-- | ui/message_center/views/message_center_button_bar.h | 68 |
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_ |