src/app/qgisapp.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           qgisapp.h  -  description
00003                              -------------------
00004     begin                : Sat Jun 22 2002
00005     copyright            : (C) 2002 by Gary E.Sherman
00006     email                : sherman at mrcc.com
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 /*  $Id: qgisapp.h 9536 2008-10-24 21:47:48Z timlinux $ */
00018 
00019 #ifndef QGISAPP_H
00020 #define QGISAPP_H
00021 
00022 class QActionGroup;
00023 class QCheckBox;
00024 class QCursor;
00025 class QFileInfo;
00026 class QKeyEvent;
00027 class QLabel;
00028 class QLineEdit;
00029 class QMenu;
00030 class QPixmap;
00031 class QProgressBar;
00032 class QPushButton;
00033 class QRect;
00034 class QSettings;
00035 class QSplashScreen;
00036 class QStringList;
00037 class QToolButton;
00038 class QTcpSocket;
00039 class QValidator;
00040 
00041 class QgisAppInterface;
00042 class QgsClipboard;
00043 class QgsComposer;
00044 class QgsHelpViewer;
00045 class QgsLegend;
00046 class QgsMapCanvas;
00047 class QgsMapLayer;
00048 class QgsMapTip;
00049 class QgsMapTool;
00050 class QgsPoint;
00051 class QgsProviderRegistry;
00052 class QgsPythonDialog;
00053 class QgsPythonUtils;
00054 class QgsRasterLayer;
00055 class QgsRect;
00056 class QgsVectorLayer;
00057 
00058 #include <QMainWindow>
00059 #include <QToolBar>
00060 #include <QAbstractSocket>
00061 #include <QPointer>
00062 
00063 #include "qgsconfig.h"
00064 #include "qgspoint.h"
00065 
00069 class QgisApp : public QMainWindow
00070 {
00071     Q_OBJECT
00072   public:
00074     QgisApp( QSplashScreen *splash, QWidget * parent = 0, Qt::WFlags fl = Qt::Window );
00076     ~QgisApp();
00080     QgsVectorLayer* addVectorLayer( QString vectorLayerPath, QString baseName, QString providerKey );
00081 
00087     bool addVectorLayers( QStringList const & theLayerQStringList, const QString& enc );
00088 
00094     bool addRasterLayers( QStringList const & theLayerQStringList, bool guiWarning = true );
00095 
00100     QgsRasterLayer* addRasterLayer( QString const & rasterLayerPath,
00101                                     QString const & baseName,
00102                                     QString const & providerKey,
00103                                     QStringList const & layers,
00104                                     QStringList const & styles,
00105                                     QString const & format,
00106                                     QString const & crs );
00107 
00113     QgsRasterLayer* addRasterLayer( QString const & rasterFile, QString const & baseName, bool guiWarning = true );
00114 
00116     void addMapLayer( QgsMapLayer *theMapLayer );
00117 
00119     void setExtent( QgsRect theRect );
00121     void removeAllLayers();
00126     bool openLayer( const QString & fileName );
00130     void openProject( const QString & fileName );
00134     bool addProject( QString projectFile );
00136     void saveMapAsImage( QString, QPixmap * );
00138     QgsMapCanvas * mapCanvas() { return mMapCanvas; };
00140     void setTheme( QString themeName = "default" );
00142     void setupToolbarPopups( QString themeName );
00144     QgsClipboard * clipboard();
00145 
00161     void setupProxy();
00162 
00163     static QgisApp *instance() { return smInstance; }
00164 
00166     //default theme if the active theme does not have the required
00167     //icon.
00168     static QIcon getThemeIcon( const QString theName );
00170     //default theme if the active theme does not have the required
00171     //icon.
00172     static QPixmap getThemePixmap( const QString theName );
00173 
00177     void addDockWidget( Qt::DockWidgetArea area, QDockWidget * dockwidget );
00181     QToolBar *addToolBar( QString name );
00182 
00185     void addWindow( QAction *action );
00188     void removeWindow( QAction *action );
00189 
00191     QAction *actionNewProject() { return mActionNewProject; }
00192     QAction *actionOpenProject() { return mActionOpenProject; }
00193     QAction *actionFileSeparator1() { return mActionFileSeparator1; }
00194     QAction *actionSaveProject() { return mActionSaveProject; }
00195     QAction *actionSaveProjectAs() { return mActionSaveProjectAs; }
00196     QAction *actionSaveMapAsImage() { return mActionSaveMapAsImage; }
00197     QAction *actionFileSeparator2() { return mActionFileSeparator2; }
00198     QAction *actionProjectProperties() { return mActionProjectProperties; }
00199     QAction *actionFileSeparator3() { return mActionFileSeparator3; }
00200     QAction *actionPrintComposer() { return mActionPrintComposer; }
00201     QAction *actionFileSeparator4() { return mActionFileSeparator4; }
00202     QAction *actionExit() { return mActionExit; }
00203 
00204     QAction *actionCutFeatures() { return mActionCutFeatures; }
00205     QAction *actionCopyFeatures() { return mActionCopyFeatures; }
00206     QAction *actionPasteFeatures() { return mActionPasteFeatures; }
00207     QAction *actionEditSeparator1() { return mActionEditSeparator1; }
00208     QAction *actionCapturePoint() { return mActionCapturePoint; }
00209     QAction *actionCaptureLine() { return mActionCaptureLine; }
00210     QAction *actionCapturePologon() { return mActionCapturePolygon; }
00211     QAction *actionDeleteSelected() { return mActionDeleteSelected; }
00212     QAction *actionMoveFeature() { return mActionMoveFeature; }
00213     QAction *actionSplitFeatures() { return mActionSplitFeatures; }
00214     QAction *actionAddVertex() { return mActionAddVertex; }
00215     QAction *actionDelerteVertex() { return mActionDeleteVertex; }
00216     QAction *actioMoveVertex() { return mActionMoveVertex; }
00217     QAction *actionAddRing() { return mActionAddRing; }
00218     QAction *actionAddIsland() { return mActionAddIsland; }
00219     QAction *actionEditSeparator2() { return mActionEditSeparator2; }
00220 
00221     QAction *actionPan() { return mActionPan; }
00222     QAction *actionZoomIn() { return mActionZoomIn; }
00223     QAction *actionZoomOut() { return mActionZoomOut; }
00224     QAction *actionSelect() { return mActionSelect; }
00225     QAction *actionIdentify() { return mActionIdentify; }
00226     QAction *actionMeasure() { return mActionMeasure; }
00227     QAction *actionMeasureArea() { return mActionMeasureArea; }
00228     QAction *actionViewSeparator1() { return mActionViewSeparator1; }
00229     QAction *actionZoomFullExtent() { return mActionZoomFullExtent; }
00230     QAction *actionZoomToLayer() { return mActionZoomToLayer; }
00231     QAction *actionZoomToSelected() { return mActionZoomToSelected; }
00232     QAction *actionZoomLast() { return mActionZoomLast; }
00233     QAction *actionZoomActualSize() { return mActionZoomActualSize; }
00234     QAction *actionViewSeparator2() { return mActionViewSeparator2; }
00235     QAction *actionMapTips() { return mActionMapTips; }
00236     QAction *actionNewBookmark() { return mActionNewBookmark; }
00237     QAction *actionShowBookmarks() { return mActionShowBookmarks; }
00238     QAction *actionDraw() { return mActionDraw; }
00239     QAction *actionViewSeparator3() { return mActionViewSeparator3; }
00240 
00241     QAction *actionNewVectorLayer() { return mActionNewVectorLayer; }
00242     QAction *actionAddOgrLayer() { return mActionAddOgrLayer; }
00243     QAction *actionAddRasterLayer() { return mActionAddRasterLayer; }
00244     QAction *actionAddPgLayer() { return mActionAddPgLayer; }
00245     QAction *actionAddWmsLayer() { return mActionAddWmsLayer; }
00246     QAction *actionLayerSeparator1() { return mActionLayerSeparator1; }
00247     QAction *actionOpenTable() { return mActionOpenTable; }
00248     QAction *actionToggleEditing() { return mActionToggleEditing; }
00249     QAction *actionLayerSaveAs() { return mActionLayerSaveAs; }
00250     QAction *actionLayerSelectionSaveAs() { return mActionLayerSelectionSaveAs; }
00251     QAction *actionRemoveLayer() { return mActionRemoveLayer; }
00252     QAction *actionLayerProperties() { return mActionLayerProperties; }
00253     QAction *actionLayerSeparator2() { return mActionLayerSeparator2; }
00254     QAction *actionAddToOverview() { return mActionAddToOverview; }
00255     QAction *actionAddAllToOverview() { return mActionAddAllToOverview; }
00256     QAction *actionRemoveAllFromOverview() { return mActionRemoveAllFromOverview; }
00257     QAction *actionLayerSeparator3() { return mActionLayerSeparator3; }
00258     QAction *actionHideAllLayers() { return mActionHideAllLayers; }
00259     QAction *actionShowAllLayers() { return mActionShowAllLayers; }
00260 
00261     QAction *actionManagePlugins() { return mActionManagePlugins; }
00262     QAction *actionPluginSeparator1() { return mActionPluginSeparator1; }
00263     QAction *actionPluginListSeparator() { return mActionPluginSeparator1; }
00264     QAction *actionPluginSeparator2() { return mActionPluginSeparator2; }
00265     QAction *actionPluginPythonSeparator() { return mActionPluginSeparator2; }
00266     QAction *actionShowPythonDialog() { return mActionShowPythonDialog; }
00267 
00268     QAction *actionToggleFullScreen() { return mActionToggleFullScreen; }
00269     QAction *actionSettingsSeparator1() { return mActionSettingsSeparator1; }
00270     QAction *actionOptions() { return mActionOptions; }
00271     QAction *actionCustomProjection() { return mActionCustomProjection; }
00272 
00273 #ifdef Q_WS_MAC
00274     QAction *actionWindowMinimize() { return mActionWindowMinimize; }
00275     QAction *actionWindowZoom() { return mActionWindowZoom; }
00276     QAction *actionWindowSeparator1() { return mActionWindowSeparator1; }
00277     QAction *actionWindowAllToFront() { return mActionWindowAllToFront; }
00278     QAction *actionWindowSeparator2() { return mActionWindowSeparator2; }
00279 #endif
00280 
00281     QAction *actionHelpContents() { return mActionHelpContents; }
00282     QAction *actionHelpSeparator1() { return mActionHelpSeparator1; }
00283     QAction *actionQgisHomePage() { return mActionQgisHomePage; }
00284     QAction *actionCheckQgisVersion() { return mActionCheckQgisVersion; }
00285     QAction *actionHelpSeparator2() { return mActionHelpSeparator2; }
00286     QAction *actionAbout() { return mActionAbout; }
00287 
00289     QMenu *fileMenu() { return mFileMenu; }
00290     QMenu *editMenu() { return mEditMenu; }
00291     QMenu *viewMenu() { return mViewMenu; }
00292     QMenu *layerMenu() { return mLayerMenu; }
00293     QMenu *settingsMenu() { return mSettingsMenu; }
00294     QMenu *pluginMenu() { return mPluginMenu; }
00295 #ifdef Q_WS_MAC
00296     QMenu *firstRightStandardMenu() { return mWindowMenu; }
00297     QMenu *windowMenu() { return mWindowMenu; }
00298 #else
00299     QMenu *firstRightStandardMenu() { return mHelpMenu; }
00300     QMenu *windowMenu() { return NULL; }
00301 #endif
00302     QMenu *helpMenu() { return mHelpMenu; }
00303 
00305 
00310     QToolBar *fileToolBar() { return mFileToolBar; }
00311     QToolBar *layerToolBar() { return mLayerToolBar; }
00312     QToolBar *mapNavToolToolBar() { return mMapNavToolBar; }
00313     QToolBar *digitizeToolBar() { return mDigitizeToolBar; }
00314     QToolBar *attributesToolBar() { return mAttributesToolBar; }
00315     QToolBar *pluginToolBar() { return mPluginToolBar; }
00316     QToolBar *helpToolBar() { return mHelpToolBar; }
00317 
00318   public slots:
00320     void zoomFull();
00322     void zoomToPrevious();
00324     void zoomToSelected();
00325 
00327 
00331     void editCut( QgsMapLayer * layerContainingSelection = 0 );
00333 
00337     void editCopy( QgsMapLayer * layerContainingSelection = 0 );
00339 
00343     void editPaste( QgsMapLayer * destinationLayer = 0 );
00344 
00345   protected:
00346 
00348     virtual void changeEvent( QEvent * event );
00350     virtual void closeEvent( QCloseEvent * event );
00351 
00352     virtual void dragEnterEvent( QDragEnterEvent * event );
00353     virtual void dropEvent( QDropEvent * event );
00354 
00356     virtual void keyPressEvent( QKeyEvent * event );
00357 
00358   private slots:
00360     void about();
00362     void addRasterLayer();
00363     //#ifdef HAVE_POSTGRESQL
00365     void addDatabaseLayer();
00366     //#endif
00368     void isInOverview();
00370     void showMouseCoordinate( QgsPoint & );
00372     void showScale( double theScale );
00374     void userScale();
00376     void removeLayer();
00378     void zoomToLayerExtent();
00380     void zoomActualSize();
00382     void restoreSessionPlugins( QString thePluginDirString );
00384     void showPluginManager();
00386     void loadPythonSupport();
00388     void loadPlugin( QString mFullPath, QString name );
00390     void loadPythonPlugin( QString packageName, QString pluginName );
00392     QMenu* getPluginMenu( QString menuName );
00394     void addPluginToMenu( QString name, QAction* action );
00396     void removePluginMenu( QString name, QAction* action );
00398     int addPluginToolBarIcon( QAction * qAction );
00400     void removePluginToolBarIcon( QAction *qAction );
00402     void saveWindowState();
00404     void restoreWindowState();
00406     bool fileSave();
00408     void fileSaveAs();
00411     void openProject( QAction *action );
00413     void saveMapAsImage();
00415     void fileOpen();
00417     void fileNew();
00419     void fileNew( bool thePromptToSaveFlag );
00421     void newVectorLayer();
00423     void filePrint();
00425     void addAllToOverview();
00427     void removeAllFromOverview();
00428     //reimplements method from base (gui) class
00429     void hideAllLayers();
00430     //reimplements method from base (gui) class
00431     void showAllLayers();
00432     // TODO: remove exportMapServer declaration once the mapserver export plugin is complete
00433     // and tested
00434     /*
00436     void exportMapServer();
00437     */
00439     QgsMapLayer *activeLayer();
00441     void helpContents();
00443     void helpQgisHomePage();
00445     void openURL( QString url, bool useQgisDocDirectory = true );
00447     void checkQgisVersion();
00449     void customProjection();
00451     void options();
00453     void whatsThis();
00454     void socketConnected();
00455     void socketConnectionClosed();
00456     void socketReadyRead();
00457     void socketError( QAbstractSocket::SocketError e );
00459     void projectProperties();
00461     void projectPropertiesProjections();
00462     /*  void urlData(); */
00464     void showBookmarks();
00466     void newBookmark();
00468     void capturePoint();
00470     void captureLine();
00472     void capturePolygon();
00474     void deleteSelected();
00476     void moveFeature();
00478     void splitFeatures();
00480     void addVertex();
00482     void moveVertex();
00484     void deleteVertex();
00486     void addRing();
00488     void addIsland();
00489 
00491     void select();
00493     void refreshMapCanvas();
00495     QgsLegend *legend() { return mMapLegend; }
00496 
00498     void toggleEditing();
00499 
00501     void mapToolChanged( QgsMapTool *tool );
00502 
00505     void activateDeactivateLayerRelatedActions( QgsMapLayer* layer );
00506 
00507     void showProgress( int theProgress, int theTotalSteps );
00508     void extentsViewToggled( bool theFlag );
00509     void showExtents();
00510     void showStatusMessage( QString theMessage );
00511     void updateMouseCoordinatePrecision();
00512     void hasCrsTransformEnabled( bool theFlag );
00513     void destinationSrsChanged();
00514     //    void debugHook();
00516     void addVectorLayer();
00518     void fileExit();
00520     void addWmsLayer();
00522     void zoomOut();
00524     void zoomIn();
00526     void pan();
00528     void identify();
00530     void measure();
00532     void measureArea();
00533 
00535     void attributeTable();
00536 
00538     void toggleEditing( QgsMapLayer *layer );
00539 
00541     void saveAsShapefile();
00542     void saveSelectionAsShapefile();
00543 
00545     void layerProperties();
00546 
00548     void showPythonDialog();
00549 
00551     void oldProjectVersionWarning( QString );
00552 
00554     void toggleMapTips();
00555 
00557     void showMapTip();
00558 
00560     void toggleFullScreen();
00561 
00563     void showActiveWindowMinimized();
00564 
00566     void toggleActiveWindowMaximized();
00567 
00569     void activate();
00570 
00572     void bringAllToFront();
00573 
00575     void stopRendering();
00576 
00577   signals:
00580     void keyPressed( QKeyEvent *e );
00581 
00588     void projectRead();
00597     void newProject();
00598 
00600     void bookmarkAdded();
00601 
00602   private:
00606     bool addRasterLayer( QgsRasterLayer * theRasterLayer );
00607     //@todo We should move these next two into vector layer class
00609     bool isValidVectorFileName( QString theFileNameQString );
00611     bool isValidVectorFileName( QString * theFileNameQString );
00616     void saveRecentProjectPath( QString projectPath, QSettings & settings );
00618     void updateRecentProjectPaths();
00620     //void readWKB(const char *, QStringList tables);
00622     void pasteTransformations();
00624     bool saveDirty();
00625 
00627     QgisApp( QgisApp const & );
00629     QgisApp & operator=( QgisApp const & );
00630 
00631     void readSettings();
00632     void writeSettings();
00633     void createActions();
00634     void createActionGroups();
00635     void createMenus();
00636     void createToolBars();
00637     void createStatusBar();
00638     void setupConnections();
00639     void createLegend();
00640     void createOverview();
00641     void createCanvas();
00642     bool createDB();
00643     void createMapTips();
00644 
00645     // toolbars ---------------------------------------
00646     QToolBar *mFileToolBar;
00647     QToolBar *mLayerToolBar;
00648     QToolBar *mMapNavToolBar;
00649     QToolBar *mDigitizeToolBar;
00650     QToolBar *mAttributesToolBar;
00651     QToolBar *mPluginToolBar;
00652     QToolBar *mHelpToolBar;
00653 
00654     // actions for menus and toolbars -----------------
00655 
00656     QAction *mActionNewProject;
00657     QAction *mActionOpenProject;
00658     QAction *mActionFileSeparator1;
00659     QAction *mActionSaveProject;
00660     QAction *mActionSaveProjectAs;
00661     QAction *mActionSaveMapAsImage;
00662     QAction *mActionFileSeparator2;
00663     QAction *mActionProjectProperties;
00664     QAction *mActionFileSeparator3;
00665     QAction *mActionPrintComposer;
00666     QAction *mActionFileSeparator4;
00667     QAction *mActionExit;
00668 
00669     QAction *mActionCutFeatures;
00670     QAction *mActionCopyFeatures;
00671     QAction *mActionPasteFeatures;
00672     QAction *mActionEditSeparator1;
00673     QAction *mActionCapturePoint;
00674     QAction *mActionCaptureLine;
00675     QAction *mActionCapturePolygon;
00676     QAction *mActionDeleteSelected;
00677     QAction *mActionMoveFeature;
00678     QAction *mActionSplitFeatures;
00679     QAction *mActionAddVertex;
00680     QAction *mActionDeleteVertex;
00681     QAction *mActionMoveVertex;
00682     QAction *mActionAddRing;
00683     QAction *mActionAddIsland;
00684     QAction *mActionEditSeparator2;
00685 
00686     QAction *mActionPan;
00687     QAction *mActionZoomIn;
00688     QAction *mActionZoomOut;
00689     QAction *mActionSelect;
00690     QAction *mActionIdentify;
00691     QAction *mActionMeasure;
00692     QAction *mActionMeasureArea;
00693     QAction *mActionViewSeparator1;
00694     QAction *mActionZoomFullExtent;
00695     QAction *mActionZoomToLayer;
00696     QAction *mActionZoomToSelected;
00697     QAction *mActionZoomLast;
00698     QAction *mActionZoomActualSize;
00699     QAction *mActionViewSeparator2;
00700     QAction *mActionMapTips;
00701     QAction *mActionNewBookmark;
00702     QAction *mActionShowBookmarks;
00703     QAction *mActionDraw;
00704     QAction *mActionViewSeparator3;
00705 
00706     QAction *mActionNewVectorLayer;
00707     QAction *mActionAddOgrLayer;
00708     QAction *mActionAddRasterLayer;
00709     QAction *mActionAddPgLayer;
00710     QAction *mActionAddWmsLayer;
00711     QAction *mActionLayerSeparator1;
00712     QAction *mActionOpenTable;
00713     QAction *mActionToggleEditing;
00714     QAction *mActionLayerSaveAs;
00715     QAction *mActionLayerSelectionSaveAs;
00716     QAction *mActionRemoveLayer;
00717     QAction *mActionLayerProperties;
00718     QAction *mActionLayerSeparator2;
00719     QAction *mActionAddToOverview;
00720     QAction *mActionAddAllToOverview;
00721     QAction *mActionRemoveAllFromOverview;
00722     QAction *mActionLayerSeparator3;
00723     QAction *mActionHideAllLayers;
00724     QAction *mActionShowAllLayers;
00725 
00726     QAction *mActionManagePlugins;
00727     QAction *mActionPluginSeparator1;
00728     QAction *mActionPluginSeparator2;
00729     QAction *mActionShowPythonDialog;
00730 
00731     QAction *mActionToggleFullScreen;
00732     QAction *mActionSettingsSeparator1;
00733     QAction *mActionOptions;
00734     QAction *mActionCustomProjection;
00735 
00736 #ifdef Q_WS_MAC
00737     QAction *mActionWindowMinimize;
00738     QAction *mActionWindowZoom;
00739     QAction *mActionWindowSeparator1;
00740     QAction *mActionWindowAllToFront;
00741     QAction *mActionWindowSeparator2;
00742     QActionGroup *mWindowActions;
00743 #endif
00744 
00745     QAction *mActionHelpContents;
00746     QAction *mActionHelpSeparator1;
00747     QAction *mActionQgisHomePage;
00748     QAction *mActionCheckQgisVersion;
00749     QAction *mActionHelpSeparator2;
00750     QAction *mActionAbout;
00751 
00752     // action groups ----------------------------------
00753     QActionGroup *mMapToolGroup;
00754 
00755     // menus ------------------------------------------
00756     QMenu *mFileMenu;
00757     QMenu *mEditMenu;
00758     QMenu *mRecentProjectsMenu;
00759     QMenu *mViewMenu;
00760     QMenu *mPanelMenu;
00761     QMenu *mToolbarMenu;
00762     QMenu *mLayerMenu;
00763     QMenu *mSettingsMenu;
00764 #ifdef Q_WS_MAC
00765     QMenu *mWindowMenu;
00766 #endif
00767     QMenu *mHelpMenu;
00768 
00769     // docks ------------------------------------------
00770     QDockWidget *mLegendDock;
00771     QDockWidget *mOverviewDock;
00772 
00773 #ifdef Q_WS_MAC
00775     QAction *mWindowAction;
00776 #endif
00777 
00778     class Tools
00779     {
00780       public:
00781         QgsMapTool* mZoomIn;
00782         QgsMapTool* mZoomOut;
00783         QgsMapTool* mPan;
00784         QgsMapTool* mIdentify;
00785         QgsMapTool* mMeasureDist;
00786         QgsMapTool* mMeasureArea;
00787         QgsMapTool* mCapturePoint;
00788         QgsMapTool* mCaptureLine;
00789         QgsMapTool* mCapturePolygon;
00790         QgsMapTool* mMoveFeature;
00791         QgsMapTool* mSplitFeatures;
00792         QgsMapTool* mSelect;
00793         QgsMapTool* mVertexAdd;
00794         QgsMapTool* mVertexMove;
00795         QgsMapTool* mVertexDelete;
00796         QgsMapTool* mAddRing;
00797         QgsMapTool* mAddIsland;
00798     } mMapTools;
00799 
00800     QgsMapTool *mNonEditMapTool;
00801 
00803     QLabel * mScaleLabel;
00805     QLineEdit * mScaleEdit;
00807     QValidator * mScaleEditValidator;
00809     QLabel * mCoordsLabel;
00811     QProgressBar * mProgressBar;
00813     QCheckBox * mRenderSuppressionCBox;
00815     QToolButton * mToggleExtentsViewButton;
00817     QToolButton* mStopRenderButton;
00819     QToolButton * mOnTheFlyProjectionStatusButton;
00821     QMenu * mPopupMenu;
00823     QMenu *mPluginMenu;
00825     QMenu *toolPopupOverviews;
00827     QMenu *toolPopupDisplay;
00829     QMenu *toolPopupCapture;
00831     QgsMapCanvas *mMapCanvas;
00833     QgsLegend *mMapLegend;
00835     QCursor *mOverviewMapCursor;
00837     double mScaleFactor;
00839     QRect *mMapWindow;
00841     int mPreviousNonZoomMapTool;
00842     //QCursor *mCursorZoomIn; //doesnt seem to be used anymore (TS)
00843     QString mStartupPath;
00845     QString mFullPathName;
00846 
00848     QgisAppInterface *mQgisInterface;
00849     friend class QgisAppInterface;
00850 
00851     QTcpSocket *mSocket;
00852     QString mVersionMessage;
00853     QSplashScreen *mSplash;
00855     QgsHelpViewer *mHelpViewer;
00857     QStringList mRecentProjectPaths;
00859     QgsComposer *mComposer;
00862     bool mMousePrecisionAutomatic;
00864     unsigned int mMousePrecisionDecimalPlaces;
00866     QgsClipboard* mInternalClipboard;
00868     bool mShowProjectionTab;
00872     QString mVectorFileFilter;
00876     QString mRasterFileFilter;
00877 
00880     QTimer *mpMapTipsTimer;
00881 
00884     QgsPoint mLastMapPosition;
00885 
00886     /* Maptip object
00887      */
00888     QgsMapTip *  mpMaptip;
00889 
00890     // Flag to indicate if maptips are on or off
00891     bool mMapTipsVisible;
00892 
00894     bool mFullScreenMode;
00895 
00897     bool mPrevScreenModeMaximized;
00898 
00899     QgsPythonDialog* mPythonConsole;
00900     QgsPythonUtils* mPythonUtils;
00901 
00902     static QgisApp *smInstance;
00903 };
00904 
00905 #endif

Generated on Tue Oct 28 16:51:25 2008 for Quantum GIS API Documentation by  doxygen 1.5.1