00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef QGISINTERFACE_H
00019 #define QGISINTERFACE_H
00020
00021 class QAction;
00022 class QMenu;
00023 class QToolBar;
00024 class QDockWidget;
00025 class QMainWindow;
00026 class QWidget;
00027
00028 class QgsComposerView;
00029 class QgsMapLayer;
00030 class QgsMapCanvas;
00031 class QgsRasterLayer;
00032 class QgsVectorLayer;
00033 class QgsLegendInterface;
00034 class QgsFeature;
00035
00036 #include <QObject>
00037 #include <QPair>
00038 #include <map>
00039
00040 #include <qgis.h>
00041
00042 #ifdef _MSC_VER
00043 # pragma warning( push )
00044 # pragma warning( disable: 4996 ) // was declared deprecated
00045 #endif
00046
00059 class GUI_EXPORT QgisInterface : public QObject
00060 {
00061 Q_OBJECT
00062
00063 public:
00064
00066 QgisInterface();
00067
00069 virtual ~QgisInterface();
00070
00074 virtual QgsLegendInterface* legendInterface() = 0;
00075
00076
00077 public slots:
00078
00080 virtual void zoomFull() = 0;
00081
00083 virtual void zoomToPrevious() = 0;
00084
00086 virtual void zoomToNext() = 0;
00087
00089 virtual void zoomToActiveLayer() = 0;
00090
00092 virtual QgsVectorLayer* addVectorLayer( QString vectorLayerPath, QString baseName, QString providerKey ) = 0;
00093
00095 virtual QgsRasterLayer* addRasterLayer( QString rasterLayerPath, QString baseName = QString() ) = 0;
00096
00098 virtual QgsRasterLayer* addRasterLayer( const QString& url, const QString& layerName, const QString& providerKey, const QStringList& layers,
00099 const QStringList& styles, const QString& format, const QString& crs ) = 0;
00100
00102 virtual bool addProject( QString theProject ) = 0;
00104 virtual void newProject( bool thePromptToSaveFlag = false ) = 0;
00105
00107 virtual QgsMapLayer *activeLayer() = 0;
00108
00112 virtual bool setActiveLayer( QgsMapLayer * ) = 0;
00113
00115 virtual int addToolBarIcon( QAction *qAction ) = 0;
00116
00118 virtual void removeToolBarIcon( QAction *qAction ) = 0;
00119
00122 virtual int addRasterToolBarIcon( QAction *qAction ) = 0;
00123
00126 virtual void removeRasterToolBarIcon( QAction *qAction ) = 0;
00127
00130 virtual int addVectorToolBarIcon( QAction *qAction ) = 0;
00131
00134 virtual void removeVectorToolBarIcon( QAction *qAction ) = 0;
00135
00138 virtual int addDatabaseToolBarIcon( QAction *qAction ) = 0;
00139
00142 virtual void removeDatabaseToolBarIcon( QAction *qAction ) = 0;
00143
00146 virtual int addWebToolBarIcon( QAction *qAction ) = 0;
00147
00150 virtual void removeWebToolBarIcon( QAction *qAction ) = 0;
00151
00153 virtual QToolBar * addToolBar( QString name ) = 0;
00154
00156 virtual QgsMapCanvas * mapCanvas() = 0;
00157
00159 virtual QWidget * mainWindow() = 0;
00160
00162 virtual QList<QgsComposerView*> activeComposers() = 0;
00163
00165 virtual void addPluginToMenu( QString name, QAction* action ) = 0;
00166
00168 virtual void removePluginMenu( QString name, QAction* action ) = 0;
00169
00173 virtual void insertAddLayerAction( QAction *action ) = 0;
00174
00178 virtual void removeAddLayerAction( QAction *action ) = 0;
00179
00183 virtual void addPluginToDatabaseMenu( QString name, QAction* action ) = 0;
00184
00188 virtual void removePluginDatabaseMenu( QString name, QAction* action ) = 0;
00189
00193 virtual void addPluginToRasterMenu( QString name, QAction* action ) = 0;
00194
00198 virtual void removePluginRasterMenu( QString name, QAction* action ) = 0;
00199
00203 virtual void addPluginToVectorMenu( QString name, QAction* action ) = 0;
00204
00208 virtual void removePluginVectorMenu( QString name, QAction* action ) = 0;
00209
00213 virtual void addPluginToWebMenu( QString name, QAction* action ) = 0;
00214
00218 virtual void removePluginWebMenu( QString name, QAction* action ) = 0;
00219
00220
00222 virtual void addDockWidget( Qt::DockWidgetArea area, QDockWidget * dockwidget ) = 0;
00223
00227 virtual void removeDockWidget( QDockWidget * dockwidget ) = 0;
00228
00232 #ifndef Q_MOC_RUN
00233 Q_DECL_DEPRECATED
00234 #endif
00235 virtual void refreshLegend( QgsMapLayer *l ) = 0;
00236
00240 virtual void showLayerProperties( QgsMapLayer *l ) = 0;
00241
00245 virtual void showAttributeTable( QgsVectorLayer *l ) = 0;
00246
00249 virtual void addWindow( QAction *action ) = 0;
00250
00253 virtual void removeWindow( QAction *action ) = 0;
00254
00258 virtual bool registerMainWindowAction( QAction* action, QString defaultShortcut ) = 0;
00259
00263 virtual bool unregisterMainWindowAction( QAction* action ) = 0;
00264
00265
00273 #ifndef Q_MOC_RUN
00274 Q_DECL_DEPRECATED
00275 #endif
00276 virtual void openURL( QString url, bool useQgisDocDirectory = true ) = 0;
00277
00278
00283
00284 virtual QMenu *fileMenu() = 0;
00285 virtual QMenu *editMenu() = 0;
00286 virtual QMenu *viewMenu() = 0;
00287 virtual QMenu *layerMenu() = 0;
00288 virtual QMenu *settingsMenu() = 0;
00289 virtual QMenu *pluginMenu() = 0;
00290 virtual QMenu *rasterMenu() = 0;
00293 virtual QMenu *databaseMenu() = 0;
00296 virtual QMenu *vectorMenu() = 0;
00299 virtual QMenu *webMenu() = 0;
00300 virtual QMenu *firstRightStandardMenu() = 0;
00301 virtual QMenu *windowMenu() = 0;
00302 virtual QMenu *helpMenu() = 0;
00303
00305 virtual QToolBar *fileToolBar() = 0;
00306 virtual QToolBar *layerToolBar() = 0;
00307 virtual QToolBar *mapNavToolToolBar() = 0;
00308 virtual QToolBar *digitizeToolBar() = 0;
00309 virtual QToolBar *advancedDigitizeToolBar() = 0;
00310 virtual QToolBar *attributesToolBar() = 0;
00311 virtual QToolBar *pluginToolBar() = 0;
00312 virtual QToolBar *helpToolBar() = 0;
00315 virtual QToolBar *rasterToolBar() = 0;
00318 virtual QToolBar *vectorToolBar() = 0;
00321 virtual QToolBar *databaseToolBar() = 0;
00324 virtual QToolBar *webToolBar() = 0;
00325
00327 virtual QAction *actionNewProject() = 0;
00328 virtual QAction *actionOpenProject() = 0;
00329 #ifndef Q_MOC_RUN
00330 Q_DECL_DEPRECATED
00331 #endif
00332 virtual QAction *actionFileSeparator1() = 0;
00333 virtual QAction *actionSaveProject() = 0;
00334 virtual QAction *actionSaveProjectAs() = 0;
00335 virtual QAction *actionSaveMapAsImage() = 0;
00336 #ifndef Q_MOC_RUN
00337 Q_DECL_DEPRECATED
00338 #endif
00339 virtual QAction *actionFileSeparator2() = 0;
00340 virtual QAction *actionProjectProperties() = 0;
00341 #ifndef Q_MOC_RUN
00342 Q_DECL_DEPRECATED
00343 #endif
00344 virtual QAction *actionFileSeparator3() = 0;
00345 virtual QAction *actionPrintComposer() = 0;
00346 #ifndef Q_MOC_RUN
00347 Q_DECL_DEPRECATED
00348 #endif
00349 virtual QAction *actionFileSeparator4() = 0;
00350 virtual QAction *actionExit() = 0;
00351
00353 virtual QAction *actionCutFeatures() = 0;
00354 virtual QAction *actionCopyFeatures() = 0;
00355 virtual QAction *actionPasteFeatures() = 0;
00356 #ifndef Q_MOC_RUN
00357 Q_DECL_DEPRECATED
00358 #endif
00359 virtual QAction *actionEditSeparator1() = 0;
00360 virtual QAction *actionAddFeature() = 0;
00361 #ifndef Q_MOC_RUN
00362 Q_DECL_DEPRECATED
00363 #endif
00364 virtual QAction *actionCapturePoint() = 0;
00365 #ifndef Q_MOC_RUN
00366 Q_DECL_DEPRECATED
00367 #endif
00368 virtual QAction *actionCaptureLine() = 0;
00369 #ifndef Q_MOC_RUN
00370 Q_DECL_DEPRECATED
00371 #endif
00372 virtual QAction *actionCapturePolygon() = 0;
00373 virtual QAction *actionDeleteSelected() = 0;
00374 virtual QAction *actionMoveFeature() = 0;
00375 virtual QAction *actionSplitFeatures() = 0;
00376 #ifndef Q_MOC_RUN
00377 Q_DECL_DEPRECATED
00378 #endif
00379 virtual QAction *actionAddVertex() = 0;
00380 #ifndef Q_MOC_RUN
00381 Q_DECL_DEPRECATED
00382 #endif
00383 virtual QAction *actionDeleteVertex() = 0;
00384 #ifndef Q_MOC_RUN
00385 Q_DECL_DEPRECATED
00386 #endif
00387 virtual QAction *actionMoveVertex() = 0;
00388 virtual QAction *actionAddRing() = 0;
00389 #ifndef Q_MOC_RUN
00390 Q_DECL_DEPRECATED
00391 #endif
00392 virtual QAction *actionAddIsland() = 0;
00393 virtual QAction *actionAddPart() = 0;
00394 virtual QAction *actionSimplifyFeature() = 0;
00395 virtual QAction *actionDeleteRing() = 0;
00396 virtual QAction *actionDeletePart() = 0;
00397 virtual QAction *actionNodeTool() = 0;
00398 #ifndef Q_MOC_RUN
00399 Q_DECL_DEPRECATED
00400 #endif
00401 virtual QAction *actionEditSeparator2() = 0;
00402
00404 virtual QAction *actionPan() = 0;
00405 virtual QAction *actionPanToSelected() = 0;
00406 virtual QAction *actionZoomIn() = 0;
00407 virtual QAction *actionZoomOut() = 0;
00408 virtual QAction *actionSelect() = 0;
00409 virtual QAction *actionSelectRectangle() = 0;
00410 virtual QAction *actionSelectPolygon() = 0;
00411 virtual QAction *actionSelectFreehand() = 0;
00412 virtual QAction *actionSelectRadius() = 0;
00413 virtual QAction *actionIdentify() = 0;
00414 virtual QAction *actionMeasure() = 0;
00415 virtual QAction *actionMeasureArea() = 0;
00416 #ifndef Q_MOC_RUN
00417 Q_DECL_DEPRECATED
00418 #endif
00419 virtual QAction *actionViewSeparator1() = 0;
00420 virtual QAction *actionZoomFullExtent() = 0;
00421 virtual QAction *actionZoomToLayer() = 0;
00422 virtual QAction *actionZoomToSelected() = 0;
00423 virtual QAction *actionZoomLast() = 0;
00424 virtual QAction *actionZoomActualSize() = 0;
00425 #ifndef Q_MOC_RUN
00426 Q_DECL_DEPRECATED
00427 #endif
00428 virtual QAction *actionViewSeparator2() = 0;
00429 virtual QAction *actionMapTips() = 0;
00430 virtual QAction *actionNewBookmark() = 0;
00431 virtual QAction *actionShowBookmarks() = 0;
00432 virtual QAction *actionDraw() = 0;
00433 #ifndef Q_MOC_RUN
00434 Q_DECL_DEPRECATED
00435 #endif
00436 virtual QAction *actionViewSeparator3() = 0;
00437
00439 virtual QAction *actionNewVectorLayer() = 0;
00440 virtual QAction *actionAddOgrLayer() = 0;
00441 virtual QAction *actionAddRasterLayer() = 0;
00442 virtual QAction *actionAddPgLayer() = 0;
00443 virtual QAction *actionAddWmsLayer() = 0;
00444 #ifndef Q_MOC_RUN
00445 Q_DECL_DEPRECATED
00446 #endif
00447 virtual QAction *actionLayerSeparator1() = 0;
00448 virtual QAction *actionOpenTable() = 0;
00449 virtual QAction *actionToggleEditing() = 0;
00450 virtual QAction *actionLayerSaveAs() = 0;
00451 virtual QAction *actionLayerSelectionSaveAs() = 0;
00452 virtual QAction *actionRemoveLayer() = 0;
00453 virtual QAction *actionLayerProperties() = 0;
00454 #ifndef Q_MOC_RUN
00455 Q_DECL_DEPRECATED
00456 #endif
00457 virtual QAction *actionLayerSeparator2() = 0;
00458 virtual QAction *actionAddToOverview() = 0;
00459 virtual QAction *actionAddAllToOverview() = 0;
00460 virtual QAction *actionRemoveAllFromOverview() = 0;
00461 #ifndef Q_MOC_RUN
00462 Q_DECL_DEPRECATED
00463 #endif
00464 virtual QAction *actionLayerSeparator3() = 0;
00465 virtual QAction *actionHideAllLayers() = 0;
00466 virtual QAction *actionShowAllLayers() = 0;
00467
00469 virtual QAction *actionManagePlugins() = 0;
00470 #ifndef Q_MOC_RUN
00471 Q_DECL_DEPRECATED
00472 #endif
00473 virtual QAction *actionPluginSeparator1() = 0;
00474 virtual QAction *actionPluginListSeparator() = 0;
00475 #ifndef Q_MOC_RUN
00476 Q_DECL_DEPRECATED
00477 #endif
00478 virtual QAction *actionPluginSeparator2() = 0;
00479 virtual QAction *actionPluginPythonSeparator() = 0;
00480 virtual QAction *actionShowPythonDialog() = 0;
00481
00483 virtual QAction *actionToggleFullScreen() = 0;
00484 #ifndef Q_MOC_RUN
00485 Q_DECL_DEPRECATED
00486 #endif
00487 virtual QAction *actionSettingsSeparator1() = 0;
00488 virtual QAction *actionOptions() = 0;
00489 virtual QAction *actionCustomProjection() = 0;
00490
00492 virtual QAction *actionHelpContents() = 0;
00493 #ifndef Q_MOC_RUN
00494 Q_DECL_DEPRECATED
00495 #endif
00496 virtual QAction *actionHelpSeparator1() = 0;
00497 virtual QAction *actionQgisHomePage() = 0;
00498 virtual QAction *actionCheckQgisVersion() = 0;
00499 #ifndef Q_MOC_RUN
00500 Q_DECL_DEPRECATED
00501 #endif
00502 virtual QAction *actionHelpSeparator2() = 0;
00503 virtual QAction *actionAbout() = 0;
00504
00506
00507
00508 virtual bool openFeatureForm( QgsVectorLayer *vlayer, QgsFeature &f, bool updateFeatureOnly = false ) = 0;
00509
00510 signals:
00514 void currentLayerChanged( QgsMapLayer * layer );
00518 void composerAdded( QgsComposerView* v );
00522 void composerWillBeRemoved( QgsComposerView* v );
00526 void initializationCompleted();
00535 void projectRead();
00546 void newProjectCreated();
00547
00548 };
00549
00550 #ifdef _MSC_VER
00551 # pragma warning( pop )
00552 # pragma warning( disable: 4190 )
00553 #endif
00554
00555
00556 #ifndef QGISEXTERN
00557 #ifdef WIN32
00558 # define QGISEXTERN extern "C" __declspec( dllexport )
00559 #else
00560 # define QGISEXTERN extern "C"
00561 #endif
00562 #endif
00563
00564 #endif //#ifndef QGISINTERFACE_H