home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula
/
nebula.bin
/
SourceCode
/
MiniExamples
/
FilterFunctions
/
SSTFCell.m
< prev
next >
Wrap
Text File
|
1991-09-29
|
2KB
|
59 lines
/*
* You may freely copy, distribute and reuse the code
* in this example. NeXT disclaims any warranty of
* any kind, expressed or implied, as to its fitness
* for any particular use.
*
* Written by: Susan Rayl
*
* Created 21-Mar-91
*/
#import "SSTFCell.h"
#import <appkit/Text.h>
@implementation SSTFCell
/* fill in the real text filter function for this type of TextFieldCell
* Note that this code is in the initialize method, not the initFrame: method.
* The initialize method initializes attributes of the class before it's ever used;
* that is, before any instances are ever created. Ìn this initialize method, the
* cell class of the SSTextField is being reset from the default TextFieldCell to
* a custom TextFieldCell class, SSTFCell. This must be done before any
* instances are created so that all instances will have the correct cell class.
* Remember, initialize is called before any instances of the class are created;
* initFrame: is called as each instance is created.
*/
-init
{
[super init];
newTextFilter = (NXTextFilterFunc)ssFilter;
return self;
}
/* Social Security nuumber is specified in the 123-45-6789 format */
char *ssFilter(id textObj, char *inputText, int *inputLength, int position)
{
char temp[] = "";
if ((position == 3) || (position == 6)) {
if (*inputText != '-') {
*inputLength = 0;
return (temp);
} else {
return (inputText);
}
} else if (position >= 11) {
*inputLength = 0;
return (temp);
} else if ((*inputText >= '0') && (*inputText <= '9')) {
return (inputText);
} else {
*inputLength = 0;
return (temp);
}
}
@end