QGIS API Documentation  2.7.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
QgsApplication Class Reference

Extends QApplication to provide access to QGIS specific resources such as theme paths, database paths etc. More...

#include <qgsapplication.h>

Inheritance diagram for QgsApplication:
Inheritance graph
[legend]

Public Types

enum  ENDIAN { XDR = 0, NDR = 1 }
 constants for endian-ness More...
 
typedef enum QgsApplication::ENDIAN endian_t
 constants for endian-ness More...
 

Signals

void preNotify (QObject *receiver, QEvent *event, bool *done)
 

Public Member Functions

 QgsApplication (int &argc, char **argv, bool GUIenabled, QString customConfigPath=QString())
 
virtual ~QgsApplication ()
 
virtual bool event (QEvent *event)
 Watch for QFileOpenEvent. More...
 
virtual bool notify (QObject *receiver, QEvent *event)
 Catch exceptions when sending event to receiver. More...
 

Static Public Member Functions

static QString absolutePathToRelativePath (QString apath, QString targetPath)
 Converts absolute path to path relative to target. More...
 
static const QString activeThemePath ()
 Returns the path to the currently active theme directory. More...
 
static void applyGdalSkippedDrivers ()
 Apply the skipped drivers list to gdal. More...
 
static const QString authorsFilePath ()
 Returns the path to the authors file. More...
 
static QString buildOutputPath ()
 Returns path to the build output directory. More...
 
static QString buildSourcePath ()
 Returns path to the source directory. More...
 
static const QString contributorsFilePath ()
 Returns the path to the contributors file. More...
 
static bool createDB (QString *errorMessage=0)
 initialise qgis.db More...
 
static const QString defaultStyleV2Path ()
 Returns the path to default style (works as a starting point). More...
 
static const QString defaultThemePath ()
 Returns the path to the default theme directory. More...
 
static const QString donorsFilePath ()
 Returns the path to the donors file. More...
 
static endian_t endian ()
 Returns whether this machine uses big or little endian. More...
 
static void exitQgis ()
 deletes provider registry and map layer registry More...
 
static QIcon getThemeIcon (const QString &theName)
 Helper to get a theme icon. More...
 
static QPixmap getThemePixmap (const QString &theName)
 Helper to get a theme icon as a pixmap. More...
 
static const QString helpAppPath ()
 Returns the path to the help application. More...
 
static const QString i18nPath ()
 Returns the path to the translation directory. More...
 
static QString iconPath (QString iconFile)
 Returns path to the desired icon file. More...
 
static const QString iconsPath ()
 Returns the path to the icons image directory. More...
 
static void init (QString customConfigPath=QString())
 This method initialises paths etc for QGIS. More...
 
static void initQgis ()
 loads providers More...
 
static bool isRunningFromBuildDir ()
 Indicates whether running from build directory (not installed) More...
 
static const QString libexecPath ()
 Returns the path with utility executables (help viewer, crssync, ...) More...
 
static const QString libraryPath ()
 Returns the path containing qgis_core, qgis_gui, qgispython (and other) libraries. More...
 
static const QString licenceFilePath ()
 Returns the path to the licence file. More...
 
static int maxThreads ()
 Get maximum concurrent thread count. More...
 
static const QString pkgDataPath ()
 Returns the common root path of all application data directories. More...
 
static const QString pluginPath ()
 Returns the path to the application plugin directory. More...
 
static const QString prefixPath ()
 Returns the path to the application prefix directory. More...
 
static const QString qgisMasterDbFilePath ()
 Returns the path to the master qgis.db file. More...
 
static const QString qgisSettingsDirPath ()
 Returns the path to the settings directory in user's home dir. More...
 
static const QString qgisUserDbFilePath ()
 Returns the path to the user qgis.db file. More...
 
static void registerOgrDrivers ()
 Register OGR drivers ensuring this only happens once. More...
 
static QString relativePathToAbsolutePath (QString rpath, QString targetPath)
 Converts path relative to target to an absolute path. More...
 
