Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

settings-gconf.h File Reference

#include <gconf/gconf-client.h>
#include "common.h"

Include dependency graph for settings-gconf.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  { Render = 0, Orbit = 1, Label = 2 }

Functions

void applySettingsGConfMain (AppData *app, GConfClient *client)
void applySettingsGConfPre (AppData *app, GConfClient *client)
void gcSetLabelMode (int flag, gboolean state, GConfClient *client)
void gcSetOrbitMask (int flag, gboolean state, GConfClient *client)
void gcSetRenderFlag (int flag, gboolean state, GConfClient *client)
void initSettingsGConf (AppData *app)
void initSettingsGConfNotifiers (AppData *app)
void saveSettingsGConf (AppData *app)


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
Render 
Orbit 
Label 

Definition at line 38 of file settings-gconf.h.

00038      {
00039         Render = 0,
00040         Orbit = 1,
00041         Label = 2,
00042 };


Function Documentation

void applySettingsGConfMain AppData app,
GConfClient *  client
 

Definition at line 96 of file settings-gconf.cpp.

References readGConfLabels(), readGConfOrbits(), readGConfRender(), setSaneAltSurface(), setSaneAmbientLight(), setSaneGalaxyLightGain(), setSaneStarStyle(), setSaneVerbosity(), and setSaneVisualMagnitude().

Referenced by initRealize().

00097 {
00098         int rf, om, lm;
00099         
00100         /* All settings that need sanity checks get them */
00101         setSaneAmbientLight(app, gconf_client_get_float(client, "/apps/celestia/ambientLight", NULL));
00102         setSaneVisualMagnitude(app, gconf_client_get_float(client, "/apps/celestia/visualMagnitude", NULL));
00103         setSaneGalaxyLightGain(gconf_client_get_float(client, "/apps/celestia/galaxyLightGain", NULL));
00104         setSaneVerbosity(app, gconf_client_get_int(client, "/apps/celestia/verbosity", NULL));
00105         setSaneStarStyle(app, (Renderer::StarStyle)gconf_client_get_int(client, "/apps/celestia/starStyle", NULL));
00106         setSaneAltSurface(app, gconf_client_get_string(client, "/apps/celestia/altSurfaceName", NULL));
00107         
00108         app->showLocalTime = gconf_client_get_bool(client, "/apps/celestia/showLocalTime", NULL);
00109         
00110         /* Render Flags */
00111         rf = readGConfRender(app->client);
00112         app->renderer->setRenderFlags(rf);
00113 
00114         /* Orbit Mode */
00115         om = readGConfOrbits(app->client);
00116         app->renderer->setOrbitMask(om);
00117         
00118         /* Label Mode */
00119         lm = readGConfLabels(app->client);
00120         app->renderer->setLabelMode(lm);
00121 }

void applySettingsGConfPre AppData app,
GConfClient *  client
 

Definition at line 79 of file settings-gconf.cpp.

References setSaneWinPosition(), and setSaneWinSize().

Referenced by main().

00080 {
00081         int sizeX, sizeY, positionX, positionY;
00082         
00083         /* Error checking occurs as values are used */
00084         sizeX = gconf_client_get_int(client, "/apps/celestia/winWidth", NULL);
00085         sizeY = gconf_client_get_int(client, "/apps/celestia/winHeight", NULL);
00086         positionX = gconf_client_get_int(client, "/apps/celestia/winX", NULL);
00087         positionY = gconf_client_get_int(client, "/apps/celestia/winY", NULL);
00088         app->fullScreen = gconf_client_get_bool(client, "/apps/celestia/fullScreen", NULL);
00089         
00090         setSaneWinSize(app, sizeX, sizeY);
00091         setSaneWinPosition(app, positionX, positionY);
00092 }

void gcSetLabelMode int  flag,
gboolean  state,
GConfClient *  client
 

Definition at line 184 of file settings-gconf.cpp.

References gcSetFlag(), and Label.

Referenced by setLabelMode().

