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

Unified Diff: chrome/browser/ui/cocoa/tab_view.h

Issue 6362007: [Mac] Organize all tab/tab strip files into chrome/browser/ui/cocoa/tabs/.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/cocoa/tab_strip_view_unittest.mm ('k') | chrome/browser/ui/cocoa/tab_view.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/tab_view.h
===================================================================
--- chrome/browser/ui/cocoa/tab_view.h (revision 71805)
+++ chrome/browser/ui/cocoa/tab_view.h (working copy)
@@ -1,134 +0,0 @@
-// Copyright (c) 2009 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_VIEW_H_
-#define CHROME_BROWSER_UI_COCOA_TAB_VIEW_H_
-#pragma once
-
-#import <Cocoa/Cocoa.h>
-#include <ApplicationServices/ApplicationServices.h>
-
-#include <map>
-
-#include "base/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/background_gradient_view.h"
-#import "chrome/browser/ui/cocoa/hover_close_button.h"
-
-namespace tabs {
-
-// Nomenclature:
-// Tabs _glow_ under two different circumstances, when they are _hovered_ (by
-// the mouse) and when they are _alerted_ (to show that the tab's title has
-// changed).
-
-// The state of alerting (to show a title change on an unselected, pinned tab).
-// This is more complicated than a simple on/off since we want to allow the
-// alert glow to go through a full rise-hold-fall cycle to avoid flickering (or
-// always holding).
-enum AlertState {
- kAlertNone = 0, // Obj-C initializes to this.
- kAlertRising,
- kAlertHolding,
- kAlertFalling
-};
-
-} // namespace tabs
-
-@class TabController, TabWindowController;
-
-// A view that handles the event tracking (clicking and dragging) for a tab
-// on the tab strip. Relies on an associated TabController to provide a
-// target/action for selecting the tab.
-
-@interface TabView : BackgroundGradientView {
- @private
- IBOutlet TabController* controller_;
- // TODO(rohitrao): Add this button to a CoreAnimation layer so we can fade it
- // in and out on mouseovers.
- IBOutlet HoverCloseButton* closeButton_;
-
- // See awakeFromNib for purpose.
- scoped_nsobject<HoverCloseButton> closeButtonRetainer_;
-
- BOOL closing_;
-
- // Tracking area for close button mouseover images.
- scoped_nsobject<NSTrackingArea> closeTrackingArea_;
-
- BOOL isMouseInside_; // Is the mouse hovering over?
- tabs::AlertState alertState_;
-
- CGFloat hoverAlpha_; // How strong the hover glow is.
- NSTimeInterval hoverHoldEndTime_; // When the hover glow will begin dimming.
-
- CGFloat alertAlpha_; // How strong the alert glow is.
- NSTimeInterval alertHoldEndTime_; // When the hover glow will begin dimming.
-
- NSTimeInterval lastGlowUpdate_; // Time either glow was last updated.
-
- NSPoint hoverPoint_; // Current location of hover in view coords.
-
- // All following variables are valid for the duration of a drag.
- // These are released on mouseUp:
- BOOL moveWindowOnDrag_; // Set if the only tab of a window is dragged.
- BOOL tabWasDragged_; // Has the tab been dragged?
- BOOL draggingWithinTabStrip_; // Did drag stay in the current tab strip?
- BOOL chromeIsVisible_;
-
- NSTimeInterval tearTime_; // Time since tear happened
- NSPoint tearOrigin_; // Origin of the tear rect
- NSPoint dragOrigin_; // Origin point of the drag
- // TODO(alcor): these references may need to be strong to avoid crashes
- // due to JS closing windows
- TabWindowController* sourceController_; // weak. controller starting the drag
- NSWindow* sourceWindow_; // weak. The window starting the drag
- NSRect sourceWindowFrame_;
- NSRect sourceTabFrame_;
-
- TabWindowController* draggedController_; // weak. Controller being dragged.
- NSWindow* dragWindow_; // weak. The window being dragged
- NSWindow* dragOverlay_; // weak. The overlay being dragged
- // Cache workspace IDs per-drag because computing them on 10.5 with
- // CGWindowListCreateDescriptionFromArray is expensive.
- // resetDragControllers clears this cache.
- //
- // TODO(davidben): When 10.5 becomes unsupported, remove this.
- std::map<CGWindowID, int> workspaceIDCache_;
-
- TabWindowController* targetController_; // weak. Controller being targeted
- NSCellStateValue state_;
-}
-
-@property(assign, nonatomic) NSCellStateValue state;
-@property(assign, nonatomic) CGFloat hoverAlpha;
-@property(assign, nonatomic) CGFloat alertAlpha;
-
-// Determines if the tab is in the process of animating closed. It may still
-// be visible on-screen, but should not respond to/initiate any events. Upon
-// setting to NO, clears the target/action of the close button to prevent
-// clicks inside it from sending messages.
-@property(assign, nonatomic, getter=isClosing) BOOL closing;
-
-// Enables/Disables tracking regions for the tab.
-- (void)setTrackingEnabled:(BOOL)enabled;
-
-// Begin showing an "alert" glow (shown to call attention to an unselected
-// pinned tab whose title changed).
-- (void)startAlert;
-
-// Stop showing the "alert" glow; this won't immediately wipe out any glow, but
-// will make it fade away.
-- (void)cancelAlert;
-
-@end
-
-// The TabController |controller_| is not the only owner of this view. If the
-// controller is released before this view, then we could be hanging onto a
-// garbage pointer. To prevent this, the TabController uses this interface to
-// clear the |controller_| pointer when it is dying.
-@interface TabView (TabControllerInterface)
-- (void)setController:(TabController*)controller;
-@end
-
-#endif // CHROME_BROWSER_UI_COCOA_TAB_VIEW_H_
« no previous file with comments | « chrome/browser/ui/cocoa/tab_strip_view_unittest.mm ('k') | chrome/browser/ui/cocoa/tab_view.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698