static QString reportStyleSheet ()
 get a standard css style sheet for reports. More...
 
static void restoreGdalDriver (QString theDriver)
 Sets the GDAL_SKIP environment variable to exclude the specified driver and then calls GDALDriverManager::AutoSkipDrivers() to unregister it. More...
 
static void setDefaultSvgPaths (const QStringList &pathList)
 Alters default svg paths - used by 3rd party apps. More...
 
static void setFileOpenEventReceiver (QObject *receiver)
 Set the FileOpen event receiver. More...
 
static void setMaxThreads (int maxThreads)
 Set maximum concurrent thread count. More...
 
static void setPkgDataPath (const QString &thePkgDataPath)
 Alters pkg data path - used by 3rd party apps. More...
 
static void setPluginPath (const QString &thePluginPath)
 Alters plugin path - used by 3rd party apps. More...
 
static void setPrefixPath (const QString &thePrefixPath, bool useDefaultPaths=false)
 Alters prefix path - used by 3rd party apps. More...
 
static void setThemeName (const QString &theThemeName)
 Set the active theme to the specified theme. More...
 
static QString showSettings ()
 Convenience function to get a summary of the paths used in this application instance useful for debugging mainly. More...
 
static void skipGdalDriver (QString theDriver)
 Sets the GDAL_SKIP environment variable to include the specified driver and then calls GDALDriverManager::AutoSkipDrivers() to unregister it. More...
 
static QStringList skippedGdalDrivers ()
 Returns the list of gdal drivers that should be skipped (based on GDAL_SKIP environment variable) More...
 
static const QString splashPath ()
 Returns the path to the splash screen image directory. More...
 
static const QString sponsorsFilePath ()
 Returns the path to the sponsors file. More...
 
static const QString srsDbFilePath ()
 Returns the path to the srs.db file. More...
 
static const QStringList svgPaths ()
 Returns the pathes to svg directories. More...
 
static const QMap< QString,
QString > 
systemEnvVars ()
 Returns the system environment variables passed to application. More...
 
static const QString themeName ()
 Set the active theme to the specified theme. More...
 
static const QString translatorsFilePath ()
 Returns the path to the sponsors file. More...
 
static const QString userStyleV2Path ()
 Returns the path to user's style. More...
 

Static Public Attributes

static const char * QGIS_APPLICATION_NAME = "QGIS2"
 
static const char * QGIS_ORGANIZATION_DOMAIN = "qgis.org"
 
static const char * QGIS_ORGANIZATION_NAME = "QGIS"
 

Detailed Description

Extends QApplication to provide access to QGIS specific resources such as theme paths, database paths etc.

The QgsApplication class manages application-wide information.

This is a subclass of QApplication and should be instantiated in place of QApplication. Most methods are static in keeping witn the design of QApplication.

This class hides platform-specific path information and provides a portable way of referencing specific files and directories. Ideally, hard-coded paths should appear only here and not in other modules so that platform-conditional code is minimized and paths are easier to change due to centralization.

Definition at line 34 of file qgsapplication.h.

Member Typedef Documentation

constants for endian-ness

Constructor & Destructor Documentation

QgsApplication::QgsApplication ( int &  argc,
char **  argv,
bool  GUIenabled,
QString  customConfigPath = QString() 
)

Definition at line 85 of file qgsapplication.cpp.

QgsApplication::~QgsApplication ( )
virtual

Definition at line 198 of file qgsapplication.cpp.

Member Function Documentation

QString QgsApplication::absolutePathToRelativePath ( QString  apath,
QString  targetPath 
)
static

Converts absolute path to path relative to target.

Definition at line 759 of file qgsapplication.cpp.

const QString QgsApplication::activeThemePath ( )
static

Returns the path to the currently active theme directory.

Definition at line 343 of file qgsapplication.cpp.

void QgsApplication::applyGdalSkippedDrivers ( )
static

Apply the skipped drivers list to gdal.

