| Index: ui/message_center/cocoa/tray_view_controller.h
|
| diff --git a/ui/message_center/cocoa/tray_view_controller.h b/ui/message_center/cocoa/tray_view_controller.h
|
| deleted file mode 100644
|
| index 5d5b3af83e9ddea4c81e21e97203758c6b18b55b..0000000000000000000000000000000000000000
|
| --- a/ui/message_center/cocoa/tray_view_controller.h
|
| +++ /dev/null
|
| @@ -1,186 +0,0 @@
|
| -// 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_COCOA_TRAY_VIEW_CONTROLLER_H_
|
| -#define UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_
|
| -
|
| -#import <Cocoa/Cocoa.h>
|
| -
|
| -#include <list>
|
| -#include <map>
|
| -#include <string>
|
| -
|
| -#include "base/mac/scoped_block.h"
|
| -#import "base/mac/scoped_nsobject.h"
|
| -#include "base/strings/string16.h"
|
| -#include "ui/message_center/message_center_export.h"
|
| -
|
| -@class HoverImageButton;
|
| -@class MCNotificationController;
|
| -@class MCSettingsController;
|
| -
|
| -namespace message_center {
|
| -class MessageCenter;
|
| -}
|
| -
|
| -@class HoverImageButton;
|
| -@class MCClipView;
|
| -
|
| -namespace message_center {
|
| -typedef void(^TrayAnimationEndedCallback)();
|
| -}
|
| -
|
| -// The view controller responsible for the content of the message center tray
|
| -// UI. This hosts a scroll view of all the notifications, as well as buttons
|
| -// to enter quiet mode and the settings panel.
|
| -MESSAGE_CENTER_EXPORT
|
| -@interface MCTrayViewController : NSViewController<NSAnimationDelegate> {
|
| - @private
|
| - // Controller of the notifications, where action messages are forwarded. Weak.
|
| - message_center::MessageCenter* messageCenter_;
|
| -
|
| - // The back button shown while the settings are open.
|
| - base::scoped_nsobject<HoverImageButton> backButton_;
|
| -
|
| - // The "Notifications" label at the top.
|
| - base::scoped_nsobject<NSTextField> title_;
|
| -
|
| - // The 1px horizontal divider between the scroll view and the title bar.
|
| - base::scoped_nsobject<NSBox> divider_;
|
| -
|
| - // The "Nothing to see here" label in an empty message center.
|
| - base::scoped_nsobject<NSTextField> emptyDescription_;
|
| -
|
| - // The scroll view that contains all the notifications in its documentView.
|
| - base::scoped_nsobject<NSScrollView> scrollView_;
|
| -
|
| - // The clip view that manages how scrollView_'s documentView is clipped.
|
| - base::scoped_nsobject<MCClipView> clipView_;
|
| -
|
| - // Array of MCNotificationController objects, which the array owns.
|
| - base::scoped_nsobject<NSMutableArray> notifications_;
|
| -
|
| - // Map of notification IDs to weak pointers of the view controllers in
|
| - // |notifications_|.
|
| - std::map<std::string, MCNotificationController*> notificationsMap_;
|
| -
|
| - // The pause button that enters quiet mode.
|
| - base::scoped_nsobject<HoverImageButton> pauseButton_;
|
| -
|
| - // The clear all notifications button. Hidden when there are no notifications.
|
| - base::scoped_nsobject<HoverImageButton> clearAllButton_;
|
| -
|
| - // The settings button that shows the settings UI.
|
| - base::scoped_nsobject<HoverImageButton> settingsButton_;
|
| -
|
| - // Array of MCNotificationController objects pending removal by the user.
|
| - // The object is owned by the array.
|
| - base::scoped_nsobject<NSMutableArray> notificationsPendingRemoval_;
|
| -
|
| - // Used to animate multiple notifications simultaneously when they're being
|
| - // removed or repositioned.
|
| - base::scoped_nsobject<NSViewAnimation> animation_;
|
| -
|
| - // The controller of the settings view. Only set while the view is open.
|
| - base::scoped_nsobject<MCSettingsController> settingsController_;
|
| -
|
| - // The flag which is set when the notification removal animation is still
|
| - // in progress and the user clicks "Clear All" button. The clear-all animation
|
| - // will be delayed till the existing animation completes.
|
| - BOOL clearAllDelayed_;
|
| -
|
| - // The flag which is set when the clear-all animation is in progress.
|
| - BOOL clearAllInProgress_;
|
| -
|
| - // List of weak pointers of the view controllers that are visible in the
|
| - // scroll view and waiting to slide off one by one when the user clicks
|
| - // "Clear All" button.
|
| - std::list<MCNotificationController*> visibleNotificationsPendingClear_;
|
| -
|
| - // Array of NSViewAnimation objects, which the array owns.
|
| - base::scoped_nsobject<NSMutableArray> clearAllAnimations_;
|
| -
|
| - // The duration of the bounds animation, in the number of seconds.
|
| - NSTimeInterval animationDuration_;
|
| -
|
| - // The delay to start animating clearing next notification, in the number of
|
| - // seconds.
|
| - NSTimeInterval animateClearingNextNotificationDelay_;
|
| -
|
| - // For testing only. If set, the callback will be called when the animation
|
| - // ends.
|
| - base::mac::ScopedBlock<message_center::TrayAnimationEndedCallback>
|
| - testingAnimationEndedCallback_;
|
| -}
|
| -
|
| -// The title that is displayed at the top of the message center tray.
|
| -@property(copy, nonatomic) NSString* trayTitle;
|
| -
|
| -// Designated initializer.
|
| -- (id)initWithMessageCenter:(message_center::MessageCenter*)messageCenter;
|
| -
|
| -// Called when the window is being closed.
|
| -- (void)onWindowClosing;
|
| -
|
| -// Callback for when the MessageCenter model changes.
|
| -- (void)onMessageCenterTrayChanged;
|
| -
|
| -// Action for the quiet mode button.
|
| -- (void)toggleQuietMode:(id)sender;
|
| -
|
| -// Action for the clear all button.
|
| -- (void)clearAllNotifications:(id)sender;
|
| -
|
| -// Action for the settings button.
|
| -- (void)showSettings:(id)sender;
|
| -
|
| -// Updates the settings dialog in response to contents change due to something
|
| -// like selecting a different profile.
|
| -- (void)updateSettings;
|
| -
|
| -// Hides the settings dialog if it's open.
|
| -- (void)showMessages:(id)sender;
|
| -
|
| -// Cleans up settings data structures. Called when messages are shown and when
|
| -// closing the center directly from the settings.
|
| -- (void)cleanupSettings;
|
| -
|
| -// Scroll to the topmost notification in the tray.
|
| -- (void)scrollToTop;
|
| -
|
| -// Returns true if an animation is being played.
|
| -- (BOOL)isAnimating;
|
| -
|
| -// Returns the maximum height of the client area of the notifications tray.
|
| -+ (CGFloat)maxTrayClientHeight;
|
| -
|
| -// Returns the width of the notifications tray.
|
| -+ (CGFloat)trayWidth;
|
| -
|
| -@end
|
| -
|
| -// Testing API /////////////////////////////////////////////////////////////////
|
| -
|
| -@interface MCTrayViewController (TestingAPI)
|
| -- (NSBox*)divider;
|
| -- (NSTextField*)emptyDescription;
|
| -- (NSScrollView*)scrollView;
|
| -- (HoverImageButton*)pauseButton;
|
| -- (HoverImageButton*)clearAllButton;
|
| -
|
| -// Setter for changing the animation duration. The testing code could set it
|
| -// to a very small value to expedite the test running.
|
| -- (void)setAnimationDuration:(NSTimeInterval)duration;
|
| -
|
| -// Setter for changing the clear-all animation delay. The testing code could set
|
| -// it to a very small value to expedite the test running.
|
| -- (void)setAnimateClearingNextNotificationDelay:(NSTimeInterval)delay;
|
| -
|
| -// Setter for testingAnimationEndedCallback_. The testing code could set it
|
| -// to get called back when the animation ends.
|
| -- (void)setAnimationEndedCallback:
|
| - (message_center::TrayAnimationEndedCallback)callback;
|
| -@end
|
| -
|
| -#endif // UI_MESSAGE_CENTER_COCOA_TRAY_VIEW_CONTROLLER_H_
|
|
|