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

Side by Side Diff: chrome/browser/ui/cocoa/tabs/tab_window_controller.mm

Issue 10870094: Constrained window sheet controller (test patch) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rename Created 8 years, 3 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) 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 #import "chrome/browser/ui/cocoa/tabs/tab_window_controller.h" 5 #import "chrome/browser/ui/cocoa/tabs/tab_window_controller.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #import "chrome/browser/ui/cocoa/tabs/tab_strip_view.h" 8 #import "chrome/browser/ui/cocoa/tabs/tab_strip_view.h"
9 #import "chrome/browser/ui/cocoa/themed_window.h" 9 #import "chrome/browser/ui/cocoa/themed_window.h"
10 #import "ui/base/cocoa/focus_tracker.h" 10 #import "ui/base/cocoa/focus_tracker.h"
(...skipping 24 matching lines...) Expand all
35 if ([self parentWindow]) 35 if ([self parentWindow])
36 return [[[self parentWindow] windowController] themePatternPhase]; 36 return [[[self parentWindow] windowController] themePatternPhase];
37 return NSZeroPoint; 37 return NSZeroPoint;
38 } 38 }
39 39
40 @end 40 @end
41 41
42 @implementation TabWindowController 42 @implementation TabWindowController
43 @synthesize tabContentArea = tabContentArea_; 43 @synthesize tabContentArea = tabContentArea_;
44 44
45 - (id)initWithWindow:(NSWindow*)window {
46 if ((self = [super initWithWindow:window]) != nil) {
47 lockedTabs_.reset([[NSMutableSet alloc] initWithCapacity:10]);
48 }
49 return self;
50 }
51
52 // Add the top tab strop to the window, above the content box and add it to the 45 // Add the top tab strop to the window, above the content box and add it to the
53 // view hierarchy as a sibling of the content view so it can overlap with the 46 // view hierarchy as a sibling of the content view so it can overlap with the
54 // window frame. 47 // window frame.
55 - (void)addTabStripToWindow { 48 - (void)addTabStripToWindow {
56 NSRect contentFrame = [tabContentArea_ frame]; 49 NSRect contentFrame = [tabContentArea_ frame];
57 NSRect tabFrame = 50 NSRect tabFrame =
58 NSMakeRect(0, NSMaxY(contentFrame), 51 NSMakeRect(0, NSMaxY(contentFrame),
59 NSWidth(contentFrame), 52 NSWidth(contentFrame),
60 NSHeight([tabStripView_ frame])); 53 NSHeight([tabStripView_ frame]));
61 [tabStripView_ setFrame:tabFrame]; 54 [tabStripView_ setFrame:tabFrame];
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 return @""; 256 return @"";
264 } 257 }
265 258
266 - (BOOL)hasTabStrip { 259 - (BOOL)hasTabStrip {
267 // Subclasses should implement this. 260 // Subclasses should implement this.
268 NOTIMPLEMENTED(); 261 NOTIMPLEMENTED();
269 return YES; 262 return YES;
270 } 263 }
271 264
272 - (BOOL)isTabDraggable:(NSView*)tabView { 265 - (BOOL)isTabDraggable:(NSView*)tabView {
273 return ![lockedTabs_ containsObject:tabView]; 266 // Subclasses should implement this.
274 } 267 NOTIMPLEMENTED();
275 268 return YES;
276 - (void)setTab:(NSView*)tabView isDraggable:(BOOL)draggable {
277 if (draggable)
278 [lockedTabs_ removeObject:tabView];
279 else
280 [lockedTabs_ addObject:tabView];
281 } 269 }
282 270
283 // Tell the window that it needs to call performClose: as soon as the current 271 // Tell the window that it needs to call performClose: as soon as the current
284 // drag is complete. This prevents a window (and its overlay) from going away 272 // drag is complete. This prevents a window (and its overlay) from going away
285 // during a drag. 273 // during a drag.
286 - (void)deferPerformClose { 274 - (void)deferPerformClose {
287 closeDeferred_ = YES; 275 closeDeferred_ = YES;
288 } 276 }
289 277
290 // Called when the size of the window content area has changed. Override to 278 // Called when the size of the window content area has changed. Override to
291 // position specific views. Base class implementation does nothing. 279 // position specific views. Base class implementation does nothing.
292 - (void)layoutSubviews { 280 - (void)layoutSubviews {
293 NOTIMPLEMENTED(); 281 NOTIMPLEMENTED();
294 } 282 }
295 283
296 @end 284 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/tabs/tab_window_controller.h ('k') | chrome/browser/ui/cocoa/view_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698