This is CalendarView.m in view mode; [Download] [Up]
/* Generated by Interface Builder */
#import <appkit/NXImage.h>
#import "CalendarView.h"
@implementation CalendarView
- initFrame:(NXRect *)frameRect
{
[super initFrame:frameRect];
panelImage = [NXImage findImageNamed:"Panel"];
numbers[0] = [NXImage findImageNamed:"Zero"];
numbers[1] = [NXImage findImageNamed:"One"];
numbers[2] = [NXImage findImageNamed:"Two"];
numbers[3] = [NXImage findImageNamed:"Three"];
numbers[4] = [NXImage findImageNamed:"Four"];
numbers[5] = [NXImage findImageNamed:"Five"];
numbers[6] = [NXImage findImageNamed:"Six"];
numbers[7] = [NXImage findImageNamed:"Seven"];
numbers[8] = [NXImage findImageNamed:"Eight"];
numbers[9] = [NXImage findImageNamed:"Nine"];
days[0] = [NXImage findImageNamed:"Sun"];
days[1] = [NXImage findImageNamed:"Mon"];
days[2] = [NXImage findImageNamed:"Tue"];
days[3] = [NXImage findImageNamed:"Wed"];
days[4] = [NXImage findImageNamed:"Thu"];
days[5] = [NXImage findImageNamed:"Fri"];
days[6] = [NXImage findImageNamed:"Sat"];
months[0] = [NXImage findImageNamed:"Jan"];
months[1] = [NXImage findImageNamed:"Feb"];
months[2] = [NXImage findImageNamed:"Mar"];
months[3] = [NXImage findImageNamed:"Apr"];
months[4] = [NXImage findImageNamed:"May"];
months[5] = [NXImage findImageNamed:"Jun"];
months[6] = [NXImage findImageNamed:"Jul"];
months[7] = [NXImage findImageNamed:"Aug"];
months[8] = [NXImage findImageNamed:"Sep"];
months[9] = [NXImage findImageNamed:"Oct"];
months[10] = [NXImage findImageNamed:"Nov"];
months[11] = [NXImage findImageNamed:"Dec"];
day = 23;
dayOfWeek = 5;
month = 5;
return self;
}
- setMonth:sender
{
month = [sender intValue];
[self display];
return self;
}
- setDay:sender
{
day = [sender intValue];
[self display];
return self;
}
- setDayNum:sender
{
dayOfWeek = [sender intValue];
[self display];
return self;
}
- drawSelf:(NXRect *)rects :(int)count
{
NXSize panelSize, unitSize, tenSize, size;
NXPoint position;
float numberWidth;
[panelImage composite:NX_COPY toPoint:&(bounds.origin)];
[panelImage getSize:&panelSize];
[numbers[day % 10] getSize:&unitSize];
numberWidth = unitSize.width;
if (day / 10) {
[numbers[day / 10] getSize:&tenSize];
numberWidth += tenSize.width;
} else {
tenSize.width = 0;
}
position.x = (panelSize.width - numberWidth) / 2 - 1.5;
position.y = 15.0;
if (day / 10) {
[numbers[day / 10] composite:NX_COPY toPoint:&position];
}
position.x += tenSize.width;
[numbers[day % 10] composite:NX_COPY toPoint:&position];
[days[dayOfWeek] getSize:&size];
position.x = (panelSize.width - size.width) / 2 - 1.5;
position.y = 34;
[days[dayOfWeek] composite:NX_COPY toPoint:&position];
/* draw the month */
[months[month] getSize:&size];
position.x = (panelSize.width - size.width) / 2 - 2.5;
position.y = 9;
[months[month] composite:NX_COPY toPoint:&position];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.