| Index: ui/message_center/message_center_tray.h
|
| diff --git a/ui/message_center/message_center_tray.h b/ui/message_center/message_center_tray.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c6cf819e808ace9cd5b2ee8199c103576760ed8c
|
| --- /dev/null
|
| +++ b/ui/message_center/message_center_tray.h
|
| @@ -0,0 +1,84 @@
|
| +// 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 UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_H_
|
| +#define UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_H_
|
| +
|
| +#include "base/observer_list.h"
|
| +#include "ui/message_center/message_center.h"
|
| +#include "ui/message_center/message_center_export.h"
|
| +#include "ui/views/bubble/tray_bubble_view.h"
|
| +
|
| +namespace message_center {
|
| +class MessageBubbleBase;
|
| +class MessagePopupBubble;
|
| +class QuietModeBubble;
|
| +}
|
| +
|
| +namespace views {
|
| +class Widget;
|
| +}
|
| +
|
| +namespace ui {
|
| +
|
| +class MessageCenterTrayDelegate {
|
| + public:
|
| + static MessageCenterTrayDelegate* CreateForPlatform();
|
| + virtual ~MessageCenterTrayDelegate() {};
|
| +
|
| + virtual void OnMessageCenterTrayChanged() = 0;
|
| + virtual bool ShowPopups(message_center::MessageBubbleBase* bubble) = 0;
|
| + virtual void HidePopups() = 0;
|
| + virtual void UpdatePopups() = 0;
|
| + virtual bool ShowMessageCenter(message_center::MessageBubbleBase* bubble) = 0;
|
| + virtual void HideMessageCenter() = 0;
|
| + virtual void UpdateMessageCenter() = 0;
|
| +};
|
| +
|
| +// Class that observes a MessageCenter. Manages the popup and message center
|
| +// bubbles. Tells the MessageCenterTrayHost when the tray is changed, as well
|
| +// as when bubbles are shown and hidden.
|
| +class MESSAGE_CENTER_EXPORT MessageCenterTray
|
| + : public message_center::MessageCenter::Observer {
|
| + public:
|
| + MessageCenterTray(MessageCenterTrayDelegate* delegate,
|
| + message_center::MessageCenter* message_center);
|
| + virtual ~MessageCenterTray();
|
| +
|
| + // Shows or updates the message center bubble and hides the popup bubble.
|
| + void ShowMessageCenterBubble();
|
| +
|
| + // Returns whether the message center was visible before.
|
| + bool HideMessageCenterBubble();
|
| +
|
| + void ToggleMessageCenterBubble();
|
| +
|
| + // Causes an update if the popup bubble is already shown.
|
| + void ShowPopupBubble();
|
| +
|
| + // Returns whether the popup was visible before.
|
| + bool HidePopupBubble();
|
| +
|
| + bool message_center_visible() { return message_center_visible_; }
|
| + bool popups_visible() { return popups_visible_; }
|
| + MessageCenterTrayDelegate* delegate() { return delegate_; }
|
| + message_center::MessageCenter* message_center() { return message_center_; }
|
| +
|
| + // Overridden from message_center::MessageCenter::Observer.
|
| + virtual void OnMessageCenterChanged(bool new_notification) OVERRIDE;
|
| +
|
| + private:
|
| + void NotifyMessageCenterTrayChanged();
|
| +
|
| + message_center::MessageCenter* message_center_;
|
| + bool message_center_visible_;
|
| + bool popups_visible_;
|
| + MessageCenterTrayDelegate* delegate_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MessageCenterTray);
|
| +};
|
| +
|
| +} // namespace ui
|
| +
|
| +#endif // UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_H_
|
|
|