home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3.4.17 [SPARC, PA-RISC] / nextstep33_risc.iso / NextLibrary / TeX / tex / src / texview / TVWindow.m < prev    next >
Encoding:
Text File  |  1992-05-04  |  2.4 KB  |  98 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import "TVWindow.h"
  5. #import "PageView.h"
  6. #import "SheetView.h"
  7. #import "TeXviewObject.h"
  8. #import "dviAccessors.h"
  9. #import <appkit/Application.h>
  10. extern void display() ;
  11. extern void reTeXit() ;
  12. extern void textofront(), consoletofront(), previewtofront(), commandup() ;
  13. extern void mysystem() ;
  14.  
  15. @implementation TVWindow
  16.  
  17. extern PageView *myPageView ;
  18. extern SheetView *myView ;
  19. extern TeXviewObject *myTeXviewObject ;
  20. /* extern NXRect *initsizewindow() ; */
  21.  
  22. + newContent:(const NXRect *)contentRect style:(int)aStyle
  23.              backing:(int)bufferingType buttonMask:(int)mask
  24.              defer:(BOOL)flag
  25. {
  26.    self = [super newContent:contentRect style:aStyle backing:bufferingType
  27.                  buttonMask:mask defer:flag] ;
  28.    return self ;
  29. }
  30.  
  31. static NXEvent newevent ;
  32.  
  33. - keyDown:(NXEvent *)theEvent;
  34. {
  35.    int shiftstate = ((theEvent->flags & NX_SHIFTMASK) ? 1 : 0) +
  36.                     ((theEvent->flags & NX_CONTROLMASK) ? 2 : 0) ;
  37.  
  38.    switch (theEvent->data.key.charCode) {
  39.    case 174:
  40.       if (shiftstate)
  41.          [myPageView moveRight:shiftstate-1] ;
  42.       else
  43.          dviNextPage() ;
  44.       break ;
  45.    case 172:
  46.       if (shiftstate)
  47.          [myPageView moveLeft:shiftstate-1] ;
  48.       else
  49.          dviPrevPage() ;
  50.       break ;
  51.    case 173:
  52.       [myPageView moveUp:shiftstate] ;
  53.       break ;
  54.    case 175:
  55.       [myPageView moveDown:shiftstate] ;
  56.       break ;
  57.    case '-': case '0': case '1': case '2': case '3': case '4': case '5':
  58.    case '6': case '7': case '8': case '9':
  59.       [myTeXviewObject startRandom:theEvent] ;
  60.       break ;
  61.    case 'q':
  62.       if (NXRunAlertPanel(NULL, "Are you sure you want to exit?",
  63.                      "Cancel", "Exit", 0) == NX_ALERTDEFAULT)
  64.          break ;
  65.    case 'Q':
  66.       [NXApp terminate:self] ;
  67.       break ;
  68.    case ' ':
  69.       if (![myPageView moveDown:shiftstate]) {
  70.          [myPageView Top:1] ;
  71.          if (!dviNextPage())
  72.             display() ;
  73.       }
  74.       break ;
  75.    case 8: case 127:
  76.       if (![myPageView moveUp:shiftstate]) {
  77.          [myPageView Bot:1] ;
  78.          if (!dviPrevPage())
  79.             display() ;
  80.       }
  81.       break ;
  82.    default:
  83.       if ((theEvent->flags & NX_COMMANDMASK) == 0) {
  84.          newevent = *theEvent ;
  85.          newevent.flags |= NX_COMMANDMASK ;
  86.          DPSPostEvent(&newevent, 1) ;
  87.       }
  88.       break ;
  89.    }
  90.    return self ;
  91. }
  92.  
  93. - appDidUnhide:sender
  94. {
  95.    return self ;
  96. }
  97. @end
  98.