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

GtkWatcher Class Reference

Collaboration diagram for GtkWatcher:

Collaboration graph
List of all members.

Public Member Functions

 GtkWatcher (CelestiaCore *, AppData *)
virtual void notifyChange (CelestiaCore *, int)

Private Attributes

AppDataapp

Constructor & Destructor Documentation

GtkWatcher::GtkWatcher CelestiaCore ,
AppData
 

Definition at line 156 of file main.cpp.

References CelestiaWatcher.

00156                                                             :
00157     CelestiaWatcher(*_appCore), app(_app)
00158 {
00159 }


Member Function Documentation

void GtkWatcher::notifyChange CelestiaCore ,
int 
[virtual]
 

Definition at line 161 of file main.cpp.

References _AppData::agLabel, _AppData::agMain, _AppData::agRender, app, _AppData::core, CelestiaCore::getTextEnterMode(), _AppData::mainMenu, resyncAmbientActions(), resyncGalaxyGainActions(), resyncLabelActions(), resyncOrbitActions(), resyncRenderActions(), resyncStarStyleActions(), resyncTimeZoneAction(), and resyncVerbosityActions().

00162 {
00163         if (property & CelestiaCore::LabelFlagsChanged)
00164                 resyncLabelActions(app);
00165 
00166         else if (property & CelestiaCore::RenderFlagsChanged)
00167         {
00168                 resyncRenderActions(app);
00169                 resyncOrbitActions(app);
00170                 resyncStarStyleActions(app);
00171         }
00172 
00173         else if (property & CelestiaCore::VerbosityLevelChanged)
00174                 resyncVerbosityActions(app);
00175 
00176         else if (property & CelestiaCore::TimeZoneChanged)
00177                 resyncTimeZoneAction(app);
00178 
00179         else if (property & CelestiaCore::AmbientLightChanged)
00180                 resyncAmbientActions(app);
00181 
00182         /*
00183         else if (property & CelestiaCore::FaintestChanged) DEPRECATED?
00184         else if (property & CelestiaCore::HistoryChanged)
00185         */
00186 
00187         else if (property == CelestiaCore::TextEnterModeChanged)
00188         {
00189                 if (app->core->getTextEnterMode() != 0)
00190                 {
00191                         /* Grey-out the menu */
00192                         gtk_widget_set_sensitive(app->mainMenu, FALSE);
00193                         
00194                         /* Disable any actions that will interfere in typing and
00195                            autocomplete */
00196                         gtk_action_group_set_sensitive(app->agMain, FALSE);
00197                         gtk_action_group_set_sensitive(app->agRender, FALSE);
00198                         gtk_action_group_set_sensitive(app->agLabel, FALSE);
00199                 }
00200                 else
00201                 {
00202                         /* Set the menu normal */
00203                         gtk_widget_set_sensitive(app->mainMenu, TRUE);
00204                         
00205                         /* Re-enable action groups */
00206                         gtk_action_group_set_sensitive(app->agMain, TRUE);
00207                         gtk_action_group_set_sensitive(app->agRender, TRUE);
00208                         gtk_action_group_set_sensitive(app->agLabel, TRUE);
00209                 }
00210         }
00211         
00212         else if (property & CelestiaCore::GalaxyLightGainChanged)
00213                 resyncGalaxyGainActions(app);
00214 }


Member Data Documentation

AppData* GtkWatcher::app [private]
 

Definition at line 153 of file main.cpp.

Referenced by notifyChange().


The documentation for this class was generated from the following file:
Generated on Sat Jan 14 22:33:22 2006 for Celestia by  doxygen 1.4.1