Re: Stripping newlines/blanks when pasting on an NSTextField
Re: Stripping newlines/blanks when pasting on an NSTextField
- Subject: Re: Stripping newlines/blanks when pasting on an NSTextField
- From: Michele Balistreri <email@hidden>
- Date: Sun, 29 Oct 2006 00:59:40 +0200
Thank you for your help. In the end i just used a formatter also
implementing isPartialString.. to be called at each keypress
- (NSString *)stringForObjectValue:(id)anObject
{
return [[(NSString *)anObject componentsSeparatedByString:@"\n"]
componentsJoinedByString:@""];
}
- (BOOL)getObjectValue:(id *)anObject forString:(NSString *)string
errorDescription:(NSString **)error
{
*anObject = [[(NSString *)string componentsSeparatedByString:@"\n"]
componentsJoinedByString:@""];
return YES;
}
- (BOOL)isPartialStringValid:(NSString *)partialString
newEditingString:(NSString **)newString errorDescription:(NSString **)
error
{
*newString = [[(NSString *)partialString
componentsSeparatedByString:@"\n"] componentsJoinedByString:@""];
return NO;
}
This is the code, maybe not the best way to strip white characters,
but trimming is not enough for me unfortunately. Indeed if someone
knows a better way (maybe a little more flexible), please advice.
Regards,
Michele Balistreri
brik. Lead programmer.
Il giorno 29/ott/06, alle ore 00:51, I. Savant ha scritto:
On Oct 28, 2006, at 6:05 PM, Michele Balistreri wrote:
Hi, thank you for your help, i know how to remove characters from
a string, my problem was giving them instant feedback of what has
been done, say they paste 2 lines, they should be directly
displayed as one in the field. That is possible only with
formatters, or there are some special options of NSTextField?
Since you said removing characters from a string isn't the
problem, I'll leave that part alone and address the 'immediate
formatting' part. Sorry for the confusion. ;-)
Just having a filtering formatter isn't enough since the input
isn't formatted until editing is done. A simple approach would be
to use the -controlTextDidChange: delegate method to force the
formatting by calling -validateEditing on the text field in
question when the text changes:
- (void)controlTextDidChange:(NSNotification *)aNotification
{
[[aNotification object] validateEditing];
}
This wouldn't work with NSNumberFormatter or NSDateFormatter
since rejected input returns an empty string, so nothing appears to
have happened but a system beep. Our filtering formatter will
always return a string, so that shouldn't be a problem here.
--
I.S.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden