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.