ftp.nice.ch/pub/next/developer/resources/classes/misckit/MiscKit.1.10.0.s.gnutar.gz#/MiscKit/Palettes/MiscFormField/MiscFormFieldPalette.subproj/MiscFormField.h

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.