This is OverAllController.m in view mode; [Download] [Up]
#import "OverAllController.h"
#import "PrefController.h"
#import "ResultInspector.h"
#import "SoundInspector.h"
@implementation OverAllController
- init;
{
[super init];
myNR = [NoteRepository instance];
return self;
}
- awakeFromNib;
{
[window makeKeyAndOrderFront:self];
[nrFeld selectText:self];
srandom(time(0));
return self;
}
- nrFeldActed:sender;
{
// nur fuer Tests
if(currentNote = [myNR noteByNr:[sender intValue]]){
[self newNote:currentNote from:self];
}
[nrFeld selectText:self];
return self;
}
- newNote:(Note *)value from:sender;
{
id *idp;
if([(PrefController *)prefController mode]){ //Training
[nameInspector displayNote:value];
[soundInspector displayNote:value];
if(value == currentNote){
[resultController good:self];
}else{
[resultController noGood:self];
}
}else{ //info
for(idp = &soundInspector;idp <= &tABInspector;idp++){
if(*idp != sender){
[*idp displayNote:value];
}
}
}
return self;
}
- clear:sender;
{
id *idp;
for(idp = &keyInspector;idp <= &resultController;idp++){
[*idp clear:self];
}
return self;
}
- (void)setEditable:(BOOL)yn;
{
id *idp;
for(idp = &soundInspector;idp <= &tABInspector;idp++){
[(NoteInspector *)*idp setEditable:yn];
}
}
- next:sender;
{
#define offset 9
#define range 20
[self clear:self];
currentNote = [myNR noteByNr:1+offset+(range * (random() & 255)/255)];
if([prefController trainMode]){
[nameInspector displayNote:currentNote];
}else{
[keyInspector displayNote:currentNote];
}
[resultController waiting:self];
return self;
}
- (void)prefChanged;
{
[self clear:self];
[self setEditable:![(PrefController *)prefController mode]];
if([(PrefController *)prefController mode]){
if([prefController trainMode]==2){
[(NoteInspector *)keyInspector setEditable:YES];
}else{
[(NoteInspector *)locationInspector setEditable:YES];
}
}
[soundInspector setActive:[(PrefController *)prefController sound]];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.