Index: chrome/browser/ui/cocoa/toolbar_controller.h |
=================================================================== |
--- chrome/browser/ui/cocoa/toolbar_controller.h (revision 71837) |
+++ chrome/browser/ui/cocoa/toolbar_controller.h (working copy) |
@@ -1,187 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_UI_COCOA_TOOLBAR_CONTROLLER_H_ |
-#define CHROME_BROWSER_UI_COCOA_TOOLBAR_CONTROLLER_H_ |
-#pragma once |
- |
-#import <Cocoa/Cocoa.h> |
- |
-#include "base/scoped_ptr.h" |
-#include "base/scoped_nsobject.h" |
-#import "chrome/browser/ui/cocoa/command_observer_bridge.h" |
-#import "chrome/browser/ui/cocoa/url_drop_target.h" |
-#import "chrome/browser/ui/cocoa/view_resizer.h" |
-#include "chrome/browser/prefs/pref_member.h" |
- |
-@class AutocompleteTextField; |
-@class AutocompleteTextFieldEditor; |
-@class BrowserActionsContainerView; |
-@class BackForwardMenuController; |
-class Browser; |
-@class BrowserActionsController; |
-class CommandUpdater; |
-class LocationBar; |
-class LocationBarViewMac; |
-@class MenuButton; |
-namespace ToolbarControllerInternal { |
-class NotificationBridge; |
-class WrenchAcceleratorDelegate; |
-} // namespace ToolbarControllerInternal |
-class Profile; |
-@class ReloadButton; |
-class TabContents; |
-class ToolbarModel; |
-@class WrenchMenuController; |
-class WrenchMenuModel; |
- |
-// A controller for the toolbar in the browser window. Manages |
-// updating the state for location bar and back/fwd/reload/go buttons. |
-// Manages the bookmark bar and its position in the window relative to |
-// the web content view. |
- |
-@interface ToolbarController : NSViewController<CommandObserverProtocol, |
- URLDropTargetController> { |
- @protected |
- // The ordering is important for unit tests. If new items are added or the |
- // ordering is changed, make sure to update |-toolbarViews| and the |
- // corresponding enum in the unit tests. |
- IBOutlet MenuButton* backButton_; |
- IBOutlet MenuButton* forwardButton_; |
- IBOutlet ReloadButton* reloadButton_; |
- IBOutlet NSButton* homeButton_; |
- IBOutlet MenuButton* wrenchButton_; |
- IBOutlet AutocompleteTextField* locationBar_; |
- IBOutlet BrowserActionsContainerView* browserActionsContainerView_; |
- IBOutlet WrenchMenuController* wrenchMenuController_; |
- |
- @private |
- ToolbarModel* toolbarModel_; // weak, one per window |
- CommandUpdater* commands_; // weak, one per window |
- Profile* profile_; // weak, one per window |
- Browser* browser_; // weak, one per window |
- scoped_ptr<CommandObserverBridge> commandObserver_; |
- scoped_ptr<LocationBarViewMac> locationBarView_; |
- scoped_nsobject<AutocompleteTextFieldEditor> autocompleteTextFieldEditor_; |
- id<ViewResizer> resizeDelegate_; // weak |
- scoped_nsobject<BackForwardMenuController> backMenuController_; |
- scoped_nsobject<BackForwardMenuController> forwardMenuController_; |
- scoped_nsobject<BrowserActionsController> browserActionsController_; |
- |
- // Lazily-instantiated model and delegate for the menu on the |
- // wrench button. Once visible, it will be non-null, but will not |
- // reaped when the menu is hidden once it is initially shown. |
- scoped_ptr<ToolbarControllerInternal::WrenchAcceleratorDelegate> |
- acceleratorDelegate_; |
- scoped_ptr<WrenchMenuModel> wrenchMenuModel_; |
- |
- // Used for monitoring the optional toolbar button prefs. |
- scoped_ptr<ToolbarControllerInternal::NotificationBridge> notificationBridge_; |
- BooleanPrefMember showHomeButton_; |
- BooleanPrefMember showPageOptionButtons_; |
- BOOL hasToolbar_; // If NO, we may have only the location bar. |
- BOOL hasLocationBar_; // If |hasToolbar_| is YES, this must also be YES. |
- BOOL locationBarAtMinSize_; // If the location bar is at the minimum size. |
- |
- // We have an extra retain in the locationBar_. |
- // See comments in awakeFromNib for more info. |
- scoped_nsobject<AutocompleteTextField> locationBarRetainer_; |
- |
- // Tracking area for mouse enter/exit/moved in the toolbar. |
- scoped_nsobject<NSTrackingArea> trackingArea_; |
- |
- // We retain/release the hover button since interaction with the |
- // button may make it go away (e.g. delete menu option over a |
- // bookmark button). Thus this variable is not weak. The |
- // hoveredButton_ is required to have an NSCell that responds to |
- // setMouseInside:animate:. |
- NSButton* hoveredButton_; |
-} |
- |
-// Initialize the toolbar and register for command updates. The profile is |
-// needed for initializing the location bar. The browser is needed for |
-// initializing the back/forward menus. |
-- (id)initWithModel:(ToolbarModel*)model |
- commands:(CommandUpdater*)commands |
- profile:(Profile*)profile |
- browser:(Browser*)browser |
- resizeDelegate:(id<ViewResizer>)resizeDelegate; |
- |
-// Get the C++ bridge object representing the location bar for this tab. |
-- (LocationBarViewMac*)locationBarBridge; |
- |
-// Called by the Window delegate so we can provide a custom field editor if |
-// needed. |
-// Note that this may be called for objects unrelated to the toolbar. |
-// returns nil if we don't want to override the custom field editor for |obj|. |
-- (id)customFieldEditorForObject:(id)obj; |
- |
-// Make the location bar the first responder, if possible. |
-- (void)focusLocationBar:(BOOL)selectAll; |
- |
-// Updates the toolbar (and transitively the location bar) with the states of |
-// the specified |tab|. If |shouldRestore| is true, we're switching |
-// (back?) to this tab and should restore any previous location bar state |
-// (such as user editing) as well. |
-- (void)updateToolbarWithContents:(TabContents*)tabForRestoring |
- shouldRestoreState:(BOOL)shouldRestore; |
- |
-// Sets whether or not the current page in the frontmost tab is bookmarked. |
-- (void)setStarredState:(BOOL)isStarred; |
- |
-// Called to update the loading state. Handles updating the go/stop |
-// button state. |force| is set if the update is due to changing |
-// tabs, as opposed to the page-load finishing. See comment in |
-// reload_button.h. |
-- (void)setIsLoading:(BOOL)isLoading force:(BOOL)force; |
- |
-// Allow turning off the toolbar (but we may keep the location bar without a |
-// surrounding toolbar). If |toolbar| is YES, the value of |hasLocationBar| is |
-// ignored. This changes the behavior of other methods, like |-view|. |
-- (void)setHasToolbar:(BOOL)toolbar hasLocationBar:(BOOL)locBar; |
- |
-// Point on the star icon for the bookmark bubble to be - in the |
-// associated window's coordinate system. |
-- (NSPoint)bookmarkBubblePoint; |
- |
-// Returns the desired toolbar height for the given compression factor. |
-- (CGFloat)desiredHeightForCompression:(CGFloat)compressByHeight; |
- |
-// Set the opacity of the divider (the line at the bottom) *if* we have a |
-// |ToolbarView| (0 means don't show it); no-op otherwise. |
-- (void)setDividerOpacity:(CGFloat)opacity; |
- |
-// Create and add the Browser Action buttons to the toolbar view. |
-- (void)createBrowserActionButtons; |
- |
-// Return the BrowserActionsController for this toolbar. |
-- (BrowserActionsController*)browserActionsController; |
- |
-@end |
- |
-// A set of private methods used by subclasses. Do not call these directly |
-// unless a subclass of ToolbarController. |
-@interface ToolbarController(ProtectedMethods) |
-// Designated initializer which takes a nib name in order to allow subclasses |
-// to load a different nib file. |
-- (id)initWithModel:(ToolbarModel*)model |
- commands:(CommandUpdater*)commands |
- profile:(Profile*)profile |
- browser:(Browser*)browser |
- resizeDelegate:(id<ViewResizer>)resizeDelegate |
- nibFileNamed:(NSString*)nibName; |
-@end |
- |
-// A set of private methods used by tests, in the absence of "friends" in ObjC. |
-@interface ToolbarController(PrivateTestMethods) |
-// Returns an array of views in the order of the outlets above. |
-- (NSArray*)toolbarViews; |
-- (void)showOptionalHomeButton; |
-- (void)installWrenchMenu; |
-- (WrenchMenuController*)wrenchMenuController; |
-// Return a hover button for the current event. |
-- (NSButton*)hoverButtonForEvent:(NSEvent*)theEvent; |
-@end |
- |
-#endif // CHROME_BROWSER_UI_COCOA_TOOLBAR_CONTROLLER_H_ |