00185 {
00186         switch (flag)
00187         {
00188                 case Renderer::StarLabels: gcSetFlag(Label, "star", state, client); break;
00189                 case Renderer::PlanetLabels: gcSetFlag(Label, "planet", state, client); break;
00190                 case Renderer::MoonLabels: gcSetFlag(Label, "moon", state, client); break;
00191                 case Renderer::ConstellationLabels: gcSetFlag(Label, "constellation", state, client); break;
00192                 case Renderer::GalaxyLabels: gcSetFlag(Label, "galaxy", state, client); break;
00193                 case Renderer::AsteroidLabels: gcSetFlag(Label, "asteroid", state, client); break;
00194                 case Renderer::SpacecraftLabels: gcSetFlag(Label, "spacecraft", state, client); break;
00195                 case Renderer::LocationLabels: gcSetFlag(Label, "location", state, client); break;
00196                 case Renderer::CometLabels: gcSetFlag(Label, "comet", state, client); break;
00197                 case Renderer::NebulaLabels: gcSetFlag(Label, "nebula", state, client); break;
00198                 case Renderer::OpenClusterLabels: gcSetFlag(Label, "openCluster", state, client); break;
00199                 case Renderer::I18nConstellationLabels: gcSetFlag(Label, "i18n", state, client); break;
00200         }
00201 }

void gcSetOrbitMask int  flag,
gboolean  state,
GConfClient *  client
 

Definition at line 168 of file settings-gconf.cpp.

References gcSetFlag().

Referenced by setOrbitMask().

00169 {
00170         switch (flag)
00171         {
00172                 case Body::Planet: gcSetFlag(Orbit, "planet", state, client); break;
00173                 case Body::Moon: gcSetFlag(Orbit, "moon", state, client); break;
00174                 case Body::Asteroid: gcSetFlag(Orbit, "asteroid", state, client); break;
00175                 case Body::Spacecraft: gcSetFlag(Orbit, "spacecraft", state, client); break;
00176                 case Body::Comet: gcSetFlag(Orbit, "comet", state, client); break;
00177                 case Body::Invisible: gcSetFlag(Orbit, "invisible", state, client); break;
00178                 case Body::Unknown: gcSetFlag(Orbit, "unknown", state, client); break;
00179         }
00180 }

void gcSetRenderFlag int  flag,
gboolean  state,
GConfClient *  client
 

Definition at line 140 of file settings-gconf.cpp.

References gcSetFlag(), and Render.

Referenced by setRenderFlag().

00141 {
00142         switch (flag)
00143         {
00144                 case Renderer::ShowStars: gcSetFlag(Render, "stars", state, client); break;
00145                 case Renderer::ShowPlanets: gcSetFlag(Render, "planets", state, client); break;
00146                 case Renderer::ShowGalaxies: gcSetFlag(Render, "galaxies", state, client); break;
00147                 case Renderer::ShowDiagrams: gcSetFlag(Render, "diagrams", state, client); break;
00148                 case Renderer::ShowCloudMaps: gcSetFlag(Render, "cloudMaps", state, client); break;
00149                 case Renderer::ShowOrbits: gcSetFlag(Render, "orbits", state, client); break;
00150                 case Renderer::ShowCelestialSphere: gcSetFlag(Render, "celestialSphere", state, client); break;
00151                 case Renderer::ShowNightMaps: gcSetFlag(Render, "nightMaps", state, client); break;
00152                 case Renderer::ShowAtmospheres: gcSetFlag(Render, "atmospheres", state, client); break;
00153                 case Renderer::ShowSmoothLines: gcSetFlag(Render, "smoothLines", state, client); break;
00154                 case Renderer::ShowEclipseShadows: gcSetFlag(Render, "eclipseShadows", state, client); break;
00155                 case Renderer::ShowRingShadows: gcSetFlag(Render, "ringShadows", state, client); break;
00156                 case Renderer::ShowBoundaries: gcSetFlag(Render, "boundaries", state, client); break;
00157                 case Renderer::ShowAutoMag: gcSetFlag(Render, "autoMag", state, client); break;
00158                 case Renderer::ShowCometTails: gcSetFlag(Render, "cometTails", state, client); break;
00159                 case Renderer::ShowMarkers: gcSetFlag(Render, "markers", state, client); break;
00160                 case Renderer::ShowPartialTrajectories: gcSetFlag(Render, "partialTrajectories", state, client); break;
00161                 case Renderer::ShowNebulae: gcSetFlag(Render, "nebulae", state, client); break;
00162                 case Renderer::ShowOpenClusters: gcSetFlag(Render, "openClusters", state, client); break;
00163         }
00164 }

