| // Copyright (c) 2011 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. |
| |
| #import <Cocoa/Cocoa.h> |
| |
| @class NSColor; |
| |
| // HyperlinkTextView is an NSTextView subclass for unselectable, linkable text. |
| // This subclass doesn't show the text caret or IBeamCursor, whereas the base |
| // class NSTextView displays both with full keyboard accessibility enabled. |
| @interface HyperlinkTextView : NSTextView { |
| @private |
| BOOL acceptsFirstResponder_; |
| } |
| |
| // Convenience function that sets the |HyperlinkTextView| contents to the |
| // specified |message| with a hypertext style |link| inserted at |linkOffset|. |
| // Uses the supplied |font|, |messageColor|, and |linkColor|. |
| - (void)setMessageAndLink:(NSString*)message |
| withLink:(NSString*)link |
| atOffset:(NSUInteger)linkOffset |
| font:(NSFont*)font |
| messageColor:(NSColor*)messageColor |
| linkColor:(NSColor*)linkColor; |
| |
| // Set the |message| displayed by the HyperlinkTextView, using |font| and |
| // |messageColor|. |
| - (void)setMessage:(NSString*)message |
| withFont:(NSFont*)font |
| messageColor:(NSColor*)messageColor; |
| |
| // Marks a |range| within the given message as link, associating it with |
| // a |name| that is passed to the delegate's textView:clickedOnLink:atIndex:. |
| - (void)addLinkRange:(NSRange)range |
| withName:(id)name |
| linkColor:(NSColor*)linkColor; |
| |
| // This is YES (by default) if the view accepts first responder status. |
| - (void)setAcceptsFirstResponder:(BOOL)acceptsFirstResponder; |
| |
| @end |