summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/tab_window_controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/cocoa/tab_window_controller.h')
-rw-r--r--chrome/browser/cocoa/tab_window_controller.h177
1 files changed, 0 insertions, 177 deletions
diff --git a/chrome/browser/cocoa/tab_window_controller.h b/chrome/browser/cocoa/tab_window_controller.h
deleted file mode 100644
index b501548..0000000
--- a/chrome/browser/cocoa/tab_window_controller.h
+++ /dev/null
@@ -1,177 +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_COCOA_TAB_WINDOW_CONTROLLER_H_
-#define CHROME_BROWSER_COCOA_TAB_WINDOW_CONTROLLER_H_
-#pragma once
-
-// A class acting as the Objective-C window controller for a window that has
-// tabs which can be dragged around. Tabs can be re-arranged within the same
-// window or dragged into other TabWindowController windows. This class doesn't
-// know anything about the actual tab implementation or model, as that is fairly
-// application-specific. It only provides an API to be overridden by subclasses
-// to fill in the details.
-//
-// This assumes that there will be a view in the nib, connected to
-// |tabContentArea_|, that indicates the content that it switched when switching
-// between tabs. It needs to be a regular NSView, not something like an NSBox
-// because the TabStripController makes certain assumptions about how it can
-// swap out subviews.
-//
-// The tab strip can exist in different orientations and window locations,
-// depending on the return value of -usesVerticalTabs. If NO (the default),
-// the tab strip is placed outside the window's content area, overlapping the
-// title area and window controls and will be stretched to fill the width
-// of the window. If YES, the tab strip is vertical and lives within the
-// window's content area. It will be stretched to fill the window's height.
-
-#import <Cocoa/Cocoa.h>
-
-#import "base/cocoa_protocols_mac.h"
-#include "base/scoped_nsobject.h"
-
-@class FastResizeView;
-@class FocusTracker;
-@class TabStripView;
-@class TabView;
-
-@interface TabWindowController : NSWindowController<NSWindowDelegate> {
- @private
- IBOutlet FastResizeView* tabContentArea_;
- // TODO(pinkerton): Figure out a better way to initialize one or the other
- // w/out needing both to be in the nib.
- IBOutlet TabStripView* topTabStripView_;
- IBOutlet TabStripView* sideTabStripView_;
- NSWindow* overlayWindow_; // Used during dragging for window opacity tricks
- NSView* cachedContentView_; // Used during dragging for identifying which
- // view is the proper content area in the overlay
- // (weak)
- scoped_nsobject<FocusTracker> focusBeforeOverlay_;
- scoped_nsobject<NSMutableSet> lockedTabs_;
- BOOL closeDeferred_; // If YES, call performClose: in removeOverlay:.
- // Difference between height of window content area and height of the
- // |tabContentArea_|. Calculated when the window is loaded from the nib and
- // cached in order to restore the delta when switching tab modes.
- CGFloat contentAreaHeightDelta_;
-}
-@property(readonly, nonatomic) TabStripView* tabStripView;
-@property(readonly, nonatomic) FastResizeView* tabContentArea;
-
-// Used during tab dragging to turn on/off the overlay window when a tab
-// is torn off. If -deferPerformClose (below) is used, -removeOverlay will
-// cause the controller to be autoreleased before returning.
-- (void)showOverlay;
-- (void)removeOverlay;
-- (NSWindow*)overlayWindow;
-
-// Returns YES if it is ok to constrain the window's frame to fit the screen.
-- (BOOL)shouldConstrainFrameRect;
-
-// A collection of methods, stubbed out in this base class, that provide
-// the implementation of tab dragging based on whatever model is most
-// appropriate.
-
-// Layout the tabs based on the current ordering of the model.
-- (void)layoutTabs;
-
-// Creates a new window by pulling the given tab out and placing it in
-// the new window. Returns the controller for the new window. The size of the
-// new window will be the same size as this window.
-- (TabWindowController*)detachTabToNewWindow:(TabView*)tabView;
-
-// Make room in the tab strip for |tab| at the given x coordinate. Will hide the
-// new tab button while there's a placeholder. Subclasses need to call the
-// superclass implementation.
-- (void)insertPlaceholderForTab:(TabView*)tab
- frame:(NSRect)frame
- yStretchiness:(CGFloat)yStretchiness;
-
-// Removes the placeholder installed by |-insertPlaceholderForTab:atLocation:|
-// and restores the new tab button. Subclasses need to call the superclass
-// implementation.
-- (void)removePlaceholder;
-
-// The follow return YES if tab dragging/tab tearing (off the tab strip)/window
-// movement is currently allowed. Any number of things can choose to disable it,
-// such as pending animations. The default implementations always return YES.
-// Subclasses should override as appropriate.
-- (BOOL)tabDraggingAllowed;
-- (BOOL)tabTearingAllowed;
-- (BOOL)windowMovementAllowed;
-
-// Show or hide the new tab button. The button is hidden immediately, but
-// waits until the next call to |-layoutTabs| to show it again.
-- (void)showNewTabButton:(BOOL)show;
-
-// Returns whether or not |tab| can still be fully seen in the tab strip or if
-// its current position would cause it be obscured by things such as the edge
-// of the window or the window decorations. Returns YES only if the entire tab
-// is visible. The default implementation always returns YES.
-- (BOOL)isTabFullyVisible:(TabView*)tab;
-
-// Called to check if the receiver can receive dragged tabs from
-// source. Return YES if so. The default implementation returns NO.
-- (BOOL)canReceiveFrom:(TabWindowController*)source;
-
-// Move a given tab view to the location of the current placeholder. If there is
-// no placeholder, it will go at the end. |controller| is the window controller
-// of a tab being dropped from a different window. It will be nil if the drag is
-// within the window, otherwise the tab is removed from that window before being
-// placed into this one. The implementation will call |-removePlaceholder| since
-// the drag is now complete. This also calls |-layoutTabs| internally so
-// clients do not need to call it again.
-- (void)moveTabView:(NSView*)view
- fromController:(TabWindowController*)controller;
-
-// Number of tabs in the tab strip. Useful, for example, to know if we're
-// dragging the only tab in the window. This includes pinned tabs (both live
-// and not).
-- (NSInteger)numberOfTabs;
-
-// YES if there are tabs in the tab strip which have content, allowing for
-// the notion of tabs in the tab strip that are placeholders but currently have
-// no content.
-- (BOOL)hasLiveTabs;
-
-// Return the view of the selected tab.
-- (NSView *)selectedTabView;
-
-// The title of the selected tab.
-- (NSString*)selectedTabTitle;
-
-// Called to check whether or not this controller's window has a tab strip (YES
-// if it does, NO otherwise). The default implementation returns YES.
-- (BOOL)hasTabStrip;
-
-// Returns YES if the tab strip lives in the window content area alongside the
-// tab contents. Returns NO if the tab strip is outside the window content
-// area, along the top of the window.
-- (BOOL)useVerticalTabs;
-
-// Get/set whether a particular tab is draggable between windows.
-- (BOOL)isTabDraggable:(NSView*)tabView;
-- (void)setTab:(NSView*)tabView isDraggable:(BOOL)draggable;
-
-// Tell the window that it needs to call performClose: as soon as the current
-// drag is complete. This prevents a window (and its overlay) from going away
-// during a drag.
-- (void)deferPerformClose;
-
-@end
-
-@interface TabWindowController(ProtectedMethods)
-// Tells the tab strip to forget about this tab in preparation for it being
-// put into a different tab strip, such as during a drop on another window.
-- (void)detachTabView:(NSView*)view;
-
-// Toggles from one display mode of the tab strip to another. Will automatically
-// call -layoutSubviews to reposition other content.
-- (void)toggleTabStripDisplayMode;
-
-// Called when the size of the window content area has changed. Override to
-// position specific views. Base class implementation does nothing.
-- (void)layoutSubviews;
-@end
-
-#endif // CHROME_BROWSER_COCOA_TAB_WINDOW_CONTROLLER_H_