1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // A simple custom NSView for the bookmark bar used to prevent clicking and
6 // dragging from moving the browser window.
8 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_H_
9 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_H_
11 #import <Cocoa/Cocoa.h>
13 #import "third_party/google_toolbox_for_mac/src/AppKit/GTMUILocalizerAndLayoutTweaker.h"
15 @
class BookmarkBarController
;
16 @
class BookmarkBarItemContainer
;
17 @
class BookmarkBarTextField
;
19 @interface BookmarkBarView
: NSView
{
21 BOOL dropIndicatorShown_
;
22 CGFloat dropIndicatorPosition_
; // x position
24 IBOutlet BookmarkBarController
* controller_
;
25 IBOutlet BookmarkBarTextField
* noItemTextfield_
;
26 IBOutlet NSButton
* importBookmarksButton_
;
27 BookmarkBarItemContainer
* noItemContainer_
;
29 - (BookmarkBarTextField
*)noItemTextfield
;
30 - (NSButton
*)importBookmarksButton
;
31 - (BookmarkBarController
*)controller
;
33 @
property(nonatomic
, assign
) IBOutlet BookmarkBarItemContainer
* noItemContainer
;
36 @interface
BookmarkBarView() // TestingOrInternalAPI
37 @
property(nonatomic
, readonly
) BOOL dropIndicatorShown
;
38 @
property(nonatomic
, readonly
) CGFloat dropIndicatorPosition
;
39 - (void)setController
:(id
)controller
;
43 // NSTextField subclass responsible for routing -menu to the BookmarBarView.
44 // This is necessary when building with the 10.6 SDK because -rightMouseDown:
45 // does not follow the responder chain.
46 @interface BookmarkBarTextField
: NSTextField
{
48 IBOutlet BookmarkBarView
* barView_
;
52 // GTMWidthBasedTweaker subclass responsible for routing -menu to the
53 // BookmarBarView. This is necessary when building with the 10.6 SDK because
54 // -rightMouseDown: does not follow the responder chain.
55 @interface BookmarkBarItemContainer
: GTMWidthBasedTweaker
{
57 IBOutlet BookmarkBarView
* barView_
;
61 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_H_