This is DayText.m in view mode; [Download] [Up]
// // DayText.m // Copyright (c) 1991 by Jiro Nakamura // All rights reserved // // by Jiro Nakamura (jiro@shaman.com) // // RCS Information // Revision Number-> $Revision: 1.3 $ // Last Revised-> $Date: 91/02/17 22:03:21 $ // static char rcsid[] = "$Id: WeekWindow.m,v 1.3 91/02/17 22:03:21 jiro Exp Locker: jiro $"; #import "Global.h" #import "Event.h" #import "calendar.h" // for ascMyDate() #import "Cassandra.h" #import "DayText.h" #import <sys/file.h> #import <libc.h> #import <strings.h> @implementation DayText - setDate: (struct tm *) date andPriority: (int) pr { char dumbChar[5]; // dumb references to some static constants, just // to avoid warning messages from the compiler (Garance) dumbChar[0] = rcsid[0]; // dumb de dumb today = *date; priorityCutOff = pr; [self updateText]; return self; } - updateText { NXStream *output; Event *ev; int eventCount; int day, temp; extern const char *shortMonths[12], *shortWeekDays[7]; fixTmStructure( &today); // We want to read the eventFile pointed to by global ev = [Event newAt:[[NXApp global] eventFile]]; // We need a temporary memory stream to store the queue. if( (output = NXOpenMemory( NULL, 0, NX_READWRITE)) == NULL) { fprintf(stderr,"%s: Couldn't open memory stream for " "Week Window queue scrollview. FATAL ERRROR.\n", PROGNAME); exit(1) ; } [ev firstEvent]; day = [ev mday]; if( dayCompare( &today, (struct tm *) timeNow()) == -1) day = -2; else { while( [ev present] != 0 && dayCompare( [ev time], &today ) == -1 ) [ev readEvent : [ev next]]; if( ([ev mday] != today.tm_mday) || ([ev mon] != today.tm_mon) || ([ev year] != today.tm_year)) day = -1; else day = [ev mday]; } NXPrintf(output, "{\\rtf0\\ansi{\\fonttbl\\f0\\fmodern " "%s;}\\fs%.0f\n", [[NXApp global] fontName], [[NXApp global] fontSize] * 2); NXPrintf(output, "{\\f0\\b %s %s %2d\\par}\n", shortWeekDays[today.tm_wday], shortMonths[today.tm_mon], today.tm_mday); eventCount = 0; /* Print all events for today regardless of priority */ while ( [ev present] != 0 && [ev mday] == day) { if( [ev priority] < priorityCutOff) { [ev readEvent : [ev next]]; eventCount++; continue; } if( [ev priority] > [[NXApp global] highPriority]) NXPrintf(output, "{\\f0\\b "); else NXPrintf(output, "{\\f0 "); if( [[NXApp global] militaryTime]) NXPrintf(output, "\\par {\\f0\\b %2d:%02d}" "{\\par \\li360 %s\\par}}\n", [ev hour], [ev min], [ev message]); else { temp = [ev hour]; if( temp > 12 ) temp -= 12; if( temp == 0 ) temp = 12; NXPrintf(output, "\\par{\\f0\\b %2d:%02d %s}" "{\\par \\li360 %s\\par}}\n", temp, [ev min], ([ev hour]>11)?"pm":"am", [ev message]); } [ev readEvent : [ev next]]; } if( [ev present] == 0 || day < 0) { if( day == -2) NXPrintf(output, "{\\f0\\par Ancient history.}\n"); else NXPrintf(output, "{\\f0\\par No events.}\n"); } if( eventCount > 0) // Number of invisible events NXPrintf(output, "{\\par (%d hidden)\\par}\n", eventCount); [ev free]; NXPrintf(output, "}\n"); NXSeek(output, 0, NX_FROMSTART); [self readRichText: output]; NXSaveToFile( output, "/tmp/casdebug.rtf"); NXCloseMemory(output, NX_FREEBUFFER); [self hideCaret]; // for some reason the Text return self; } - defaultsDidChange: sender { #ifdef DEBUG fprintf(stderr,"Defaults changed.... Overview compensating\n"); #endif militaryTime = [[NXApp global] militaryTime]; [self updateText]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.