blob: f5083d09aee6efc7f1716f197512ae265bee797e [file] [log] [blame]
// 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.
//
// A simple custom NSView for the bookmark bar used to prevent clicking and
// dragging from moving the browser window.
#ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_H_
#define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_H_
#import <Cocoa/Cocoa.h>
#import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h"
@class BookmarkBarController;
@class BookmarkBarItemContainer;
@class BookmarkBarTextField;
@interface BookmarkBarView : NSView {
@private
BOOL dropIndicatorShown_;
CGFloat dropIndicatorPosition_; // x position
IBOutlet BookmarkBarController* controller_;
IBOutlet BookmarkBarTextField* noItemTextfield_;
IBOutlet NSButton* importBookmarksButton_;
BookmarkBarItemContainer* noItemContainer_;
}
- (BookmarkBarTextField*)noItemTextfield;
- (NSButton*)importBookmarksButton;
- (BookmarkBarController*)controller;
@property(nonatomic, assign) IBOutlet BookmarkBarItemContainer* noItemContainer;
@end
@interface BookmarkBarView() // TestingOrInternalAPI
@property(nonatomic, readonly) BOOL dropIndicatorShown;
@property(nonatomic, readonly) CGFloat dropIndicatorPosition;
- (void)setController:(id)controller;
@end
// NSTextField subclass responsible for routing -menu to the BookmarBarView.
// This is necessary when building with the 10.6 SDK because -rightMouseDown:
// does not follow the responder chain.
@interface BookmarkBarTextField : NSTextField {
@private
IBOutlet BookmarkBarView* barView_;
}
@end
// GTMWidthBasedTweaker subclass responsible for routing -menu to the
// BookmarBarView. This is necessary when building with the 10.6 SDK because
// -rightMouseDown: does not follow the responder chain.
@interface BookmarkBarItemContainer : GTMWidthBasedTweaker {
@private
IBOutlet BookmarkBarView* barView_;
}
@end
#endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_H_