This is MiscFormField.h in view mode; [Download] [Up]
#import <appkit/appkit.h> //#import <misckit/misckit.h> #define NX_BS NX_BACKSPACE #define NX_ESC ((unsigned short)0x1B) #define TEXT_LENGTH 200 typedef unsigned char uchar; typedef struct { unsigned int drawGrid:1; unsigned int overwrite:1; unsigned int beepWhenRight:1; unsigned int escClearLine:1; unsigned int specialKeybindings:1; unsigned int crscUPDWN:1; unsigned int disabled:1; unsigned int rest:25; } FORM_FLAGS; typedef struct { int cp,op; //Caracter indexes of sel: curr and prev float x,ox; //Caret coordinates:curr and prev. BOOL _lcVisible; } selection_t; @interface MiscFormField:TextField { id font; float charHeight,backgroundGray,textGray; id delegate; FORM_FLAGS fFlags; DPSTimedEntry timer; /* cursor*/ NXCharFilterFunc charFilterFunc; NXTextFilterFunc textFilterFunc; selection_t sp0,spN; int lp; unsigned char endChar; char blankchar; // caveat: avoid comparision between signed and unsigned chars!!! const char *template,*control,*valid; // internal temp. storage buffers char content[TEXT_LENGTH], buffer[TEXT_LENGTH], lb[TEXT_LENGTH]; char completionChar; //extra feature in stringValue } - (const char *)getInspectorClassName; // privateMethods -(float)widthForCp:(int)cp; - displayInRect:(const NXRect *)rect; // Textobject equivalent methods - selectAll:sender; - delete:sender; - setSel:(int)start :(int)end; - hideCaret; - showCaret; - setText:(const char *)theText; - drawSelection; // changing and quering attributes -(const char*) pureStringValue; - setValue:(const char *)val; - setStringValue:(const char *) val; - setMask:(const char *)mask; -(const char *) mask; - setModifyString:(const char *)str; -(const char *)modifyString; - setBlankchar:(char)bc; - (const char*)valid; - setValidString:(const char*)aValid; - setGrid:(BOOL)flag; - setOverwrite:(BOOL)flag; -(BOOL) specialKeybindings; - setSpecialKeybindings:(BOOL)flag; -(BOOL)grid; -(BOOL)overwrite; -(char)blankchar; // designated initializer - initFrame:(const NXRect *)frameRect withString:(const char *)value andMask:(const char *)mask andControlString:(const char *)theControlString andValidString:(const char *)theValidString; - (BOOL)beepWhenRight; - setBeepWhenRight:(BOOL)aBeepWhenRight; - (BOOL)escClearLine; - setEscClearLine:(BOOL)aEscClearLine; - delegate; - setDelegate:aDelegate; - (char)completionChar; - setCompletionChar:(char)aCompletionChar; @end #define BEZEL_WIDTH 3 #define BEZEL_HEIGHT 3 @interface Object(MiscFormFieldDelegate) - modifyStringValue:(char*) theVal for:sender; - escPressed:sender; - willBecomeFirstResponder:sender; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.