QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
qgsapplication.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsapplication.h - Accessors for application-wide data
3  --------------------------------------
4  Date : 02-Jan-2006
5  Copyright : (C) 2006 by Tom Elwertowski
6  Email : telwertowski at users dot sourceforge dot net
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #ifndef QGSAPPLICATION_H
16 #define QGSAPPLICATION_H
17 
18 #include <QApplication>
19 #include <QEvent>
20 #include <QStringList>
21 
22 #include <qgis.h>
23 #include <qgsconfig.h>
24 
30 #ifdef ANDROID
31 typedef void XEvent;
32 #endif
33 
34 class CORE_EXPORT QgsApplication : public QApplication
35 {
36  Q_OBJECT
37  public:
38  static const char* QGIS_ORGANIZATION_NAME;
39  static const char* QGIS_ORGANIZATION_DOMAIN;
40  static const char* QGIS_APPLICATION_NAME;
42  QgsApplication( int & argc, char ** argv, bool GUIenabled, QString customConfigPath = QString() );
43  virtual ~QgsApplication();
44 
50  static void init( QString customConfigPath = QString() );
51 
53  virtual bool event( QEvent * event );
54 
56  virtual bool notify( QObject * receiver, QEvent * event );
57 
59  static void setFileOpenEventReceiver( QObject * receiver );
60 
70  static void setThemeName( const QString &theThemeName );
71 
78  static const QString themeName();
79 
81  static const QString authorsFilePath();
82 
87  static const QString contributorsFilePath();
88 
91  static const QString sponsorsFilePath();
92 
95  static const QString donorsFilePath();
96 
101  static const QString translatorsFilePath();
102 
106  static const QString licenceFilePath();
107 
109  static const QString helpAppPath();
110 
112  static const QString i18nPath();
113 
115  static const QString qgisMasterDbFilePath();
116 
118  static const QString qgisSettingsDirPath();
119 
121  static const QString qgisUserDbFilePath();
122 
124  static const QString splashPath();
125 
127  static const QString iconsPath();
128 
130  static const QString srsDbFilePath();
131 
134  static const QStringList svgPaths();
135 
138  static const QMap<QString, QString> systemEnvVars() { return ABISYM( mSystemEnvVars ); }
139 
141  static const QString prefixPath();
142 
144  static const QString pluginPath();
145 
147  static const QString pkgDataPath();
148 
150  static const QString activeThemePath();
151 
153  static const QString defaultThemePath();
154 
158  static QString iconPath( QString iconFile );
159 
163  static QIcon getThemeIcon( const QString &theName );
164 
168  static QPixmap getThemePixmap( const QString &theName );
169 
171  static const QString userStyleV2Path();
172 
174  static const QString defaultStyleV2Path();
175 
178  static const QString libraryPath();
179 
182  static const QString libexecPath();
183 
185  static void setPrefixPath( const QString &thePrefixPath, bool useDefaultPaths = false );
186 
188  static void setPluginPath( const QString &thePluginPath );
189 
191  static void setPkgDataPath( const QString &thePkgDataPath );
192 
194  static void setDefaultSvgPaths( const QStringList& pathList );
195 
197  static void initQgis();
198 
200  static bool createDB( QString* errorMessage = 0 );
201 
203  static void exitQgis();
204 
206  typedef enum ENDIAN
207  {
208  XDR = 0, // network, or big-endian, byte order
209  NDR = 1 // little-endian byte order
210  }
211  endian_t;
212 
214  static endian_t endian();
215 
224  static QString reportStyleSheet();
225 
228  static QString showSettings();
229 
236  static void registerOgrDrivers();
237 
240  static QString absolutePathToRelativePath( QString apath, QString targetPath );
243  static QString relativePathToAbsolutePath( QString rpath, QString targetPath );
244 
247  static bool isRunningFromBuildDir() { return ABISYM( mRunningFromBuildDir ); }
248 #ifdef _MSC_VER
249  static QString cfgIntDir() { return ABISYM( mCfgIntDir ); }
250 #endif
251 
253  static QString buildSourcePath() { return ABISYM( mBuildSourcePath ); }
256  static QString buildOutputPath() { return ABISYM( mBuildOutputPath ); }
257 
263  static void skipGdalDriver( QString theDriver );
264 
270  static void restoreGdalDriver( QString theDriver );
271 
276  static QStringList skippedGdalDrivers() { return ABISYM( mGdalSkipList ); }
277 
283  static void applyGdalSkippedDrivers();
284 
287  static int maxThreads() { return ABISYM( mMaxThreads ); }
291  static void setMaxThreads( int maxThreads );
292 
293 #ifdef ANDROID
294  //dummy method to workaround sip generation issue issue
295  bool x11EventFilter( XEvent * event )
296  {
297  return 0;
298  }
299 #endif
300 
301  signals:
303  void preNotify( QObject * receiver, QEvent * event, bool * done );
304 
305  private:
306  static QObject* ABISYM( mFileOpenEventReceiver );
307  static QStringList ABISYM( mFileOpenEventList );
308 
309  static QString ABISYM( mPrefixPath );
310  static QString ABISYM( mPluginPath );
311  static QString ABISYM( mPkgDataPath );
312  static QString ABISYM( mLibraryPath );
313  static QString ABISYM( mLibexecPath );
314  static QString ABISYM( mThemeName );
315  static QStringList ABISYM( mDefaultSvgPaths );
316  static QMap<QString, QString> ABISYM( mSystemEnvVars );
317 
318  static QString ABISYM( mConfigPath );
319 
321  static bool ABISYM( mRunningFromBuildDir );
323  static QString ABISYM( mBuildSourcePath );
324 #ifdef _MSC_VER
325 
326  static QString ABISYM( mCfgIntDir );
327 #endif
328 
329  static QString ABISYM( mBuildOutputPath );
333  static QStringList ABISYM( mGdalSkipList );
336  static int ABISYM( mMaxThreads );
337 };
338 
339 #endif
Extends QApplication to provide access to QGIS specific resources such as theme paths, database paths etc.
Definition: qgsapplication.h:34
static QStringList skippedGdalDrivers()
Returns the list of gdal drivers that should be skipped (based on GDAL_SKIP environment variable) ...
Definition: qgsapplication.h:276
static bool isRunningFromBuildDir()
Indicates whether running from build directory (not installed)
Definition: qgsapplication.h:247
static int maxThreads()
Get maximum concurrent thread count.
Definition: qgsapplication.h:287
QString iconPath(QString iconFile)
Definition: qgsdashspacedialog.cpp:20
static QString buildOutputPath()
Returns path to the build output directory.
Definition: qgsapplication.h:256
static const char * QGIS_ORGANIZATION_NAME
Definition: qgsapplication.h:38
static const QMap< QString, QString > systemEnvVars()
Returns the system environment variables passed to application.
Definition: qgsapplication.h:138
ENDIAN
constants for endian-ness
Definition: qgsapplication.h:206
static QString buildSourcePath()
Returns path to the source directory.
Definition: qgsapplication.h:253
static const char * QGIS_ORGANIZATION_DOMAIN
Definition: qgsapplication.h:39
QObject * ABISYM(QgsApplication::mFileOpenEventReceiver)
static const char * QGIS_APPLICATION_NAME
Definition: qgsapplication.h:40