Index: chrome/browser/ui/cocoa/tab_controller.h |
=================================================================== |
--- chrome/browser/ui/cocoa/tab_controller.h (revision 71805) |
+++ chrome/browser/ui/cocoa/tab_controller.h (working copy) |
@@ -1,115 +0,0 @@ |
-// Copyright (c) 2010 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_TAB_CONTROLLER_H_ |
-#define CHROME_BROWSER_UI_COCOA_TAB_CONTROLLER_H_ |
-#pragma once |
- |
-#import <Cocoa/Cocoa.h> |
-#import "chrome/browser/ui/cocoa/hover_close_button.h" |
-#include "chrome/browser/ui/tabs/tab_menu_model.h" |
- |
-// The loading/waiting state of the tab. |
-enum TabLoadingState { |
- kTabDone, |
- kTabLoading, |
- kTabWaiting, |
- kTabCrashed, |
-}; |
- |
-@class MenuController; |
-namespace TabControllerInternal { |
-class MenuDelegate; |
-} |
-@class TabView; |
-@protocol TabControllerTarget; |
- |
-// A class that manages a single tab in the tab strip. Set its target/action |
-// to be sent a message when the tab is selected by the user clicking. Setting |
-// the |loading| property to YES visually indicates that this tab is currently |
-// loading content via a spinner. |
-// |
-// The tab has the notion of an "icon view" which can be used to display |
-// identifying characteristics such as a favicon, or since it's a full-fledged |
-// view, something with state and animation such as a throbber for illustrating |
-// progress. The default in the nib is an image view so nothing special is |
-// required if that's all you need. |
- |
-@interface TabController : NSViewController { |
- @private |
- IBOutlet NSView* iconView_; |
- IBOutlet NSTextField* titleView_; |
- IBOutlet HoverCloseButton* closeButton_; |
- |
- NSRect originalIconFrame_; // frame of iconView_ as loaded from nib |
- BOOL isIconShowing_; // last state of iconView_ in updateVisibility |
- |
- BOOL app_; |
- BOOL mini_; |
- BOOL pinned_; |
- BOOL selected_; |
- TabLoadingState loadingState_; |
- CGFloat iconTitleXOffset_; // between left edges of icon and title |
- id<TabControllerTarget> target_; // weak, where actions are sent |
- SEL action_; // selector sent when tab is selected by clicking |
- scoped_ptr<TabMenuModel> contextMenuModel_; |
- scoped_ptr<TabControllerInternal::MenuDelegate> contextMenuDelegate_; |
- scoped_nsobject<MenuController> contextMenuController_; |
-} |
- |
-@property(assign, nonatomic) TabLoadingState loadingState; |
- |
-@property(assign, nonatomic) SEL action; |
-@property(assign, nonatomic) BOOL app; |
-@property(assign, nonatomic) BOOL mini; |
-@property(assign, nonatomic) BOOL pinned; |
-@property(assign, nonatomic) BOOL selected; |
-@property(assign, nonatomic) id target; |
-@property(assign, nonatomic) NSView* iconView; |
-@property(assign, nonatomic) NSTextField* titleView; |
-@property(assign, nonatomic) HoverCloseButton* closeButton; |
- |
-// Minimum and maximum allowable tab width. The minimum width does not show |
-// the icon or the close button. The selected tab always has at least a close |
-// button so it has a different minimum width. |
-+ (CGFloat)minTabWidth; |
-+ (CGFloat)maxTabWidth; |
-+ (CGFloat)minSelectedTabWidth; |
-+ (CGFloat)miniTabWidth; |
-+ (CGFloat)appTabWidth; |
- |
-// The view associated with this controller, pre-casted as a TabView |
-- (TabView*)tabView; |
- |
-// Closes the associated TabView by relaying the message to |target_| to |
-// perform the close. |
-- (IBAction)closeTab:(id)sender; |
- |
-// Replace the current icon view with the given view. |iconView| will be |
-// resized to the size of the current icon view. |
-- (void)setIconView:(NSView*)iconView; |
-- (NSView*)iconView; |
- |
-// Called by the tabs to determine whether we are in rapid (tab) closure mode. |
-// In this mode, we handle clicks slightly differently due to animation. |
-// Ideally, tabs would know about their own animation and wouldn't need this. |
-- (BOOL)inRapidClosureMode; |
- |
-// Updates the visibility of certain subviews, such as the icon and close |
-// button, based on criteria such as the tab's selected state and its current |
-// width. |
-- (void)updateVisibility; |
- |
-// Update the title color to match the tabs current state. |
-- (void)updateTitleColor; |
-@end |
- |
-@interface TabController(TestingAPI) |
-- (NSString*)toolTip; |
-- (int)iconCapacity; |
-- (BOOL)shouldShowIcon; |
-- (BOOL)shouldShowCloseButton; |
-@end // TabController(TestingAPI) |
- |
-#endif // CHROME_BROWSER_UI_COCOA_TAB_CONTROLLER_H_ |