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 acceptsFirstResponder_; 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 YES (by default) if the view accepts first responder status. 43 - (void)setAcceptsFirstResponder:(BOOL)acceptsFirstResponder; 44 45 @end 46