Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(618)

Side by Side Diff: ui/message_center/cocoa/tray_view_controller.h

Issue 17593006: mac: Update clients of scoped_nsobject.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: iwyu, scoped_nsprotocol Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_ 5 #ifndef UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_
6 #define UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_ 6 #define UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 9
10 #include <list> 10 #include <list>
11 #include <map> 11 #include <map>
12 #include <string> 12 #include <string>
13 13
14 #include "base/mac/scoped_block.h" 14 #include "base/mac/scoped_block.h"
15 #import "base/memory/scoped_nsobject.h" 15 #import "base/mac/scoped_nsobject.h"
16 #include "ui/message_center/message_center_export.h" 16 #include "ui/message_center/message_center_export.h"
17 17
18 @class HoverImageButton; 18 @class HoverImageButton;
19 @class MCNotificationController; 19 @class MCNotificationController;
20 @class MCSettingsController; 20 @class MCSettingsController;
21 21
22 namespace message_center { 22 namespace message_center {
23 class MessageCenter; 23 class MessageCenter;
24 } 24 }
25 25
26 @class HoverImageButton; 26 @class HoverImageButton;
27 @class MCClipView; 27 @class MCClipView;
28 28
29 namespace message_center { 29 namespace message_center {
30 typedef void(^TrayAnimationEndedCallback)(); 30 typedef void(^TrayAnimationEndedCallback)();
31 } 31 }
32 32
33 // The view controller responsible for the content of the message center tray 33 // The view controller responsible for the content of the message center tray
34 // UI. This hosts a scroll view of all the notifications, as well as buttons 34 // UI. This hosts a scroll view of all the notifications, as well as buttons
35 // to enter quiet mode and the settings panel. 35 // to enter quiet mode and the settings panel.
36 MESSAGE_CENTER_EXPORT 36 MESSAGE_CENTER_EXPORT
37 @interface MCTrayViewController : NSViewController<NSAnimationDelegate> { 37 @interface MCTrayViewController : NSViewController<NSAnimationDelegate> {
38 @private 38 @private
39 // Controller of the notifications, where action messages are forwarded. Weak. 39 // Controller of the notifications, where action messages are forwarded. Weak.
40 message_center::MessageCenter* messageCenter_; 40 message_center::MessageCenter* messageCenter_;
41 41
42 // The back button shown while the settings are open. 42 // The back button shown while the settings are open.
43 scoped_nsobject<HoverImageButton> backButton_; 43 base::scoped_nsobject<HoverImageButton> backButton_;
44 44
45 // The "Notifications" label at the top. 45 // The "Notifications" label at the top.
46 scoped_nsobject<NSTextField> title_; 46 base::scoped_nsobject<NSTextField> title_;
47 47
48 // The scroll view that contains all the notifications in its documentView. 48 // The scroll view that contains all the notifications in its documentView.
49 scoped_nsobject<NSScrollView> scrollView_; 49 base::scoped_nsobject<NSScrollView> scrollView_;
50 50
51 // The clip view that manages how scrollView_'s documentView is clipped. 51 // The clip view that manages how scrollView_'s documentView is clipped.
52 scoped_nsobject<MCClipView> clipView_; 52 base::scoped_nsobject<MCClipView> clipView_;
53 53
54 // Array of MCNotificationController objects, which the array owns. 54 // Array of MCNotificationController objects, which the array owns.
55 scoped_nsobject<NSMutableArray> notifications_; 55 base::scoped_nsobject<NSMutableArray> notifications_;
56 56
57 // Map of notification IDs to weak pointers of the view controllers in 57 // Map of notification IDs to weak pointers of the view controllers in
58 // |notifications_|. 58 // |notifications_|.
59 std::map<std::string, MCNotificationController*> notificationsMap_; 59 std::map<std::string, MCNotificationController*> notificationsMap_;
60 60
61 // The pause button that enters quiet mode. 61 // The pause button that enters quiet mode.
62 scoped_nsobject<HoverImageButton> pauseButton_; 62 base::scoped_nsobject<HoverImageButton> pauseButton_;
63 63
64 // The clear all notifications button. Hidden when there are no notifications. 64 // The clear all notifications button. Hidden when there are no notifications.
65 scoped_nsobject<HoverImageButton> clearAllButton_; 65 base::scoped_nsobject<HoverImageButton> clearAllButton_;
66 66
67 // The settings button that shows the settings UI. 67 // The settings button that shows the settings UI.
68 scoped_nsobject<HoverImageButton> settingsButton_; 68 base::scoped_nsobject<HoverImageButton> settingsButton_;
69 69
70 // Array of MCNotificationController objects pending removal by the user. 70 // Array of MCNotificationController objects pending removal by the user.
71 // The object is owned by the array. 71 // The object is owned by the array.
72 scoped_nsobject<NSMutableArray> notificationsPendingRemoval_; 72 base::scoped_nsobject<NSMutableArray> notificationsPendingRemoval_;
73 73
74 // Used to animate multiple notifications simultaneously when they're being 74 // Used to animate multiple notifications simultaneously when they're being
75 // removed or repositioned. 75 // removed or repositioned.
76 scoped_nsobject<NSViewAnimation> animation_; 76 base::scoped_nsobject<NSViewAnimation> animation_;
77 77
78 // The controller of the settings view. Only set while the view is open. 78 // The controller of the settings view. Only set while the view is open.
79 scoped_nsobject<MCSettingsController> settingsController_; 79 base::scoped_nsobject<MCSettingsController> settingsController_;
80 80
81 // The flag which is set when the notification removal animation is still 81 // The flag which is set when the notification removal animation is still
82 // in progress and the user clicks "Clear All" button. The clear-all animation 82 // in progress and the user clicks "Clear All" button. The clear-all animation
83 // will be delayed till the existing animation completes. 83 // will be delayed till the existing animation completes.
84 BOOL clearAllDelayed_; 84 BOOL clearAllDelayed_;
85 85
86 // The flag which is set when the clear-all animation is in progress. 86 // The flag which is set when the clear-all animation is in progress.
87 BOOL clearAllInProgress_; 87 BOOL clearAllInProgress_;
88 88
89 // List of weak pointers of the view controllers that are visible in the 89 // List of weak pointers of the view controllers that are visible in the
90 // scroll view and waiting to slide off one by one when the user clicks 90 // scroll view and waiting to slide off one by one when the user clicks
91 // "Clear All" button. 91 // "Clear All" button.
92 std::list<MCNotificationController*> visibleNotificationsPendingClear_; 92 std::list<MCNotificationController*> visibleNotificationsPendingClear_;
93 93
94 // Array of NSViewAnimation objects, which the array owns. 94 // Array of NSViewAnimation objects, which the array owns.
95 scoped_nsobject<NSMutableArray> clearAllAnimations_; 95 base::scoped_nsobject<NSMutableArray> clearAllAnimations_;
96 96
97 // The duration of the bounds animation, in the number of seconds. 97 // The duration of the bounds animation, in the number of seconds.
98 NSTimeInterval animationDuration_; 98 NSTimeInterval animationDuration_;
99 99
100 // The delay to start animating clearing next notification, in the number of 100 // The delay to start animating clearing next notification, in the number of
101 // seconds. 101 // seconds.
102 NSTimeInterval animateClearingNextNotificationDelay_; 102 NSTimeInterval animateClearingNextNotificationDelay_;
103 103
104 // For testing only. If set, the callback will be called when the animation 104 // For testing only. If set, the callback will be called when the animation
105 // ends. 105 // ends.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 // it to a very small value to expedite the test running. 157 // it to a very small value to expedite the test running.
158 - (void)setAnimateClearingNextNotificationDelay:(NSTimeInterval)delay; 158 - (void)setAnimateClearingNextNotificationDelay:(NSTimeInterval)delay;
159 159
160 // Setter for testingAnimationEndedCallback_. The testing code could set it 160 // Setter for testingAnimationEndedCallback_. The testing code could set it
161 // to get called back when the animation ends. 161 // to get called back when the animation ends.
162 - (void)setAnimationEndedCallback: 162 - (void)setAnimationEndedCallback:
163 (message_center::TrayAnimationEndedCallback)callback; 163 (message_center::TrayAnimationEndedCallback)callback;
164 @end 164 @end
165 165
166 #endif // UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_ 166 #endif // UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698