OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CHROME_BROWSER_UI_COCOA_PANELS_PANEL_WINDOW_CONTROLLER_COCOA_H_ | 5 #ifndef CHROME_BROWSER_UI_COCOA_PANELS_PANEL_WINDOW_CONTROLLER_COCOA_H_ |
6 #define CHROME_BROWSER_UI_COCOA_PANELS_PANEL_WINDOW_CONTROLLER_COCOA_H_ | 6 #define CHROME_BROWSER_UI_COCOA_PANELS_PANEL_WINDOW_CONTROLLER_COCOA_H_ |
7 | 7 |
8 // A class acting as the Objective-C controller for the Panel window | 8 // A class acting as the Objective-C controller for the Panel window |
9 // object. Handles interactions between Cocoa and the cross-platform | 9 // object. Handles interactions between Cocoa and the cross-platform |
10 // code. Each window has a single titlebar and is managed/owned by Panel. | 10 // code. Each window has a single titlebar and is managed/owned by Panel. |
11 | 11 |
12 #import <Cocoa/Cocoa.h> | 12 #import <Cocoa/Cocoa.h> |
13 | 13 |
| 14 #include <memory> |
| 15 |
14 #include "base/mac/scoped_nsobject.h" | 16 #include "base/mac/scoped_nsobject.h" |
15 #include "base/memory/scoped_ptr.h" | |
16 #import "chrome/browser/ui/cocoa/chrome_browser_window.h" | 17 #import "chrome/browser/ui/cocoa/chrome_browser_window.h" |
17 #include "chrome/browser/ui/panels/panel.h" | 18 #include "chrome/browser/ui/panels/panel.h" |
18 #import "ui/base/cocoa/tracking_area.h" | 19 #import "ui/base/cocoa/tracking_area.h" |
19 | 20 |
20 class PanelCocoa; | 21 class PanelCocoa; |
21 @class PanelTitlebarViewCocoa; | 22 @class PanelTitlebarViewCocoa; |
22 | 23 |
23 @interface PanelWindowCocoaImpl : ChromeBrowserWindow { | 24 @interface PanelWindowCocoaImpl : ChromeBrowserWindow { |
24 } | 25 } |
25 @end | 26 @end |
26 | 27 |
27 @interface PanelWindowControllerCocoa : NSWindowController | 28 @interface PanelWindowControllerCocoa : NSWindowController |
28 <NSWindowDelegate, | 29 <NSWindowDelegate, |
29 NSAnimationDelegate> { | 30 NSAnimationDelegate> { |
30 @private | 31 @private |
31 IBOutlet PanelTitlebarViewCocoa* titlebar_view_; | 32 IBOutlet PanelTitlebarViewCocoa* titlebar_view_; |
32 scoped_ptr<PanelCocoa> windowShim_; | 33 std::unique_ptr<PanelCocoa> windowShim_; |
33 base::scoped_nsobject<NSString> pendingWindowTitle_; | 34 base::scoped_nsobject<NSString> pendingWindowTitle_; |
34 NSViewAnimation* boundsAnimation_; // Lifetime controlled manually, needs | 35 NSViewAnimation* boundsAnimation_; // Lifetime controlled manually, needs |
35 // more then just |release| to terminate. | 36 // more then just |release| to terminate. |
36 BOOL animateOnBoundsChange_; | 37 BOOL animateOnBoundsChange_; |
37 BOOL throbberShouldSpin_; | 38 BOOL throbberShouldSpin_; |
38 BOOL playingMinimizeAnimation_; | 39 BOOL playingMinimizeAnimation_; |
39 float animationStopToShowTitlebarOnly_; | 40 float animationStopToShowTitlebarOnly_; |
40 BOOL canBecomeKeyWindow_; | 41 BOOL canBecomeKeyWindow_; |
41 // Allow a panel to become key if activated via Panel logic, as opposed | 42 // Allow a panel to become key if activated via Panel logic, as opposed |
42 // to by default system selection. The system will prefer a panel | 43 // to by default system selection. The system will prefer a panel |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 // Returns true if the user-resizing is allowed for the edge/corner close to | 159 // Returns true if the user-resizing is allowed for the edge/corner close to |
159 // current mouse location. | 160 // current mouse location. |
160 - (BOOL)canResizeByMouseAtCurrentLocation; | 161 - (BOOL)canResizeByMouseAtCurrentLocation; |
161 | 162 |
162 - (NSRect)frameRectForContentRect:(NSRect)contentRect; | 163 - (NSRect)frameRectForContentRect:(NSRect)contentRect; |
163 - (NSRect)contentRectForFrameRect:(NSRect)frameRect; | 164 - (NSRect)contentRectForFrameRect:(NSRect)frameRect; |
164 | 165 |
165 @end // @interface PanelWindowController | 166 @end // @interface PanelWindowController |
166 | 167 |
167 #endif // CHROME_BROWSER_UI_COCOA_PANELS_PANEL_WINDOW_CONTROLLER_COCOA_H_ | 168 #endif // CHROME_BROWSER_UI_COCOA_PANELS_PANEL_WINDOW_CONTROLLER_COCOA_H_ |
OLD | NEW |