diff options
Diffstat (limited to 'Vendor/HPGrowingTextView.h')
| -rw-r--r-- | Vendor/HPGrowingTextView.h | 107 | 
1 files changed, 107 insertions, 0 deletions
| diff --git a/Vendor/HPGrowingTextView.h b/Vendor/HPGrowingTextView.h new file mode 100644 index 0000000..200b3e0 --- /dev/null +++ b/Vendor/HPGrowingTextView.h @@ -0,0 +1,107 @@ +// +//  HPTextView.h +// +//  Created by Hans Pinckaers on 29-06-10. +// +//	MIT License +// +//	Copyright (c) 2011 Hans Pinckaers +// +//	Permission is hereby granted, free of charge, to any person obtaining a copy +//	of this software and associated documentation files (the "Software"), to deal +//	in the Software without restriction, including without limitation the rights +//	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//	copies of the Software, and to permit persons to whom the Software is +//	furnished to do so, subject to the following conditions: +// +//	The above copyright notice and this permission notice shall be included in +//	all copies or substantial portions of the Software. +// +//	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +//	THE SOFTWARE. + +#import <UIKit/UIKit.h> + +@class HPGrowingTextView; +@class HPTextViewInternal; + +@protocol HPGrowingTextViewDelegate + +@optional +- (BOOL)growingTextViewShouldBeginEditing:(HPGrowingTextView *)growingTextView; +- (BOOL)growingTextViewShouldEndEditing:(HPGrowingTextView *)growingTextView; + +- (void)growingTextViewDidBeginEditing:(HPGrowingTextView *)growingTextView; +- (void)growingTextViewDidEndEditing:(HPGrowingTextView *)growingTextView; + +- (BOOL)growingTextView:(HPGrowingTextView *)growingTextView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text; +- (void)growingTextViewDidChange:(HPGrowingTextView *)growingTextView; + +- (void)growingTextView:(HPGrowingTextView *)growingTextView willChangeHeight:(float)height; +- (void)growingTextView:(HPGrowingTextView *)growingTextView didChangeHeight:(float)height; + +- (void)growingTextViewDidChangeSelection:(HPGrowingTextView *)growingTextView; +- (BOOL)growingTextViewShouldReturn:(HPGrowingTextView *)growingTextView; +@end + +@interface HPGrowingTextView : UIView <UITextViewDelegate> { +	HPTextViewInternal *internalTextView;	 +	 +	int minHeight; +	int maxHeight; +	 +	//class properties +	int maxNumberOfLines; +	int minNumberOfLines; +	 +	BOOL animateHeightChange; +	 +	//uitextview properties +	NSObject <HPGrowingTextViewDelegate> *delegate; +	NSString *text; +	UIFont *font; +	UIColor *textColor; +	UITextAlignment textAlignment;  +	NSRange selectedRange; +	BOOL editable; +	UIDataDetectorTypes dataDetectorTypes; +	UIReturnKeyType returnKeyType; +     +    UIEdgeInsets contentInset; +} + +//real class properties +@property int maxNumberOfLines; +@property int minNumberOfLines; +@property BOOL animateHeightChange; +@property (retain) UITextView *internalTextView;	 + + +//uitextview properties +@property(assign) NSObject<HPGrowingTextViewDelegate> *delegate; +@property(nonatomic,assign) NSString *text; +@property(nonatomic,assign) UIFont *font; +@property(nonatomic,assign) UIColor *textColor; +@property(nonatomic) UITextAlignment textAlignment;    // default is UITextAlignmentLeft +@property(nonatomic) NSRange selectedRange;            // only ranges of length 0 are supported +@property(nonatomic,getter=isEditable) BOOL editable; +@property(nonatomic) UIDataDetectorTypes dataDetectorTypes __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_0); +@property (nonatomic) UIReturnKeyType returnKeyType; +@property (assign) UIEdgeInsets contentInset; +@property(nonatomic) BOOL enablesReturnKeyAutomatically; + +//uitextview methods +//need others? use .internalTextView +- (BOOL)becomeFirstResponder; +- (BOOL)resignFirstResponder; +- (BOOL)isFirstResponder; + +- (BOOL)hasText; +- (void)scrollRangeToVisible:(NSRange)range; + +@end | 
