| Index: chrome/browser/cocoa/extensions/browser_actions_container_view.h
|
| ===================================================================
|
| --- chrome/browser/cocoa/extensions/browser_actions_container_view.h (revision 41123)
|
| +++ chrome/browser/cocoa/extensions/browser_actions_container_view.h (working copy)
|
| @@ -2,18 +2,76 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#ifndef CHROME_BROWSER_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_
|
| +#define CHROME_BROWSER_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_
|
| +
|
| #import <Cocoa/Cocoa.h>
|
|
|
| @class BrowserActionButton;
|
|
|
| +// Sent when a user-initiated drag to resize the container is initiated.
|
| +extern const NSString* kBrowserActionGrippyDragStartedNotification;
|
| +
|
| +// Sent when a user-initiated drag is resizing the container.
|
| +extern const NSString* kBrowserActionGrippyDraggingNotification;
|
| +
|
| +// Sent when a user-initiated drag to resize the container has finished.
|
| +extern const NSString* kBrowserActionGrippyDragFinishedNotification;
|
| +
|
| +// The view that encompasses the Browser Action buttons in the toolbar and
|
| +// provides mechanisms for resizing.
|
| @interface BrowserActionsContainerView : NSView {
|
| + @private
|
| + // The frame encompasing the grippy used for resizing the container.
|
| + NSRect grippyRect_;
|
| +
|
| + // Used to cache the original position within the container that initiated the
|
| + // drag.
|
| + NSPoint initialDragPoint_;
|
| +
|
| + // Used to cache the previous x-pos of the frame rect for resizing purposes.
|
| + CGFloat lastXPos_;
|
| +
|
| // Whether there is a border to the right of the last Browser Action.
|
| BOOL rightBorderShown_;
|
| +
|
| + // Whether the container is currently being resized by the user.
|
| + BOOL userIsResizing_;
|
| +
|
| + // Whether the user is allowed to drag the grippy to the left. NO if all
|
| + // extensions are shown or the location bar has hit its minimum width (handled
|
| + // within toolbar_controller.mm).
|
| + BOOL canDragLeft_;
|
| +
|
| + // Whether the user is allowed to drag the grippy to the right. NO if all
|
| + // extensions are hidden.
|
| + BOOL canDragRight_;
|
| +
|
| + // When the left grippy is pinned, resizing the window has no effect on its
|
| + // position. This prevents it from overlapping with other elements as well
|
| + // as letting the container expand when the window is going from super small
|
| + // to large.
|
| + BOOL grippyPinned_;
|
| }
|
|
|
| +// Resizes the container to the given ideal width, adjusting the |lastXPos_| so
|
| +// that |resizeDeltaX| is accurate.
|
| +- (void)resizeToWidth:(CGFloat)width animate:(BOOL)animate;
|
| +
|
| // Returns the (visible) button at the given index in the view's hierarchy.
|
| - (BrowserActionButton*)buttonAtIndex:(NSUInteger)index;
|
|
|
| +// Returns the change in the x-pos of the frame rect during resizing. Meant to
|
| +// be queried when a NSViewFrameDidChangeNotification is fired to determine
|
| +// placement of surrounding elements.
|
| +- (CGFloat)resizeDeltaX;
|
| +
|
| +@property(nonatomic) BOOL canDragLeft;
|
| +@property(nonatomic) BOOL canDragRight;
|
| +@property(nonatomic) BOOL grippyPinned;
|
| +@property(readonly, nonatomic) BOOL userIsResizing;
|
| @property(nonatomic) BOOL rightBorderShown;
|
|
|
| @end
|
| +
|
| +#endif // CHROME_BROWSER_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_
|
|
|