forked from pmougin/F-Script
-
Notifications
You must be signed in to change notification settings - Fork 8
/
FSDemoAssistant.m
68 lines (55 loc) · 1.41 KB
/
FSDemoAssistant.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* FSDemoController.m Copyright (c) 2007-2009 Philippe Mougin. */
/* This software is open source. See the license. */
#import "FSDemoAssistant.h"
#import "FSNSString.h"
@implementation FSDemoAssistant
@synthesize loadImage;
@synthesize displayImage;
@synthesize lockFocus;
@synthesize perspective;
@synthesize hueAdjust;
@synthesize bump;
@synthesize bumpAnimate;
@synthesize horloge;
@synthesize connectToITunes;
@synthesize volumeRamp;
- (void)activate
{
if (![NSBundle loadNibNamed:@"DemoAssistant" owner:self])
{
NSLog(@"Failed to load DemoAssistant nib file");
NSBeep();
return;
}
}
- (void) dealloc
{
[interpreterView release];
[super dealloc];
}
- (id)initWithInterpreterView:(FSInterpreterView *)theInterpreterView
{
self = [super init];
if (self != nil)
{
interpreterView = [theInterpreterView retain];
}
return self;
}
- (IBAction)loadCode:sender
{
[self putCommand:[[self performSelector:NSSelectorFromString([sender title])] string]];
}
- (void)putCommand:(NSString *)command
{
NSArray *fragments = [command componentsSeparatedByString:@" "];
for (unsigned int i = 0, n = [fragments count]; i < n; i++)
{
[interpreterView putCommand:[fragments objectAtIndex:i]];
[interpreterView putCommand:@" "];
[interpreterView display];
[NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05]];
}
[[interpreterView window] makeKeyWindow];
}
@end