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