home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1994 June / NEBULA_SE.ISO / SourceCode / MiscKit / Examples / TinyTerm / TinyTermWindow.m < prev   
Encoding:
Text File  |  1994-01-16  |  1.1 KB  |  60 lines

  1.  
  2. #import "TinyTermWindow.h"
  3.  
  4. @implementation TinyTermWindow
  5.  
  6. - initContent: (const NXRect *)contentRect
  7.     style: (int)aStyle
  8.     backing: (int)backingType
  9.     buttonMask: (int)mask
  10.     defer: (BOOL)flag
  11. {
  12.     self = [super initContent: contentRect style: aStyle
  13.         backing: backingType buttonMask: mask defer: flag];
  14.     port = [[MiscSerialPort alloc] init];
  15.     [port setDeviceName: "/dev/cufa"];
  16.     [port setBaudByName: "9600"];
  17.     [port setDelegate: self];
  18.     if( ![port connect] )
  19.         [self setTitle: "Could not open /dev/cufa"];
  20.     return self;
  21. }
  22.  
  23. - makeFirstResponder: aResponder
  24. {
  25.     return nil;
  26. }
  27.  
  28. - keyDown: (NXEvent *)theEvent
  29. {
  30.     char    buf[4];
  31.     
  32.     buf[0] = theEvent->data.key.charCode;
  33.     [port transmitChars: buf length: 1];
  34.     return self;
  35. }
  36.  
  37. - receiveChars: (char *)buffer length: (int)length
  38. {
  39.     int        i, endpos;
  40.     
  41.     for( i = 0; i < length; ++i )
  42.         if( buffer[i] == '\r' )
  43.             buffer[i] = ' ';
  44.     endpos = [myText textLength];
  45.     [myText setSel: endpos : endpos];
  46.     [myText replaceSel: buffer length: length];
  47.     endpos = [myText textLength];
  48.     [myText setSel: endpos : endpos];
  49.     [myText scrollSelToVisible];
  50.     return self;
  51. }
  52.  
  53. - hangup
  54. {
  55.     return self;
  56. }
  57.  
  58.  
  59. @end
  60.