See also
skipGdalDriver
restoreGdalDriver
skippedGdalDrivers

Definition at line 893 of file qgsapplication.cpp.

const QString QgsApplication::authorsFilePath ( )
static

Returns the path to the authors file.

Returns the path to the authors file.

Definition at line 423 of file qgsapplication.cpp.

static QString QgsApplication::buildOutputPath ( )
inlinestatic

Returns path to the build output directory.

Valid only when running from build directory

Definition at line 239 of file qgsapplication.h.

static QString QgsApplication::buildSourcePath ( )
inlinestatic

Returns path to the source directory.

Valid only when running from build directory

Definition at line 237 of file qgsapplication.h.

const QString QgsApplication::contributorsFilePath ( )
static

Returns the path to the contributors file.

Contributors are people who have submitted patches but don't have commit access.

Returns the path to the contributors file.

Definition at line 430 of file qgsapplication.cpp.

bool QgsApplication::createDB ( QString *  errorMessage = 0)
static

initialise qgis.db

Definition at line 903 of file qgsapplication.cpp.

const QString QgsApplication::defaultStyleV2Path ( )
static

Returns the path to default style (works as a starting point).

Definition at line 579 of file qgsapplication.cpp.

const QString QgsApplication::defaultThemePath ( )
static

Returns the path to the default theme directory.

Definition at line 339 of file qgsapplication.cpp.

const QString QgsApplication::donorsFilePath ( )
static

Returns the path to the donors file.

Returns the path to the donors file.

Definition at line 445 of file qgsapplication.cpp.

QgsApplication::endian_t QgsApplication::endian ( )
static

Returns whether this machine uses big or little endian.

Definition at line 594 of file qgsapplication.cpp.

bool QgsApplication::event ( QEvent *  event)
virtual

Watch for QFileOpenEvent.

Definition at line 202 of file qgsapplication.cpp.

void QgsApplication::exitQgis ( )
static

deletes provider registry and map layer registry

Definition at line 608 of file qgsapplication.cpp.

QIcon QgsApplication::getThemeIcon ( const QString &  theName)
static

Helper to get a theme icon.

It will fall back to the default theme if the active theme does not have the required icon.

Definition at line 360 of file qgsapplication.cpp.

QPixmap QgsApplication::getThemePixmap ( const QString &  theName)
static

Helper to get a theme icon as a pixmap.

It will fall back to the default theme if the active theme does not have the required icon.

Definition at line 381 of file qgsapplication.cpp.

const QString QgsApplication::helpAppPath ( )
static

Returns the path to the help application.

Returns the path to the help application.

Definition at line 465 of file qgsapplication.cpp.

const QString QgsApplication::i18nPath ( )
static

Returns the path to the translation directory.

Returns the path to the translation directory.

Definition at line 482 of file qgsapplication.cpp.

QString QgsApplication::iconPath ( QString  iconFile)
static

Returns path to the desired icon file.

First it tries to use the active theme path, then default theme path

Definition at line 349 of file qgsapplication.cpp.

const QString QgsApplication::iconsPath ( )
static

Returns the path to the icons image directory.

Returns the path to the icons image directory.

Definition at line 525 of file qgsapplication.cpp.

void QgsApplication::init ( QString  customConfigPath = QString())
static

This method initialises paths etc for QGIS.

Called by the ctor or call it manually when your app does not extend the QApplication class.

Note
you will probably want to call initQgis too to load the providers in the above case.

Definition at line 91 of file qgsapplication.cpp.

void QgsApplication::initQgis ( )
static

loads providers

Definition at line 599 of file qgsapplication.cpp.

static bool QgsApplication::isRunningFromBuildDir ( )
inlinestatic

Indicates whether running from build directory (not installed)

Definition at line 232 of file qgsapplication.h.

const QString QgsApplication::libexecPath ( )
static

Returns the path with utility executables (help viewer, crssync, ...)

Definition at line 589 of file qgsapplication.cpp.

const QString QgsApplication::libraryPath ( )
static

