12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_DELEGATE_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_DELEGATE_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/message_center/message_center_export.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace message_center { 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdochclass MessageCenterTray; 132385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// A MessageCenterTrayDelegate class is responsible for managing the various UI 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// surfaces that should be displayed when the MessageCenter is changed. 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class MESSAGE_CENTER_EXPORT MessageCenterTrayDelegate { 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~MessageCenterTrayDelegate() {}; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Called whenever a change to the visible UI has occurred. 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void OnMessageCenterTrayChanged() = 0; 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Display the popup bubbles for new notifications to the user. Returns true 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // if popups were actually displayed to the user. 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool ShowPopups() = 0; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Remove the popup bubbles from the UI. 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void HidePopups() = 0; 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Display the message center containing all undismissed notifications to the 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // user. Returns true if the center was actually displayed to the user. 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool ShowMessageCenter() = 0; 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Remove the message center from the UI. 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void HideMessageCenter() = 0; 36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Display the notifier settings as a bubble. 38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual bool ShowNotifierSettings() = 0; 39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // Returns true if the context menu for a notification is currently enabled. 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual bool IsContextMenuEnabled() const = 0; 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Show a platform-specific UI that informs the user how to open the message 44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // center. 452385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch virtual void DisplayFirstRunBalloon() {} 462385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 472385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch virtual MessageCenterTray* GetMessageCenterTray() = 0; 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace message_center 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_DELEGATE_H_ 53