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

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

Issue 7566016: Fullscreen support for Lion. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_TABS_TAB_STRIP_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_UI_COCOA_TABS_TAB_STRIP_CONTROLLER_H_
6 #define CHROME_BROWSER_UI_COCOA_TABS_TAB_STRIP_CONTROLLER_H_ 6 #define CHROME_BROWSER_UI_COCOA_TABS_TAB_STRIP_CONTROLLER_H_
7 #pragma once 7 #pragma once
8 8
9 #import <Cocoa/Cocoa.h> 9 #import <Cocoa/Cocoa.h>
10 10
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 scoped_nsobject<CrTrackingArea> trackingArea_; 133 scoped_nsobject<CrTrackingArea> trackingArea_;
134 TabView* hoveredTab_; // weak. Tab that the mouse is hovering over 134 TabView* hoveredTab_; // weak. Tab that the mouse is hovering over
135 135
136 // Array of subviews which are permanent (and which should never be removed), 136 // Array of subviews which are permanent (and which should never be removed),
137 // such as the new-tab button, but *not* the tabs themselves. 137 // such as the new-tab button, but *not* the tabs themselves.
138 scoped_nsobject<NSMutableArray> permanentSubviews_; 138 scoped_nsobject<NSMutableArray> permanentSubviews_;
139 139
140 // The default favicon, so we can use one copy for all buttons. 140 // The default favicon, so we can use one copy for all buttons.
141 scoped_nsobject<NSImage> defaultFavicon_; 141 scoped_nsobject<NSImage> defaultFavicon_;
142 142
143 // The amount by which to indent the tabs on the left (to make room for the 143 // The amount by which to indent the tabs on the sides (to make room for the
144 // red/yellow/green buttons). 144 // red/yellow/green and incognito/fullscreen buttons).
145 CGFloat indentForControls_; 145 CGFloat leftIndentForControls_;
146 CGFloat rightIndentForControls_;
146 147
147 // Manages per-tab sheets. 148 // Manages per-tab sheets.
148 scoped_nsobject<GTMWindowSheetController> sheetController_; 149 scoped_nsobject<GTMWindowSheetController> sheetController_;
149 150
150 // Is the mouse currently inside the strip; 151 // Is the mouse currently inside the strip;
151 BOOL mouseInside_; 152 BOOL mouseInside_;
152 153
153 // Helper for performing tab selection as a result of dragging over a tab. 154 // Helper for performing tab selection as a result of dragging over a tab.
154 scoped_ptr<HoverTabSelector> hoverTabSelector_; 155 scoped_ptr<HoverTabSelector> hoverTabSelector_;
155 } 156 }
156 157
157 @property(nonatomic) CGFloat indentForControls; 158 @property(nonatomic) CGFloat leftIndentForControls;
159 @property(nonatomic) CGFloat rightIndentForControls;
158 160
159 // Initialize the controller with a view and browser that contains 161 // Initialize the controller with a view and browser that contains
160 // everything else we'll need. |switchView| is the view whose contents get 162 // everything else we'll need. |switchView| is the view whose contents get
161 // "switched" every time the user switches tabs. The children of this view 163 // "switched" every time the user switches tabs. The children of this view
162 // will be released, so if you want them to stay around, make sure 164 // will be released, so if you want them to stay around, make sure
163 // you have retained them. 165 // you have retained them.
164 // |delegate| is the one listening to filtered TabStripModelObserverBridge's 166 // |delegate| is the one listening to filtered TabStripModelObserverBridge's
165 // events (see TabStripControllerDelegate for more details). 167 // events (see TabStripControllerDelegate for more details).
166 - (id)initWithView:(TabStripView*)view 168 - (id)initWithView:(TabStripView*)view
167 switchView:(NSView*)switchView 169 switchView:(NSView*)switchView
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // of the window or the window decorations. Returns YES only if the entire tab 221 // of the window or the window decorations. Returns YES only if the entire tab
220 // is visible. 222 // is visible.
221 - (BOOL)isTabFullyVisible:(TabView*)tab; 223 - (BOOL)isTabFullyVisible:(TabView*)tab;
222 224
223 // Show or hide the new tab button. The button is hidden immediately, but 225 // Show or hide the new tab button. The button is hidden immediately, but
224 // waits until the next call to |-layoutTabs| to show it again. 226 // waits until the next call to |-layoutTabs| to show it again.
225 - (void)showNewTabButton:(BOOL)show; 227 - (void)showNewTabButton:(BOOL)show;
226 228
227 // Force the tabs to rearrange themselves to reflect the current model. 229 // Force the tabs to rearrange themselves to reflect the current model.
228 - (void)layoutTabs; 230 - (void)layoutTabs;
231 - (void)layoutTabsWithoutAnimation;
229 232
230 // Are we in rapid (tab) closure mode? I.e., is a full layout deferred (while 233 // Are we in rapid (tab) closure mode? I.e., is a full layout deferred (while
231 // the user closes tabs)? Needed to overcome missing clicks during rapid tab 234 // the user closes tabs)? Needed to overcome missing clicks during rapid tab
232 // closure. 235 // closure.
233 - (BOOL)inRapidClosureMode; 236 - (BOOL)inRapidClosureMode;
234 237
235 // Returns YES if the user is allowed to drag tabs on the strip at this moment. 238 // Returns YES if the user is allowed to drag tabs on the strip at this moment.
236 // For example, this returns NO if there are any pending tab close animtations. 239 // For example, this returns NO if there are any pending tab close animtations.
237 - (BOOL)tabDraggingAllowed; 240 - (BOOL)tabDraggingAllowed;
238 241
239 // Default height for tabs. 242 // Default height for tabs.
240 + (CGFloat)defaultTabHeight; 243 + (CGFloat)defaultTabHeight;
241 244
242 // Default indentation for tabs (see |indentForControls_|). 245 // Default indentation for tabs (see |leftIndentForControls_|).
243 + (CGFloat)defaultIndentForControls; 246 + (CGFloat)defaultLeftIndentForControls;
244 247
245 // Returns the (lazily created) window sheet controller of this window. Used 248 // Returns the (lazily created) window sheet controller of this window. Used
246 // for the per-tab sheets. 249 // for the per-tab sheets.
247 - (GTMWindowSheetController*)sheetController; 250 - (GTMWindowSheetController*)sheetController;
248 251
249 // Destroys the window sheet controller of this window, if it exists. The sheet 252 // Destroys the window sheet controller of this window, if it exists. The sheet
250 // controller can be recreated by a subsequent call to |-sheetController|. Must 253 // controller can be recreated by a subsequent call to |-sheetController|. Must
251 // not be called if any sheets are currently open. 254 // not be called if any sheets are currently open.
252 // TODO(viettrungluu): This is temporary code needed to allow sheets to work 255 // TODO(viettrungluu): This is temporary code needed to allow sheets to work
253 // (read: not crash) in fullscreen mode. Once GTMWindowSheetController is 256 // (read: not crash) in fullscreen mode. Once GTMWindowSheetController is
254 // modified to support moving sheets between windows, this code can go away. 257 // modified to support moving sheets between windows, this code can go away.
255 // http://crbug.com/19093. 258 // http://crbug.com/19093.
256 - (void)destroySheetController; 259 - (void)destroySheetController;
257 260
258 // Returns the currently active TabContentsController. 261 // Returns the currently active TabContentsController.
259 - (TabContentsController*)activeTabContentsController; 262 - (TabContentsController*)activeTabContentsController;
260 263
261 // See comments in browser_window_controller.h for documentation about these 264 // See comments in browser_window_controller.h for documentation about these
262 // functions. 265 // functions.
263 - (void)attachConstrainedWindow:(ConstrainedWindowMac*)window; 266 - (void)attachConstrainedWindow:(ConstrainedWindowMac*)window;
264 - (void)removeConstrainedWindow:(ConstrainedWindowMac*)window; 267 - (void)removeConstrainedWindow:(ConstrainedWindowMac*)window;
265 268
266 @end 269 @end
267 270
268 // Notification sent when the number of tabs changes. The object will be this 271 // Notification sent when the number of tabs changes. The object will be this
269 // controller. 272 // controller.
270 extern NSString* const kTabStripNumberOfTabsChanged; 273 extern NSString* const kTabStripNumberOfTabsChanged;
271 274
272 #endif // CHROME_BROWSER_UI_COCOA_TABS_TAB_STRIP_CONTROLLER_H_ 275 #endif // CHROME_BROWSER_UI_COCOA_TABS_TAB_STRIP_CONTROLLER_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/tabs/side_tab_strip_controller.mm ('k') | chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698