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

Side by Side Diff: chrome/browser/cocoa/tab_strip_controller.h

Issue 65011: Flatten down to a single toolbar per window, significantly simplifying the ta... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 11 years, 8 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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_COCOA_TAB_STRIP_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_COCOA_TAB_STRIP_CONTROLLER_H_
6 #define CHROME_BROWSER_COCOA_TAB_STRIP_CONTROLLER_H_ 6 #define CHROME_BROWSER_COCOA_TAB_STRIP_CONTROLLER_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 9
10 #import "chrome/browser/cocoa/tab_controller_target.h" 10 #import "chrome/browser/cocoa/tab_controller_target.h"
(...skipping 18 matching lines...) Expand all
29 // When a new tab is created, we create a TabController which manages loading 29 // When a new tab is created, we create a TabController which manages loading
30 // the contents, including toolbar, from a separate nib file. This controller 30 // the contents, including toolbar, from a separate nib file. This controller
31 // then handles replacing the contentView of the window. As tabs are switched, 31 // then handles replacing the contentView of the window. As tabs are switched,
32 // the single child of the contentView is swapped around to hold the contents 32 // the single child of the contentView is swapped around to hold the contents
33 // (toolbar and all) representing that tab. 33 // (toolbar and all) representing that tab.
34 34
35 @interface TabStripController : NSObject <TabControllerTarget> { 35 @interface TabStripController : NSObject <TabControllerTarget> {
36 @private 36 @private
37 TabContents* currentTab_; // weak, tab for which we're showing state 37 TabContents* currentTab_; // weak, tab for which we're showing state
38 TabStripView* tabView_; // weak 38 TabStripView* tabView_; // weak
39 NSView* switchView_; // weak
39 NSButton* newTabButton_; // weak, obtained from the nib. 40 NSButton* newTabButton_; // weak, obtained from the nib.
40 TabStripModelObserverBridge* bridge_; 41 TabStripModelObserverBridge* bridge_;
41 TabStripModel* tabModel_; // weak 42 TabStripModel* tabModel_; // weak
42 ToolbarModel* toolbarModel_; // weak, one per browser
43 BookmarkModel* bookmarkModel_; // weak, one per profile (= one per Browser*) 43 BookmarkModel* bookmarkModel_; // weak, one per profile (= one per Browser*)
44 CommandUpdater* commands_; // weak, may be nil 44 CommandUpdater* commands_; // weak, may be nil
45 // access to the TabContentsControllers (which own the parent view 45 // access to the TabContentsControllers (which own the parent view
46 // for the toolbar and associated tab contents) given an index. This needs 46 // for the toolbar and associated tab contents) given an index. This needs
47 // to be kept in the same order as the tab strip's model as we will be 47 // to be kept in the same order as the tab strip's model as we will be
48 // using its index from the TabStripModelObserver calls. 48 // using its index from the TabStripModelObserver calls.
49 NSMutableArray* tabContentsArray_; 49 NSMutableArray* tabContentsArray_;
50 // an array of TabControllers which manage the actual tab views. As above, 50 // an array of TabControllers which manage the actual tab views. As above,
51 // this is kept in the same order as the tab strip model. 51 // this is kept in the same order as the tab strip model.
52 NSMutableArray* tabArray_; 52 NSMutableArray* tabArray_;
53 53
54 // Controller for bookmark bar state, shared among all TabContents. 54 // Controller for bookmark bar state, shared among all TabContents.
55 BookmarkBarStateController* bookmarkBarStateController_; 55 BookmarkBarStateController* bookmarkBarStateController_;
56 } 56 }
57 57
58 // Initialize the controller with a view and browser that contains 58 // Initialize the controller with a view and browser that contains
59 // everything else we'll need. 59 // everything else we'll need. |switchView| is the view whose contents get
60 // "switched" every time the user switches tabs. The children of this view
61 // will be released, so if you want them to stay around, make sure
62 // you have retained them.
60 - (id)initWithView:(TabStripView*)view 63 - (id)initWithView:(TabStripView*)view
64 switchView:(NSView*)switchView
61 browser:(Browser*)browser; 65 browser:(Browser*)browser;
62 66
63 // Get the C++ bridge object representing the location bar for the current tab.
64 - (LocationBar*)locationBar;
65
66 // Updates the toolbar (and transitively the location bar) with the states of
67 // the specified |tab|. If |shouldRestore| is true, we're switching
68 // (back?) to this tab and should restore any previous location bar state
69 // (such as user editing) as well.
70 - (void)updateToolbarWithContents:(TabContents*)tab
71 shouldRestoreState:(BOOL)shouldRestore;
72
73 // Sets whether or not the current page in the frontmost tab is bookmarked.
74 - (void)setStarredState:(BOOL)isStarred;
75
76 // Return the rect, in WebKit coordinates (flipped), of the window's grow box 67 // Return the rect, in WebKit coordinates (flipped), of the window's grow box
77 // in the coordinate system of the content area of the currently selected tab. 68 // in the coordinate system of the content area of the currently selected tab.
78 - (NSRect)selectedTabGrowBoxRect; 69 - (NSRect)selectedTabGrowBoxRect;
79 70
80 // Called to tell the selected tab to update its loading state.
81 - (void)setIsLoading:(BOOL)isLoading;
82
83 // Make the location bar the first responder, if possible.
84 - (void)focusLocationBar;
85
86 // Return a boolean (ObjC BOOL, not C++ bool) to say if the bookmark 71 // Return a boolean (ObjC BOOL, not C++ bool) to say if the bookmark
87 // bar is visible. 72 // bar is visible.
88 - (BOOL)isBookmarkBarVisible; 73 - (BOOL)isBookmarkBarVisible;
89 74
90 // Turn on or off the bookmark bar for *ALL* tabs. 75 // Turn on or off the bookmark bar for *ALL* tabs.
91 - (void)toggleBookmarkBar; 76 - (void)toggleBookmarkBar;
92 77
93 // Given a tab view in the strip, return its index. Returns -1 if not present. 78 // Given a tab view in the strip, return its index. Returns -1 if not present.
94 - (NSInteger)indexForTabView:(NSView*)view; 79 - (NSInteger)indexForTabView:(NSView*)view;
95 80
96 @end 81 @end
97 82
98 #endif // CHROME_BROWSER_COCOA_TAB_STRIP_CONTROLLER_H_ 83 #endif // CHROME_BROWSER_COCOA_TAB_STRIP_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698