OLD | NEW |
| (Empty) |
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_COCOA_TRAY_CONTROLLER_H_ | |
6 #define UI_MESSAGE_CENTER_COCOA_TRAY_CONTROLLER_H_ | |
7 | |
8 #import <AppKit/AppKit.h> | |
9 | |
10 #include "base/basictypes.h" | |
11 #include "base/mac/scoped_nsobject.h" | |
12 #include "ui/message_center/message_center_export.h" | |
13 | |
14 @class MCTrayViewController; | |
15 | |
16 namespace message_center { | |
17 class MessageCenterTray; | |
18 } | |
19 | |
20 // The window controller for the message center tray. This merely hosts the | |
21 // view from MCTrayViewController. | |
22 MESSAGE_CENTER_EXPORT | |
23 @interface MCTrayController : NSWindowController<NSWindowDelegate> { | |
24 @private | |
25 message_center::MessageCenterTray* tray_; // Weak, indirectly owns this. | |
26 | |
27 // View controller that provides this window's content. | |
28 base::scoped_nsobject<MCTrayViewController> viewController_; | |
29 | |
30 // An event monitor that listens for clicks outside the tray window to cause | |
31 // it to close. | |
32 id clickEventMonitor_; | |
33 } | |
34 | |
35 @property(readonly, nonatomic) MCTrayViewController* viewController; | |
36 | |
37 // Designated initializer. | |
38 - (id)initWithMessageCenterTray:(message_center::MessageCenterTray*)tray; | |
39 | |
40 // Opens the message center tray to either the right or left of the given | |
41 // points, depending on if it will fit on screen. It will try opening to the | |
42 // right first, but if the window does not fit on screen, it will open to the | |
43 // left. | |
44 - (void)showTrayAtRightOf:(NSPoint)rightPoint atLeftOf:(NSPoint)leftPoint; | |
45 | |
46 // Callback from MessageCenterTrayDelegate, used to update the tray content. | |
47 - (void)onMessageCenterTrayChanged; | |
48 | |
49 @end | |
50 | |
51 #endif // UI_MESSAGE_CENTER_COCOA_TRAY_CONTROLLER_H_ | |
OLD | NEW |