OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #import "ui/views/cocoa/native_widget_mac_nswindow.h" | 5 #import "ui/views/cocoa/native_widget_mac_nswindow.h" |
6 | 6 |
7 #include "base/mac/foundation_util.h" | 7 #include "base/mac/foundation_util.h" |
8 #import "ui/views/cocoa/views_nswindow_delegate.h" | 8 #import "ui/views/cocoa/views_nswindow_delegate.h" |
9 #include "ui/views/controls/menu/menu_controller.h" | 9 #include "ui/views/controls/menu/menu_controller.h" |
10 #include "ui/views/widget/native_widget_mac.h" | 10 #include "ui/views/widget/native_widget_mac.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 defer:(BOOL)deferCreation { | 31 defer:(BOOL)deferCreation { |
32 if ((self = [super initWithContentRect:contentRect | 32 if ((self = [super initWithContentRect:contentRect |
33 styleMask:windowStyle | 33 styleMask:windowStyle |
34 backing:bufferingType | 34 backing:bufferingType |
35 defer:deferCreation])) { | 35 defer:deferCreation])) { |
36 commandDispatcher_.reset([[CommandDispatcher alloc] initWithOwner:self]); | 36 commandDispatcher_.reset([[CommandDispatcher alloc] initWithOwner:self]); |
37 } | 37 } |
38 return self; | 38 return self; |
39 } | 39 } |
40 | 40 |
| 41 // Public methods. |
| 42 |
| 43 - (void)setCommandDispatcherDelegate:(id<CommandDispatcherDelegate>)delegate { |
| 44 [commandDispatcher_ setDelegate:delegate]; |
| 45 } |
| 46 |
| 47 // Private methods. |
| 48 |
41 - (ViewsNSWindowDelegate*)viewsNSWindowDelegate { | 49 - (ViewsNSWindowDelegate*)viewsNSWindowDelegate { |
42 return base::mac::ObjCCastStrict<ViewsNSWindowDelegate>([self delegate]); | 50 return base::mac::ObjCCastStrict<ViewsNSWindowDelegate>([self delegate]); |
43 } | 51 } |
44 | 52 |
45 - (views::Widget*)viewsWidget { | 53 - (views::Widget*)viewsWidget { |
46 return [[self viewsNSWindowDelegate] nativeWidgetMac]->GetWidget(); | 54 return [[self viewsNSWindowDelegate] nativeWidgetMac]->GetWidget(); |
47 } | 55 } |
48 | 56 |
49 - (BOOL)hasViewsMenuActive { | 57 - (BOOL)hasViewsMenuActive { |
50 views::MenuController* menuController = | 58 views::MenuController* menuController = |
51 views::MenuController::GetActiveInstance(); | 59 views::MenuController::GetActiveInstance(); |
52 return menuController && menuController->owner() == [self viewsWidget]; | 60 return menuController && menuController->owner() == [self viewsWidget]; |
53 } | 61 } |
54 | 62 |
| 63 // NSWindow overrides. |
| 64 |
55 - (BOOL)_isTitleHidden { | 65 - (BOOL)_isTitleHidden { |
56 if (![self delegate]) | 66 if (![self delegate]) |
57 return NO; | 67 return NO; |
58 | 68 |
59 return ![self viewsWidget]->widget_delegate()->ShouldShowWindowTitle(); | 69 return ![self viewsWidget]->widget_delegate()->ShouldShowWindowTitle(); |
60 } | 70 } |
61 | 71 |
62 // Ignore [super canBecome{Key,Main}Window]. The default is NO for windows with | 72 // Ignore [super canBecome{Key,Main}Window]. The default is NO for windows with |
63 // NSBorderlessWindowMask, which is not the desired behavior. | 73 // NSBorderlessWindowMask, which is not the desired behavior. |
64 // Note these can be called via -[NSWindow close] while the widget is being torn | 74 // Note these can be called via -[NSWindow close] while the widget is being torn |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 | 162 |
153 - (BOOL)redispatchKeyEvent:(NSEvent*)event { | 163 - (BOOL)redispatchKeyEvent:(NSEvent*)event { |
154 return [commandDispatcher_ redispatchKeyEvent:event]; | 164 return [commandDispatcher_ redispatchKeyEvent:event]; |
155 } | 165 } |
156 | 166 |
157 - (BOOL)defaultPerformKeyEquivalent:(NSEvent*)event { | 167 - (BOOL)defaultPerformKeyEquivalent:(NSEvent*)event { |
158 return [super performKeyEquivalent:event]; | 168 return [super performKeyEquivalent:event]; |
159 } | 169 } |
160 | 170 |
161 @end | 171 @end |
OLD | NEW |