Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / hyperlink_text_view.h
1 // Copyright (c) 2011 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 #import <Cocoa/Cocoa.h>
6
7 @class NSColor;
8
9 // HyperlinkTextView is an NSTextView subclass for unselectable, linkable text.
10 // This subclass doesn't show the text caret or IBeamCursor, whereas the base
11 // class NSTextView displays both with full keyboard accessibility enabled.
12 @interface HyperlinkTextView : NSTextView {
13  @private
14   BOOL refusesFirstResponder_;
15   BOOL drawsBackgroundUsingSuperview_;
16 }
17
18 @property(nonatomic, assign) BOOL drawsBackgroundUsingSuperview;
19
20 // Convenience function that sets the |HyperlinkTextView| contents to the
21 // specified |message| with a hypertext style |link| inserted at |linkOffset|.
22 // Uses the supplied |font|, |messageColor|, and |linkColor|.
23 - (void)setMessageAndLink:(NSString*)message
24                  withLink:(NSString*)link
25                  atOffset:(NSUInteger)linkOffset
26                      font:(NSFont*)font
27              messageColor:(NSColor*)messageColor
28                 linkColor:(NSColor*)linkColor;
29
30 // Set the |message| displayed by the HyperlinkTextView, using |font| and
31 // |messageColor|.
32 - (void)setMessage:(NSString*)message
33           withFont:(NSFont*)font
34       messageColor:(NSColor*)messageColor;
35
36 // Marks a |range| within the given message as link, associating it with
37 // a |name| that is passed to the delegate's textView:clickedOnLink:atIndex:.
38 - (void)addLinkRange:(NSRange)range
39             withName:(id)name
40            linkColor:(NSColor*)linkColor;
41
42 // This is NO (by default) if the view rejects first responder status.
43 - (void)setRefusesFirstResponder:(BOOL)refusesFirstResponder;
44
45 @end