Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure

StelApp Class Reference

Singleton main Stellarium application class. More...

#include <StelApp.hpp>

List of all members.

Public Slots

void setVisionModeNight (bool)
bool getVisionModeNight () const
float getFps () const
static double getTotalRunTime ()
void reportFileDownloadFinished (QNetworkReply *reply)

Public Member Functions

 StelApp (QObject *parent=NULL)
virtual ~StelApp ()
void init (QSettings *conf)
void initPlugIns ()
StelModuleMgrgetModuleMgr ()
StelLocaleMgrgetLocaleMgr ()
StelSkyCultureMgrgetSkyCultureMgr ()
StelTextureMgrgetTextureManager ()
StelLocationMgrgetLocationMgr ()
StelObjectMgrgetStelObjectMgr ()
StelSkyLayerMgrgetSkyImageMgr ()
StelAudioMgr * getStelAudioMgr ()
StelCoregetCore ()
StelLoadingBargetStelLoadingBar ()
QNetworkAccessManager * getNetworkAccessManager ()
void updateI18n ()
void updateSkyCulture ()
QSettings * getSettings ()
const StelStylegetCurrentStelStyle ()
void update (double deltaTime)
void draw ()
bool drawPartial ()
void glWindowHasBeenResized (float x, float y, float w, float h)
StelGuiBasegetGui () const
void setGui (StelGuiBase *b)
bool getUseGLShaders () const

Static Public Member Functions

static StelAppgetInstance ()
static void makeMainGLContextCurrent ()
static void initStatic ()


Detailed Description

Singleton main Stellarium application class.

This is the central class of Stellarium. Only one singleton instance of this class is created and can be accessed from anywhere else. This class is the access point to several "Manager" class which provide application-wide services for managment of font, textures, localization, sky culture, and in theory all other services used by the other part of the program.

The StelApp class is also the one managing the StelModule in a generic manner by calling their update, drawing and other methods when needed.

Author:
Fabien Chereau

Constructor & Destructor Documentation

StelApp::StelApp ( QObject *  parent = NULL  ) 

Create and initialize the main Stellarium application.

Parameters:
argc The number of command line parameters
argv an array of char* command line arguments
parent the QObject parent The configFile will be search for in the search path by the StelFileMgr, it is therefor possible to specify either just a file name or path within the search path, or use a full path or even a relative path to an existing file

virtual StelApp::~StelApp (  )  [virtual]

Deinitialize and destroy the main Stellarium application.


Member Function Documentation

void StelApp::init ( QSettings *  conf  ) 

Initialize core and default modules.

void StelApp::initPlugIns (  ) 

Load and initialize external modules (plugins).

static StelApp& StelApp::getInstance (  )  [inline, static]

Get the StelApp singleton instance.

Returns:
the StelApp singleton instance

StelModuleMgr& StelApp::getModuleMgr (  )  [inline]

Get the module manager to use for accessing any module loaded in the application.

Returns:
the module manager.

StelLocaleMgr& StelApp::getLocaleMgr (  )  [inline]

Get the locale manager to use for i18n & date/time localization.

Returns:
the font manager to use for loading fonts.

StelSkyCultureMgr& StelApp::getSkyCultureMgr (  )  [inline]

Get the sky cultures manager.

Returns:
the sky cultures manager

StelTextureMgr& StelApp::getTextureManager (  )  [inline]

Get the texture manager to use for loading textures.

Returns:
the texture manager to use for loading textures.

StelLocationMgr& StelApp::getLocationMgr (  )  [inline]

Get the Location manager to use for managing stored locations.

Returns:
the Location manager to use for managing stored locations

StelObjectMgr& StelApp::getStelObjectMgr (  )  [inline]

Get the StelObject manager to use for querying from all stellarium objects.

Returns:
the StelObject manager to use for querying from all stellarium objects .

StelSkyLayerMgr& StelApp::getSkyImageMgr (  )  [inline]

Get the StelObject manager to use for querying from all stellarium objects.

Returns:
the StelObject manager to use for querying from all stellarium objects .

StelAudioMgr* StelApp::getStelAudioMgr (  )  [inline]

Get the audio manager.

StelCore* StelApp::getCore (  )  [inline]

Get the core of the program.

It is the one which provide the projection, navigation and tone converter.

Returns:
the StelCore instance of the program

StelLoadingBar* StelApp::getStelLoadingBar (  )  [inline]

Get the main loading bar used by modules for displaying loading informations.

Returns:
the main StelLoadingBar instance of the program.

QNetworkAccessManager* StelApp::getNetworkAccessManager (  )  [inline]

Get the common instance of QNetworkAccessManager used in stellarium.

void StelApp::updateI18n (  ) 

Update translations, font for GUI and sky everywhere in the program.

void StelApp::updateSkyCulture (  ) 

Update and reload sky culture informations everywhere in the program.

QSettings* StelApp::getSettings (  )  [inline]

Return the main configuration options.

const StelStyle* StelApp::getCurrentStelStyle (  )  [inline]

Return the currently used style.

void StelApp::update ( double  deltaTime  ) 

Update all object according to the deltaTime in seconds.

void StelApp::draw (  ) 

Draw all registered StelModule in the order defined by the order lists.

Returns:
the max squared distance in pixels that any object has travelled since the last update.

bool StelApp::drawPartial (  ) 

Iterate through the drawing sequence.

This allow us to split the slow drawing operation into small parts, we can then decide to pause the painting for this frame and used the cached image instead.

Returns:
true if we should continue drawing (by calling the method again)

void StelApp::glWindowHasBeenResized ( float  x,
float  y,
float  w,
float  h 
)

Call this when the size of the GL window has changed.

StelGuiBase* StelApp::getGui (  )  const [inline]

Get the GUI instance implementing the abstract GUI interface.

void StelApp::setGui ( StelGuiBase b  )  [inline]

Tell the StelApp instance which GUI si currently being used.

The caller is responsible for destroying the GUI.

static void StelApp::makeMainGLContextCurrent (  )  [static]

Make sure that the GL context of the main window is current and valid.

bool StelApp::getUseGLShaders (  )  const [inline]

Get flag for using opengl shaders.

void StelApp::setVisionModeNight ( bool   )  [slot]

Set flag for activating night vision mode.

bool StelApp::getVisionModeNight (  )  const [inline, slot]

Get flag for activating night vision mode.

float StelApp::getFps (  )  const [inline, slot]

Get the current number of frame per second.

Returns:
the FPS averaged on the last second

static double StelApp::getTotalRunTime (  )  [static, slot]

Return the time since when stellarium is running in second.

void StelApp::reportFileDownloadFinished ( QNetworkReply *  reply  )  [slot]

Report that a download occured.

This is used for statistics purposes. Connect this slot to QNetworkAccessManager::finished() slot to obtain statistics at the end of the program.


Generated on Mon Mar 22 09:55:38 2010 for Stellarium by  doxygen 1.5.5