1 //
2 //  CelestiaSettings.h
3 //  celestia
4 //
5 //  Created by Hank Ramsey on Fri Oct 29 2004.
6 //  Copyright (C) 2007, Celestia Development Team
7 //
8 
9 @interface CelestiaSettings : NSObject {
10     @private
11     NSMutableDictionary* tagDict;
12     NSArray* keyArray;
13 }
14 
15 +(CelestiaSettings*) shared ;
16 
17 -(CelestiaSettings*)init ;
18 
19 -(void) setControl: (id) _control;
20 
21 -(id) valueForTag: (int) tag;
22 -(void) takeValue: (id) value forTag: (int) tag;
23 
24 // User Defaults
25 
26 - (NSDictionary *) defaultsDictionary ;
27 
28 -(NSDictionary*) findUserDefaults ;
29 -(NSDictionary*) findAppDefaults ;
30 
31 -(void) loadUserDefaults ;
32 -(void) loadAppDefaults ;
33 
34 -(void) storeUserDefaults ;
35 
36 -(void) upgradeUserDefaults: (NSDictionary *)dict fromVersion: (NSString *)old ;
37 
38 // Time Settings
39 
40 -(double) time ;
41 -(void) setTime: (double) value ;
42 -(int)  timeZone ;
43 -(void) setTimeZone: (int) value ;
44 
45 -(double) timeScale ;
46 -(void) setTimeScale: (double) value ;
47 
48 -(BOOL) synchTime;
49 -(void) setSynchTime: (BOOL) value ;
50 
51 // Gaze Settings
52 
53 -(float) fieldOfView ;
54 -(void)  setFieldOfView: (float) value ;
55 
56 // situation
57 
58 // Cruise Settings
59 
60 // Velocity
61 // AngularVelocity
62 
63 // Visibility Settings
64 
65 -(BOOL) showStars ;
66 -(void) setShowStars: (BOOL) value ;
67 
68 -(BOOL) showPlanets ;
69 -(void) setShowPlanets: (BOOL) value ;
70 
71 -(BOOL) showGalaxies ;
72 -(void) setShowGalaxies: (BOOL) value ;
73 
74 -(BOOL) showDiagrams ;
75 -(void) setShowDiagrams: (BOOL) value ;
76 
77 -(BOOL) showCloudMaps ;
78 -(void) setShowCloudMaps: (BOOL) value ;
79 
80 -(BOOL) showOrbits ;
81 -(void) setShowOrbits: (BOOL) value ;
82 
83 -(BOOL) showCelestialSphere ;
84 -(void) setShowCelestialSphere: (BOOL) value ;
85 
86 -(BOOL) showNightMaps ;
87 -(void) setShowNightMaps: (BOOL) value ;
88 
89 -(BOOL) showAtmospheres ;
90 -(void) setShowAtmospheres: (BOOL) value ;
91 
92 -(BOOL) showSmoothLines ;
93 -(void) setShowSmoothLines: (BOOL) value ;
94 
95 -(BOOL) showEclipseShadows ;
96 -(void) setShowEclipseShadows: (BOOL) value ;
97 
98 -(BOOL) showRingShadows ;
99 -(void) setShowRingShadows: (BOOL) value ;
100 
101 -(BOOL) showCloudShadows ;
102 -(void) setShowCloudShadows: (BOOL) value ;
103 
104 -(BOOL) showBoundaries ;
105 -(void) setShowBoundaries: (BOOL) value ;
106 
107 -(BOOL) showAutoMag ;
108 -(void) setShowAutoMag: (BOOL) value ;
109 
110 -(BOOL) showCometTails ;
111 -(void) setShowCometTails: (BOOL) value ;
112 
113 -(BOOL) showMarkers ;
114 -(void) setShowMarkers: (BOOL) value ;
115 
116 -(BOOL) showPartialTrajectories ;
117 -(void) setShowPartialTrajectories: (BOOL) value ;
118 
119 // Label Settings
120 
121 // -(BOOL) showNoLabels ;
122 // -(void) setShowNoLabels: (BOOL) value ;
123 
124 -(BOOL) showStarLabels ;
125 -(void) setShowStarLabels: (BOOL) value ;
126 
127 -(BOOL) showPlanetLabels ;
128 -(void) setShowPlanetLabels: (BOOL) value ;
129 
130 -(BOOL) showMoonLabels ;
131 -(void) setShowMoonLabels: (BOOL) value ;
132 
133 -(BOOL) showConstellationLabels ;
134 -(void) setShowConstellationLabels: (BOOL) value ;
135 
136 -(BOOL) showGalaxyLabels ;
137 -(void) setShowGalaxyLabels: (BOOL) value ;
138 
139 -(BOOL) showAsteroidLabels ;
140 -(void) setShowAsteroidLabels: (BOOL) value ;
141 
142 -(BOOL) showSpacecraftLabels ;
143 -(void) setShowSpacecraftLabels: (BOOL) value ;
144 
145 -(BOOL) showLocationLabels ;
146 -(void) setShowLocationLabels: (BOOL) value ;
147 
148 -(BOOL) showCometLabels ;
149 -(void) setShowCometLabels: (BOOL) value ;
150 
151 // -(BOOL) showBodyLabels ;
152 // -(void) setShowBodyLabels: (BOOL) value ;
153 
154 // Orbit Settings
155 
156 -(BOOL) showPlanetOrbits ;
157 -(void) setShowPlanetOrbits: (BOOL) value ;
158 
159 -(BOOL) showMoonOrbits ;
160 -(void) setShowMoonOrbits: (BOOL) value ;
161 
162 -(BOOL) showAsteroidOrbits ;
163 -(void) setShowAsteroidOrbits: (BOOL) value ;
164 
165 -(BOOL) showCometOrbits ;
166 -(void) setShowCometOrbits: (BOOL) value ;
167 
168 -(BOOL) showSpacecraftOrbits ;
169 -(void) setShowSpacecraftOrbits: (BOOL) value ;
170 
171 -(BOOL) showStellarOrbits ;
172 -(void) setShowStellarOrbits: (BOOL) value ;
173 
174 -(float) minimumOrbitSize ;
175 -(void)  setMinimumOrbitSize: (float) value ;
176 
177 // Location Visibility Settings
178 
179 // Feature Settings
180 
181 -(float) minimumFeatureSize ;
182 -(void)  setMinimumFeatureSize: (float) value ;
183 
184 // Lighting Settings
185 
186 -(float) ambientLightLevel ;
187 -(void)  setAmbientLightLevel: (float) value ;
188 
189 // Star Settings
190 
191 -(float) distanceLimit ;
192 -(void)  setDistanceLimit: (float) value ;
193 
194 -(float) faintestVisible ;
195 -(void)  setFaintestVisible: (float) value ;
196 
197 -(int)  starStyle ;
198 -(void) setStarStyle: (int) value ;
199 
200 // Texture Settings
201 
202 -(int)  resolution;
203 -(void) setResolution: (int) value ;
204 
205 // Full screen
206 
207 -(int)  fullScreenMode;
208 -(void) setFullScreenMode: (int) value ;
209 
210 // GUI Methods
211 - (void) actionForItem: (id) item;
212 - (BOOL) validateItem: (id) item;
213 - (void) validateItems;
214 - (void) validateItemForTag: (int) tag;
215 - (int)  tagForKey: (int) key;
216 - (void) scanForKeys: (id) item;
217 
218 @end
219