/usr/include/qgis/qgsapplication.h is in libqgis-dev 1.7.4+1.7.5~20120320-1.1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | /***************************************************************************
qgsapplication.h - Accessors for application-wide data
--------------------------------------
Date : 02-Jan-2006
Copyright : (C) 2006 by Tom Elwertowski
Email : telwertowski at users dot sourceforge dot net
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
/* $Id$ */
#ifndef QGSAPPLICATION_H
#define QGSAPPLICATION_H
#include <QApplication>
#include <QEvent>
#include <qgis.h>
#define ABISYM(x) x ## VERSION_INT
/** \ingroup core
* Extends QApplication to provide access to QGIS specific resources such
* as theme paths, database paths etc.
*/
class CORE_EXPORT QgsApplication: public QApplication
{
Q_OBJECT
public:
//! @note customConfigDir parameter added in v1.6
QgsApplication( int & argc, char ** argv, bool GUIenabled, QString customConfigPath = QString() );
virtual ~QgsApplication();
//! Watch for QFileOpenEvent.
virtual bool event( QEvent * event );
//! Catch exceptions when sending event to receiver.
virtual bool notify( QObject * receiver, QEvent * event );
//! Set the FileOpen event receiver
static void setFileOpenEventReceiver( QObject * receiver );
/** 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'.
*/
static void setThemeName( const QString theThemeName );
/** 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.
*/
static const QString themeName() ;
//! Returns the path to the authors file.
static const QString authorsFilePath();
/** Returns the path to the contributors file.
* Contributors are people who have submitted patches
* but don't have svn write access.
* @note this function was added in version 1.3 */
static const QString contributorsFilePath();
/**Returns the path to the sponsors file.
@note this function was added in version 1.2*/
static const QString sponsorsFilePath();
/** Returns the path to the donors file.
@note this function was added in version 1.2*/
static const QString donorsFilePath();
/**
* Returns the path to the sponsors file.
* @note This was added in QGIS 1.1
*/
static const QString translatorsFilePath();
//! Returns the path to the developer image directory.
static const QString developerPath();
//! Returns the path to the help application.
static const QString helpAppPath();
//! Returns the path to the translation directory.
static const QString i18nPath();
//! Returns the path to the master qgis.db file.
static const QString qgisMasterDbFilePath();
//! Returns the path to the settings directory in user's home dir
static const QString qgisSettingsDirPath();
//! Returns the path to the user qgis.db file.
static const QString qgisUserDbFilePath();
//! Returns the path to the splash screen image directory.
static const QString splashPath();
//! Returns the path to the icons image directory.
static const QString iconsPath();
//! Returns the path to the srs.db file.
static const QString srsDbFilePath();
//! Returns the pathes to svg directories.
//! @note added in 1.4
static const QStringList svgPaths();
//! Returns the paths to svg applications svg directory.
//! @deprecated since 1.4 - use svgPaths()
Q_DECL_DEPRECATED static const QString svgPath();
//! Returns the path to the application prefix directory.
static const QString prefixPath();
//! Returns the path to the application plugin directory.
static const QString pluginPath();
//! Returns the common root path of all application data directories.
static const QString pkgDataPath();
//! Returns the path to the currently active theme directory.
static const QString activeThemePath();
//! Returns the path to the default theme directory.
static const QString defaultThemePath();
//! Returns path to the desired icon file.
//! First it tries to use the active theme path, then default theme path
//! @note Added in 1.5
static QString iconPath( QString iconFile );
//! Returns the path to user's style. Added in QGIS 1.4
static const QString userStyleV2Path();
//! Returns the path to default style (works as a starting point). Added in QGIS 1.4
static const QString defaultStyleV2Path();
//! Alters prefix path - used by 3rd party apps
static void setPrefixPath( const QString thePrefixPath, bool useDefaultPaths = false );
//! Alters plugin path - used by 3rd party apps
static void setPluginPath( const QString thePluginPath );
//! Alters pkg data path - used by 3rd party apps
static void setPkgDataPath( const QString thePkgDataPath );
//! Alters default svg paths - used by 3rd party apps. Added in QGIS 1.5
static void setDefaultSvgPaths( const QStringList& pathList );
//! loads providers
static void initQgis();
//! deletes provider registry and map layer registry
static void exitQgis();
/** constants for endian-ness */
typedef enum ENDIAN
{
XDR = 0, // network, or big-endian, byte order
NDR = 1 // little-endian byte order
}
endian_t;
//! Returns whether this machine uses big or little endian
static endian_t endian();
/** \brief get a standard css style sheet for reports.
* Typically you will use this method by doing:
* QString myStyle = QgsApplication::reportStyleSheet();
* textBrowserReport->document()->setDefaultStyleSheet(myStyle);
* @return QString containing the CSS 2.1 compliant stylesheet.
* @note you can use the special Qt extensions too, for example
* the gradient fills for backgrounds.
*/
static QString reportStyleSheet();
/** Convenience function to get a summary of the paths used in this
* application instance useful for debugging mainly.*/
static QString showSettings();
/** 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.
*/
static void registerOgrDrivers();
/**Converts absolute path to path relative to target
@note: this method was added in version 1.6*/
static QString absolutePathToRelativePath( QString apath, QString targetPath );
/**Converts path relative to target to an absolute path
@note: this method was added in version 1.6*/
static QString relativePathToAbsolutePath( QString rpath, QString targetPath );
private:
static QObject* ABISYM( mFileOpenEventReceiver );
static QStringList ABISYM( mFileOpenEventList );
static QString ABISYM( mPrefixPath );
static QString ABISYM( mPluginPath );
static QString ABISYM( mPkgDataPath );
static QString ABISYM( mThemeName );
static QStringList ABISYM( mDefaultSvgPaths );
static QString ABISYM( mConfigPath );
};
#endif
|