void initSettingsGConf AppData app  ) 
 

Definition at line 49 of file settings-gconf.cpp.

Referenced by main().

00050 {
00051         app->client = gconf_client_get_default();
00052         gconf_client_add_dir(app->client, "/apps/celestia", GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
00053 }

void initSettingsGConfNotifiers AppData app  ) 
 

Definition at line 57 of file settings-gconf.cpp.

References confAltSurfaceName(), confAmbientLight(), confFullScreen(), confGalaxyLightGain(), confLabels(), confOrbits(), confRender(), confShowLocalTime(), confStarStyle(), confVerbosity(), confVisualMagnitude(), confWinHeight(), confWinWidth(), confWinX(), and confWinY().

Referenced by main().

00058 {
00059         /* Add preference client notifiers. */
00060         gconf_client_notify_add (app->client, "/apps/celestia/labels", (GConfClientNotifyFunc)confLabels, app, NULL, NULL);
00061         gconf_client_notify_add (app->client, "/apps/celestia/render", (GConfClientNotifyFunc)confRender, app, NULL, NULL);
00062         gconf_client_notify_add (app->client, "/apps/celestia/orbits", (GConfClientNotifyFunc)confOrbits, app, NULL, NULL);
00063         gconf_client_notify_add (app->client, "/apps/celestia/winWidth", (GConfClientNotifyFunc)confWinWidth, app, NULL, NULL);
00064         gconf_client_notify_add (app->client, "/apps/celestia/winHeight", (GConfClientNotifyFunc)confWinHeight, app, NULL, NULL);
00065         gconf_client_notify_add (app->client, "/apps/celestia/winX", (GConfClientNotifyFunc)confWinX, app, NULL, NULL);
00066         gconf_client_notify_add (app->client, "/apps/celestia/winY", (GConfClientNotifyFunc)confWinY, app, NULL, NULL);
00067         gconf_client_notify_add (app->client, "/apps/celestia/ambientLight", (GConfClientNotifyFunc)confAmbientLight, app, NULL, NULL);
00068         gconf_client_notify_add (app->client, "/apps/celestia/visualMagnitude", (GConfClientNotifyFunc)confVisualMagnitude, app, NULL, NULL);
00069         gconf_client_notify_add (app->client, "/apps/celestia/galaxyLightGain", (GConfClientNotifyFunc)confGalaxyLightGain, app, NULL, NULL);
00070         gconf_client_notify_add (app->client, "/apps/celestia/showLocalTime", (GConfClientNotifyFunc)confShowLocalTime, app, NULL, NULL);
00071         gconf_client_notify_add (app->client, "/apps/celestia/verbosity", (GConfClientNotifyFunc)confVerbosity, app, NULL, NULL);
00072         gconf_client_notify_add (app->client, "/apps/celestia/fullScreen", (GConfClientNotifyFunc)confFullScreen, app, NULL, NULL);
00073         gconf_client_notify_add (app->client, "/apps/celestia/starStyle", (GConfClientNotifyFunc)confStarStyle, app, NULL, NULL);
00074         gconf_client_notify_add (app->client, "/apps/celestia/altSurfaceName", (GConfClientNotifyFunc)confAltSurfaceName, app, NULL, NULL);
00075 }

void saveSettingsGConf AppData app  ) 
 

Definition at line 125 of file settings-gconf.cpp.

References getWinHeight(), getWinWidth(), getWinX(), and getWinY().

Referenced by actionQuit().

00126 {
00127         /* Save window position */
00128         gconf_client_set_int(app->client, "/apps/celestia/winX", getWinX(app), NULL);
00129         gconf_client_set_int(app->client, "/apps/celestia/winY", getWinY(app), NULL);
00130         
00131         /* Save window  size */
00132         gconf_client_set_int(app->client, "/apps/celestia/winWidth", getWinWidth(app), NULL);
00133         gconf_client_set_int(app->client, "/apps/celestia/winHeight", getWinHeight(app), NULL);
00134         
00135         g_object_unref (G_OBJECT (app->client));
00136 }


Generated on Sat Jan 14 22:32:03 2006 for Celestia by  doxygen 1.4.1