-
Notifications
You must be signed in to change notification settings - Fork 0
/
PreferenceController.m
127 lines (109 loc) · 4.52 KB
/
PreferenceController.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//
// PreferenceController.m
// iGDDS
//
// Created by Roberto Abraham on Wed Oct 30 2002.
// Copyright (c) 2002 __MyCompanyName__. All rights reserved.
//
#import "PreferenceController.h"
NSString *RGASpecColorWellKey = @"Object spectrum color";
NSString *RGASkyColorWellKey = @"Sky spectrum color";
NSString *RGAOutputFilePrefixKey = @"Output FITS filename prefix";
NSString *RGAOutputFileLocationKey = @"Output files directory name";
NSString *RGAInputFileLocationKey = @"Input files directory name";
NSString *RGAFluxCalibrationFilenameKey = @"Flux calibration filename";
NSString *RGARedEndCorrectionFilenameKey = @"Red-end correction filename";
NSString *RGAAtmosphericCorrectionFilenameKey = @"Atmospheric correction filename";
@implementation PreferenceController
- (id)init
{
self = [super initWithWindowNibName:@"Preferences"];
return self;
}
- (void)windowDidLoad
{
NSUserDefaults *defaults;
NSData *specColorAsData;
NSData *skyColorAsData;
defaults = [NSUserDefaults standardUserDefaults];
specColorAsData = [defaults objectForKey:RGASpecColorWellKey];
skyColorAsData = [defaults objectForKey:RGASkyColorWellKey];
[specColorWell setColor:[NSUnarchiver unarchiveObjectWithData:specColorAsData]];
[skyColorWell setColor:[NSUnarchiver unarchiveObjectWithData:skyColorAsData]];
[outputFilePrefixField setStringValue:[defaults objectForKey:RGAOutputFilePrefixKey]];
[outputFileLocationField setStringValue:[defaults objectForKey:RGAOutputFileLocationKey]];
[inputFileLocationField setStringValue:[defaults objectForKey:RGAInputFileLocationKey]];
[fluxCalibrationFilenameField setStringValue:[defaults objectForKey:RGAFluxCalibrationFilenameKey]];
[redEndCorrectionFilenameField setStringValue:[defaults objectForKey:RGARedEndCorrectionFilenameKey]];
[atmosphericCorrectionFilenameField setStringValue:[defaults objectForKey:RGAAtmosphericCorrectionFilenameKey]];
}
- (IBAction) changeOutputFilePrefix:(id)sender
{
[[NSUserDefaults standardUserDefaults] setObject:[sender stringValue] forKey:RGAOutputFilePrefixKey];
}
- (IBAction) changeOutputFileLocation:(id)sender
{
[[NSUserDefaults standardUserDefaults] setObject:[sender stringValue] forKey:RGAOutputFileLocationKey];
}
- (IBAction) changeInputFileLocation:(id)sender
{
[[NSUserDefaults standardUserDefaults] setObject:[sender stringValue] forKey:RGAInputFileLocationKey];
}
- (IBAction) changeSpecColor:(id)sender
{
NSColor *color = [sender color];
NSData *colorAsData = [NSArchiver archivedDataWithRootObject:color];
[[NSUserDefaults standardUserDefaults] setObject:colorAsData forKey:RGASpecColorWellKey];
}
- (IBAction) changeSkyColor:(id)sender
{
NSColor *color = [sender color];
NSData *colorAsData = [NSArchiver archivedDataWithRootObject:color];
[[NSUserDefaults standardUserDefaults] setObject:colorAsData forKey:RGASkyColorWellKey];
}
- (IBAction) changeFluxCalibrationFilename:(id)sender
{
NSFileHandle *fh;
int status = 0;
if ([[sender stringValue] compare:@"-default-"]==NSOrderedSame)
return;
fh = [NSFileHandle fileHandleForReadingAtPath:[sender stringValue]];
if (fh==nil){
status = NSRunAlertPanel(@"Error!",@"File does not exist. Using default.", @"OK",nil, nil);
[sender setStringValue:@"-default-"];
}
else{
[[NSUserDefaults standardUserDefaults] setObject:[sender stringValue] forKey:RGAFluxCalibrationFilenameKey];
}
}
- (IBAction) changeRedEndCorrectionFilename:(id)sender
{
NSFileHandle *fh;
int status = 0;
if ([[sender stringValue] compare:@"-default-"]==NSOrderedSame)
return;
fh = [NSFileHandle fileHandleForReadingAtPath:[sender stringValue]];
if (fh==nil){
status = NSRunAlertPanel(@"Error!",@"File does not exist. Using default.", @"OK",nil, nil);
[sender setStringValue:@"-default-"];
}
else{
[[NSUserDefaults standardUserDefaults] setObject:[sender stringValue] forKey:RGARedEndCorrectionFilenameKey];
}
}
- (IBAction) changeAtmosphericCorrectionFilename:(id)sender
{
NSFileHandle *fh;
int status = 0;
if ([[sender stringValue] compare:@"-default-"]==NSOrderedSame)
return;
fh = [NSFileHandle fileHandleForReadingAtPath:[sender stringValue]];
if (fh==nil){
status = NSRunAlertPanel(@"Error!",@"File does not exist. Using default.", @"OK",nil, nil);
[sender setStringValue:@"-default-"];
}
else{
[[NSUserDefaults standardUserDefaults] setObject:[sender stringValue] forKey:RGAAtmosphericCorrectionFilenameKey];
}
}
@end