This is BoardWindow.m in view mode; [Download] [Up]
#import "BoardWindow.h"
#import <appkit/Application.h>
#import <appkit/OpenPanel.h>
#import <appkit/View.h>
#import <objc/List.h>
@implementation BoardWindow
- highlightedSquare {
return highlightedSquare;
}
- (BOOL) isSomeoneSelected {
return isSomeoneSelected;
}
- (BOOL) isWhiteMove {
return isWhiteMove;
}
- letOtherColorMove {
[self setIsWhiteMove: ![self isWhiteMove]];
return [self display];
}
- makeSquaresPerform: (SEL) aMessage {
return [[self viewList] makeObjectsPerform: aMessage];
}
- makeSquaresPerform: (SEL) aMessage with: sender {
return [[self viewList] makeObjectsPerform: aMessage with: sender];
}
- openNewBoard: sender {
static const char *const fileTypes[2] = {"nib", NULL};
if ([[OpenPanel new] runModalForTypes: fileTypes] &&
[NXApp loadNibFile: [[OpenPanel new] filename] owner: NXApp])
[[[[NXApp windowList] lastObject] makeKeyWindow] appDidInit: NXApp];
return self; /* ^ the last window added is the new board */
}
- setHighlightedSquare: aSquare {
highlightedSquare = aSquare;
return self;
}
- setIsSomeoneSelected: (BOOL) state {
isSomeoneSelected = state;
return self;
}
- setIsWhiteMove: (BOOL) state {
isWhiteMove = state;
return self;
}
/* Private methods: */
- appDidInit: sender { /* our return value is ignored, so any is OK */
isWhiteMove = YES;
return [self makeSquaresPerform: @selector(appDidInit)];
}
- viewList {
return [[self contentView] subviews];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.