| Index: chrome/browser/ui/cocoa/panels/panel_titlebar_view_cocoa.h
|
| diff --git a/chrome/browser/ui/cocoa/panels/panel_titlebar_view_cocoa.h b/chrome/browser/ui/cocoa/panels/panel_titlebar_view_cocoa.h
|
| deleted file mode 100644
|
| index dc139e5a183d73abc9eb71c18bc697323f288475..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/cocoa/panels/panel_titlebar_view_cocoa.h
|
| +++ /dev/null
|
| @@ -1,131 +0,0 @@
|
| -// Copyright (c) 2012 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 CHROME_BROWSER_UI_COCOA_PANELS_PANEL_TITLEBAR_VIEW_COCOA_H_
|
| -#define CHROME_BROWSER_UI_COCOA_PANELS_PANEL_TITLEBAR_VIEW_COCOA_H_
|
| -
|
| -#import <Cocoa/Cocoa.h>
|
| -
|
| -#import "chrome/browser/ui/cocoa/panels/mouse_drag_controller.h"
|
| -#import "ui/base/cocoa/tracking_area.h"
|
| -
|
| -@class HoverImageButton;
|
| -@class MouseDragController;
|
| -@class PanelWindowControllerCocoa;
|
| -
|
| -// A class that works as a custom titlebar for Panels. It is placed on top of
|
| -// the regular Cocoa titlebar. It's the place for the close button, page
|
| -// favicon, title label and a button to minimize/restore the panel.
|
| -// It also facilitates dragging and minimization of the panels, and changes
|
| -// color as 'new activity' indicator.
|
| -// One way to have custom titlebar would be to use NSBorderlessWindow,
|
| -// but it seems to affect too many other behaviors (for example, it draws shadow
|
| -// differently based on being key window) so it appears easier to simply overlay
|
| -// the standard titlebar.
|
| -
|
| -// This view overlays the titlebar on top. It is used to intercept
|
| -// mouse input to prevent reordering of the other browser windows when clicking
|
| -// on the titlebar (to minimize or reorder) while in a docked collection.
|
| -@interface PanelTitlebarOverlayView : NSView {
|
| - @private
|
| - IBOutlet PanelWindowControllerCocoa* controller_;
|
| - BOOL disableReordering_;
|
| -}
|
| -@end
|
| -
|
| -@interface RepaintAnimation : NSAnimation {
|
| - @private
|
| - NSView* targetView_;
|
| -}
|
| -- (id)initWithView:(NSView*)targetView duration:(double) duration;
|
| -- (void)setCurrentProgress:(NSAnimationProgress)progress;
|
| -@end
|
| -
|
| -@interface PanelTitlebarViewCocoa : NSView
|
| - <NSAnimationDelegate,
|
| - MouseDragControllerClient> {
|
| - @private
|
| - IBOutlet PanelWindowControllerCocoa* controller_;
|
| - IBOutlet NSView* icon_;
|
| - IBOutlet NSTextField* title_;
|
| - IBOutlet HoverImageButton* minimizeButton_;
|
| - IBOutlet HoverImageButton* restoreButton_;
|
| - IBOutlet HoverImageButton* customCloseButton_;
|
| - // Transparent view on top of entire titlebar. It catches mouse events to
|
| - // prevent window activation by the system on mouseDown.
|
| - IBOutlet NSView* overlay_;
|
| - NSButton* closeButton_; // Created explicitly, not from NIB. Weak, destroyed
|
| - // when view is destroyed, as a subview.
|
| - ui::ScopedCrTrackingArea closeButtonTrackingArea_;
|
| - BOOL isDrawingAttention_;
|
| -
|
| - // "Glint" animation is used in "Draw Attention" mode.
|
| - base::scoped_nsobject<RepaintAnimation> glintAnimation_;
|
| - base::scoped_nsobject<NSTimer> glintAnimationTimer_;
|
| - int glintCounter_;
|
| -
|
| - // Drag support.
|
| - base::scoped_nsobject<MouseDragController> dragController_;
|
| -}
|
| -
|
| -// Callbacks from Close, Minimize, and Restore buttons.
|
| -- (void)onCloseButtonClick:(id)sender;
|
| -- (void)onMinimizeButtonClick:(id)sender;
|
| -- (void)onRestoreButtonClick:(id)sender;
|
| -
|
| -// Attaches this view to the controller_'s window as a titlebar.
|
| -- (void)attach;
|
| -
|
| -- (void)setTitle:(NSString*)newTitle;
|
| -- (void)setIcon:(NSView*)newIcon;
|
| -
|
| -- (NSView*)icon;
|
| -
|
| -// Set the visibility of the minimize and restore buttons.
|
| -- (void)setMinimizeButtonVisibility:(BOOL)visible;
|
| -- (void)setRestoreButtonVisibility:(BOOL)visible;
|
| -
|
| -// Should be called when size of the titlebar changes.
|
| -- (void)updateCustomButtonsLayout;
|
| -- (void)updateIconAndTitleLayout;
|
| -
|
| -// Various events that we'll need to redraw our titlebar for.
|
| -- (void)didChangeFrame:(NSNotification*)notification;
|
| -- (void)didChangeMainWindow:(NSNotification*)notification;
|
| -
|
| -// Draw Attention methods - change appearance of titlebar to attract user.
|
| -- (void)drawAttention;
|
| -- (void)stopDrawingAttention;
|
| -- (BOOL)isDrawingAttention;
|
| -- (void)startGlintAnimation;
|
| -- (void)restartGlintAnimation:(NSTimer*)timer;
|
| -- (void)stopGlintAnimation;
|
| -
|
| -@end // @interface PanelTitlebarView
|
| -
|
| -// Methods which are either only for testing, or only public for testing.
|
| -@interface PanelTitlebarViewCocoa(TestingAPI)
|
| -
|
| -- (PanelWindowControllerCocoa*)controller;
|
| -
|
| -- (NSTextField*)title;
|
| -- (NSButton*)closeButton;
|
| -- (NSButton*)minimizeButton;
|
| -- (NSButton*)restoreButton;
|
| -
|
| -// Simulates click on a close button. Used to test panel closing.
|
| -- (void)simulateCloseButtonClick;
|
| -
|
| -// NativePanelTesting support.
|
| -// |mouseLocation| is in Cocoa's screen coordinates.
|
| -- (void)pressLeftMouseButtonTitlebar:(NSPoint)mouseLocation
|
| - modifiers:(int)modifierFlags;
|
| -- (void)releaseLeftMouseButtonTitlebar:(int)modifierFlags;
|
| -- (void)dragTitlebar:(NSPoint)mouseLocation;
|
| -- (void)cancelDragTitlebar;
|
| -- (void)finishDragTitlebar;
|
| -
|
| -@end // @interface PanelTitlebarViewCocoa(TestingAPI)
|
| -
|
| -#endif // CHROME_BROWSER_UI_COCOA_PANELS_PANEL_TITLEBAR_VIEW_COCOA_H_
|
|
|