• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_DELEGATE_H_
6 #define UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_DELEGATE_H_
7 
8 #include "ui/message_center/message_center_export.h"
9 
10 namespace message_center {
11 
12 class MessageCenterTray;
13 
14 // A MessageCenterTrayDelegate class is responsible for managing the various UI
15 // surfaces that should be displayed when the MessageCenter is changed.
16 class MESSAGE_CENTER_EXPORT MessageCenterTrayDelegate {
17  public:
~MessageCenterTrayDelegate()18   virtual ~MessageCenterTrayDelegate() {};
19 
20   // Called whenever a change to the visible UI has occurred.
21   virtual void OnMessageCenterTrayChanged() = 0;
22 
23   // Display the popup bubbles for new notifications to the user.  Returns true
24   // if popups were actually displayed to the user.
25   virtual bool ShowPopups() = 0;
26 
27   // Remove the popup bubbles from the UI.
28   virtual void HidePopups() = 0;
29 
30   // Display the message center containing all undismissed notifications to the
31   // user.  Returns true if the center was actually displayed to the user.
32   virtual bool ShowMessageCenter() = 0;
33 
34   // Remove the message center from the UI.
35   virtual void HideMessageCenter() = 0;
36 
37   // Display the notifier settings as a bubble.
38   virtual bool ShowNotifierSettings() = 0;
39 
40   // Returns true if the context menu for a notification is currently enabled.
41   virtual bool IsContextMenuEnabled() const = 0;
42 
43   // Show a platform-specific UI that informs the user how to open the message
44   // center.
DisplayFirstRunBalloon()45   virtual void DisplayFirstRunBalloon() {}
46 
47   virtual MessageCenterTray* GetMessageCenterTray() = 0;
48 };
49 
50 }  // namespace message_center
51 
52 #endif  // UI_MESSAGE_CENTER_MESSAGE_CENTER_TRAY_DELEGATE_H_
53