Returns the path containing qgis_core, qgis_gui, qgispython (and other) libraries.

Definition at line 584 of file qgsapplication.cpp.

const QString QgsApplication::licenceFilePath ( )
static

Returns the path to the licence file.

Returns the path to the licence file.

Definition at line 457 of file qgsapplication.cpp.

static int QgsApplication::maxThreads ( )
inlinestatic

Get maximum concurrent thread count.

Note
added in 2.4

Definition at line 266 of file qgsapplication.h.

bool QgsApplication::notify ( QObject *  receiver,
QEvent *  event 
)
virtual

Catch exceptions when sending event to receiver.

Definition at line 230 of file qgsapplication.cpp.

const QString QgsApplication::pkgDataPath ( )
static

Returns the common root path of all application data directories.

Definition at line 335 of file qgsapplication.cpp.

const QString QgsApplication::pluginPath ( )
static

Returns the path to the application plugin directory.

Definition at line 331 of file qgsapplication.cpp.

const QString QgsApplication::prefixPath ( )
static

Returns the path to the application prefix directory.

Definition at line 322 of file qgsapplication.cpp.

void QgsApplication::preNotify ( QObject *  receiver,
QEvent *  event,
bool *  done 
)
signal
Note
not available in python bindings
const QString QgsApplication::qgisMasterDbFilePath ( )
static

Returns the path to the master qgis.db file.

Returns the path to the master qgis.db file.

Definition at line 493 of file qgsapplication.cpp.

const QString QgsApplication::qgisSettingsDirPath ( )
static

Returns the path to the settings directory in user's home dir.

Returns the path to the settings directory in user's home dir

Definition at line 501 of file qgsapplication.cpp.

const QString QgsApplication::qgisUserDbFilePath ( )
static

Returns the path to the user qgis.db file.

Returns the path to the user qgis.db file.

Definition at line 509 of file qgsapplication.cpp.

void QgsApplication::registerOgrDrivers ( )
static

Register OGR drivers ensuring this only happens once.

This is a workaround for an issue with older gdal versions that caused duplicate driver name entries to appear in the list of registered drivers when QgsApplication::registerOgrDrivers was called multiple times.

Definition at line 751 of file qgsapplication.cpp.

QString QgsApplication::relativePathToAbsolutePath ( QString  rpath,
QString  targetPath 
)
static

Converts path relative to target to an absolute path.

Definition at line 822 of file qgsapplication.cpp.

QString QgsApplication::reportStyleSheet ( )
static

get a standard css style sheet for reports.

Typically you will use this method by doing: QString myStyle = QgsApplication::reportStyleSheet(); textBrowserReport->document()->setDefaultStyleSheet(myStyle);

Returns
QString containing the CSS 2.1 compliant stylesheet.
Note
you can use the special Qt extensions too, for example the gradient fills for backgrounds.

Definition at line 642 of file qgsapplication.cpp.

void QgsApplication::restoreGdalDriver ( QString  theDriver)
static

Sets the GDAL_SKIP environment variable to exclude the specified driver and then calls GDALDriverManager::AutoSkipDrivers() to unregister it.

The driver name should be the short format of the Gdal driver name e.g. GTIFF.

Definition at line 879 of file qgsapplication.cpp.

void QgsApplication::setDefaultSvgPaths ( const QStringList &  pathList)
static

Alters default svg paths - used by 3rd party apps.

Definition at line 317 of file qgsapplication.cpp.

void QgsApplication::setFileOpenEventReceiver ( QObject *  receiver)
static

Set the FileOpen event receiver.

Definition at line 268 of file qgsapplication.cpp.

void QgsApplication::setMaxThreads ( int  maxThreads)
static

Set maximum concurrent thread count.

Note
must be between 1 and #cores, -1 means use all available cores
added in 2.4

Definition at line 1034 of file qgsapplication.cpp.

void QgsApplication::setPkgDataPath ( const QString &  thePkgDataPath)
static

