This is TVWindow.m in view mode; [Download] [Up]
/* Generated by Interface Builder */ #import "TVWindow.h" #import "PageView.h" #import "SheetView.h" #import "TeXviewObject.h" #import "TeXviewSwitchBoard.h" #import "dviAccessors.h" #import <appkit/Application.h> extern void display() ; extern void reTeXit() ; extern void textofront(), consoletofront(), previewtofront(), commandup() ; extern void mysystem() ; extern int debugon ; @implementation TVWindow extern TeXviewObject *myTeXviewObject ; extern TeXviewSwitchBoard *myTeXviewSwitchBoard ; /* extern NXRect *initsizewindow() ; */ - initContent:(const NXRect *)contentRect style:(int)aStyle backing:(int)bufferingType buttonMask:(int)mask defer:(BOOL)flag { self = [super initContent:contentRect style:aStyle backing:bufferingType buttonMask:mask defer:flag] ; [self setDelegate:myTeXviewSwitchBoard] ; [myTeXviewSwitchBoard setCurrentWindow:self]; slaves = NULL ; return self ; } static NXEvent newevent ; - keyDown:(NXEvent *)theEvent; { int shiftstate = ((theEvent->flags & NX_SHIFTMASK) ? 1 : 0) + ((theEvent->flags & NX_CONTROLMASK) ? 2 : 0) ; switch (theEvent->data.key.charCode) { case 174: if (shiftstate) [myTeXviewSwitchBoard moveRight:shiftstate-1] ; else dviNextPage() ; break ; case 172: if (shiftstate) [myTeXviewSwitchBoard moveLeft:shiftstate-1] ; else dviPrevPage() ; break ; case 173: [myTeXviewSwitchBoard moveUp:shiftstate] ; break ; case 175: [myTeXviewSwitchBoard moveDown:shiftstate] ; break ; case '-': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': [myTeXviewObject startRandom:theEvent] ; break ; case 'q': if (NXRunAlertPanel(NULL, "Are you sure you want to exit?", "Cancel", "Exit", 0) == NX_ALERTDEFAULT) break ; case 'Q': [NXApp terminate:self] ; break ; case ' ': if (![myTeXviewSwitchBoard moveDown:shiftstate]) { [myTeXviewSwitchBoard Top:1] ; if (!dviNextPage()) display() ; } break ; case 8: case 127: if (![myTeXviewSwitchBoard moveUp:shiftstate]) { [myTeXviewSwitchBoard Bot:1] ; if (!dviPrevPage()) display() ; } break ; default: if ((theEvent->flags & NX_COMMANDMASK) == 0) { newevent = *theEvent ; newevent.flags |= NX_COMMANDMASK ; DPSPostEvent(&newevent, 1) ; } break ; } return self ; } - appDidUnhide:sender { return self ; } - setDocViewIndex:(int)index { docViewIndex = index ; return self ; } - (int)getDocViewIndex { #ifdef DEBUG if (debugon > 1 ) { printf("docViewIndex is %i\n", docViewIndex) ; } #endif return docViewIndex ; } - setMaster:(int)index; { master = index ; return self ; } - (int)getMaster ; { return master ; } - (int)getSlave ; /* transverse the linked list looking for unfrozen slave */ { Slave_link *sl ; for (sl = slaves ; sl != NULL; sl = sl->next) if (![myTeXviewSwitchBoard checkFrozen:(sl->slave)]) return sl->slave ; /* return last opened unfrozen slave */ return 0 ; } - setFrozen:(int)thaw { frozen = thaw; return self ; } - (int)getFrozen { return frozen ; } - setPageView:anObject { pageView = anObject ; return self; } - getPageView ; { return pageView ; } - installSlave:(int)num { Slave_link *sl ; sl = (Slave_link *)malloc(sizeof(Slave_link)) ; sl-> next = slaves ; sl->slave = num ; slaves = sl ; return self ; } - removeSlave:(int)num { Slave_link *sl ; for (sl = slaves; sl != NULL; sl = sl->next) { if ( sl->slave == num) { /* first link or only one link */ slaves = sl->next ; free(sl) ; return self; } else if (sl->next->slave == num) { /* next link to be removed */ sl->next = sl->next->next ; free(sl->next) ; return self; } } return nil ; } - emancipateSlaves { Slave_link *sl ; for (sl = slaves; sl != NULL; sl = slaves) [myTeXviewSwitchBoard emancipateByNumber:sl->slave] ; slaves = NULL ; return self ; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.