ftp.nice.ch/pub/next/connectivity/news/Alexandra.0.82.s.tar.gz#/alex8/TextKeyDown.m

This is TextKeyDown.m in view mode; [Download] [Up]

#import <appkit/appkit.h>
#import "TextKeyDown.h"

@implementation TextKeyDown 

- initFrame:(const NXRect *)aRect
{
   NXSize size;
   NXSize s = {1.0E38, 1.0E38};
  
   [super initFrame:aRect];
   [[[self superview] superview] getContentSize:&size];
   [[self superview] setAutoresizeSubviews:YES];


   [self sizeTo:size.width :size.height];
   [self setEditable:NO];
   [self setMonoFont:NO];
   [self setBackgroundGray:NX_WHITE];
   [self setOpaque:YES];
   [self notifyAncestorWhenFrameChanged: YES];
   [self setVertResizable:YES];
	[self setHorizResizable:NO];
	
	[self setMinSize:&size];
	[self setMaxSize:&s];
	[[self superview] setAutoresizeSubviews:YES];
   [[self superview] setAutosizing:NX_HEIGHTSIZABLE | NX_WIDTHSIZABLE];

   return self;
}

- keyDown:(NXEvent *)theEvent
{
   int cCode=theEvent->data.key.charCode;

   if(![self isEditable])
      if(((cCode>171)&&(cCode<176))||(cCode==32))
         [nextResponder keyDown:theEvent];
      else
		   NXBeep();
	else
      [super keyDown:theEvent];
	
   return self;
}

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.