Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / bookmarks / bookmark_bar_view_cocoa.h
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.
4 //
5 // A simple custom NSView for the bookmark bar used to prevent clicking and
6 // dragging from moving the browser window.
7
8 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_COCOA_H_
9 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_COCOA_H_
10
11 #import <Cocoa/Cocoa.h>
12
13 #import "third_party/google_toolbox_for_mac/src/AppKit/GTMUILocalizerAndLayoutTweaker.h"
14
15 @class BookmarkBarController;
16 @class BookmarkBarItemContainer;
17 @class BookmarkBarTextField;
18
19 @interface BookmarkBarView : NSView {
20  @private
21   BOOL dropIndicatorShown_;
22   CGFloat dropIndicatorPosition_;  // x position
23
24   IBOutlet BookmarkBarController* controller_;
25   IBOutlet BookmarkBarTextField* noItemTextfield_;
26   IBOutlet NSButton* importBookmarksButton_;
27   BookmarkBarItemContainer* noItemContainer_;
28 }
29 - (BookmarkBarTextField*)noItemTextfield;
30 - (NSButton*)importBookmarksButton;
31 - (BookmarkBarController*)controller;
32
33 @property(nonatomic, assign) IBOutlet BookmarkBarItemContainer* noItemContainer;
34 @end
35
36 @interface BookmarkBarView()  // TestingOrInternalAPI
37 @property(nonatomic, readonly) BOOL dropIndicatorShown;
38 @property(nonatomic, readonly) CGFloat dropIndicatorPosition;
39 - (void)setController:(id)controller;
40 @end
41
42
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 {
47  @private
48   IBOutlet BookmarkBarView* barView_;
49 }
50 @end
51
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 {
56  @private
57   IBOutlet BookmarkBarView* barView_;
58 }
59 @end
60
61 #endif  // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_VIEW_COCOA_H_