• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSTextField Attributes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTextField Attributes


  • Subject: Re: NSTextField Attributes
  • From: Josh Aas <email@hidden>
  • Date: Fri, 24 May 2002 16:54:17 -0500

Alright - I haven't solved my problem with only accepting alphanumeric
characters (I'm close though), but here is the solution to the other two...
Using this delegate prevents bad copy-paste and won't allow the user to
enter more than four characters...

- (void)controlTextDidChange:(NSNotification*)aNotification {
if ([[extensionTextField stringValue] length] > 4) {
NSBeep();
[extensionTextField setObjectValue:LastExtensionValue];
}
if ([[extensionTextField stringValue] length] > 0) {
[addExtensionButton setEnabled:YES];
}
else {
[addExtensionButton setEnabled:NO];
}
LastExtensionValue = [extensionTextField stringValue];
}

> On Thursday, May 23, 2002, at 06:24 PM, Josh Aas wrote:
>
>> I need to have an NSTextField behave with the following attributes
>> that I
>> cannot figure out how to implement. I have tried a number of delegates
>> and
>> read through both (common) cocoa books... Sorry if this is really
>> simple!
>>
>> - It must not accept pasting values into it.
>
> For this level of control, I'm thinking you may need to subclass.
> Override the keyDown: method and intercept pasting events ( you'll have
> to dig around for docs on how to tell if it is a past, can't say off the
> top of my head ) and send all other events to super.
>
>> - It must only accept four characters, and beep if the user tries to
>> enter
>> more.
>> - It must only accept alphanumeric characters (specified in
>> [NSCharacterSet
>> alphanumericCharacterSet]).
>
> There are 2 approaches for this:
>
> 1 - You can create a formatter, subclass of NSFormatter found in
> Foundation. There is a number formatter already shipped with IB, but it
> won't help you with the alphas. This has to be set on the cell of the
> textfield.
>
> 2 - Register your controller to receive
> NSControlTextDidChangeNotification notifications. Review delegate
> methods and notifications within NSControl for details..., you may find
> an easier way then that.
>
> Of these 2, I would suggest going with the formatter solution, #1. With
> #2 I suspect you may get bogus notifications with a paste event, not
> sure tho without testing it.
>
> Good luck...
>
> --Brian
>
>>
>> Thanks!
>> -Josh Aas
>> _______________________________________________
>> cocoa-dev mailing list | email@hidden
>> Help/Unsubscribe/Archives:
>> http://www.lists.apple.com/mailman/listinfo/cocoa-dev
>> Do not post admin requests to the list. They will be ignored.
> _______________________________________________
> cocoa-dev mailing list | email@hidden
> Help/Unsubscribe/Archives:
> http://www.lists.apple.com/mailman/listinfo/cocoa-dev
> Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: NSTextField Attributes
      • From: Douglas Davidson <email@hidden>
References: 
 >Re: NSTextField Attributes (From: Anthony Arthur <email@hidden>)

  • Prev by Date: [OT] Re: Constructive Ideas
  • Next by Date: Re: CGDisplayCapture() & CGShieldingWindowLevel()
  • Previous by thread: Re: NSTextField Attributes
  • Next by thread: Re: NSTextField Attributes
  • Index(es):
    • Date
    • Thread