Alters pkg data path - used by 3rd party apps.

Definition at line 308 of file qgsapplication.cpp.

void QgsApplication::setPluginPath ( const QString &  thePluginPath)
static

Alters plugin path - used by 3rd party apps.

Definition at line 303 of file qgsapplication.cpp.

void QgsApplication::setPrefixPath ( const QString &  thePrefixPath,
bool  useDefaultPaths = false 
)
static

Alters prefix path - used by 3rd party apps.

Definition at line 285 of file qgsapplication.cpp.

void QgsApplication::setThemeName ( const QString &  theThemeName)
static

Set the active theme to the specified theme.

The theme name should be a single word e.g. 'default','classic'. The theme search path usually will be pkgDataPath + "/themes/" + themName + "/" but plugin writers etc can use themeName() as a basis for searching for resources in their own datastores e.g. a Qt4 resource bundle.

Note
A basic test will be carried out to ensure the theme search path based on the supplied theme name exists. If it does not the theme name will be reverted to 'default'.

Set the theme path to the specified theme.

Definition at line 400 of file qgsapplication.cpp.

QString QgsApplication::showSettings ( )
static

Convenience function to get a summary of the paths used in this application instance useful for debugging mainly.

Definition at line 617 of file qgsapplication.cpp.

void QgsApplication::skipGdalDriver ( QString  theDriver)
static

Sets the GDAL_SKIP environment variable to include the specified driver and then calls GDALDriverManager::AutoSkipDrivers() to unregister it.

The driver name should be the short format of the Gdal driver name e.g. GTIFF.

Definition at line 869 of file qgsapplication.cpp.

static QStringList QgsApplication::skippedGdalDrivers ( )
inlinestatic

Returns the list of gdal drivers that should be skipped (based on GDAL_SKIP environment variable)

Definition at line 256 of file qgsapplication.h.

const QString QgsApplication::splashPath ( )
static

Returns the path to the splash screen image directory.

Returns the path to the splash screen image directory.

Definition at line 517 of file qgsapplication.cpp.

const QString QgsApplication::sponsorsFilePath ( )
static

Returns the path to the sponsors file.

Returns the path to the sponsors file.

Definition at line 437 of file qgsapplication.cpp.

const QString QgsApplication::srsDbFilePath ( )
static

Returns the path to the srs.db file.

Returns the path to the srs.db file.

Definition at line 532 of file qgsapplication.cpp.

const QStringList QgsApplication::svgPaths ( )
static

Returns the pathes to svg directories.

Returns the paths to the svg directories.

Definition at line 558 of file qgsapplication.cpp.

static const QMap<QString, QString> QgsApplication::systemEnvVars ( )
inlinestatic

Returns the system environment variables passed to application.

Definition at line 131 of file qgsapplication.h.

const QString QgsApplication::themeName ( )
static

Set the active theme to the specified theme.

The theme name should be a single word e.g. 'default','classic'. The theme search path usually will be pkgDataPath + "/themes/" + themName + "/" but plugin writers etc can use this method as a basis for searching for resources in their own datastores e.g. a Qt4 resource bundle.

Get the active theme name

Definition at line 416 of file qgsapplication.cpp.

const QString QgsApplication::translatorsFilePath ( )
static

Returns the path to the sponsors file.

Definition at line 451 of file qgsapplication.cpp.

const QString QgsApplication::userStyleV2Path ( )
static

Returns the path to user's style.

Definition at line 574 of file qgsapplication.cpp.

Member Data Documentation

const char * QgsApplication::QGIS_APPLICATION_NAME = "QGIS2"
static

Definition at line 40 of file qgsapplication.h.

const char * QgsApplication::QGIS_ORGANIZATION_DOMAIN = "qgis.org"
static

Definition at line 39 of file qgsapplication.h.

const char * QgsApplication::QGIS_ORGANIZATION_NAME = "QGIS"
static

Definition at line 38 of file qgsapplication.h.


The documentation for this class was generated from the following files: