18 #ifndef QGISINTERFACE_H 19 #define QGISINTERFACE_H 112 virtual void addCustomActionForLayerType( QAction *action, QString menu,
121 virtual void addCustomActionForLayer( QAction *action,
QgsMapLayer *layer ) = 0;
127 virtual bool removeCustomActionForLayerType( QAction *action ) = 0;
133 virtual QList< QgsMapCanvas * > mapCanvases() = 0;
140 virtual QgsMapCanvas *createNewMapCanvas(
const QString &name ) = 0;
147 virtual void closeMapCanvas(
const QString &name ) = 0;
153 virtual QSize
iconSize(
bool dockedToolbar =
false )
const = 0;
160 virtual QList<QgsMapLayer *> editableLayers(
bool modified =
false )
const = 0;
176 virtual QWidget *mainWindow() = 0;
185 virtual QList<QgsLayoutDesignerInterface *> openLayoutDesigners() = 0;
189 virtual QMap<QString, QVariant> defaultStyleSheetOptions() = 0;
192 virtual QFont defaultStyleSheetFont() = 0;
208 virtual QMenu *projectMenu() = 0;
213 virtual QMenu *editMenu() = 0;
218 virtual QMenu *viewMenu() = 0;
223 virtual QMenu *layerMenu() = 0;
228 virtual QMenu *newLayerMenu() = 0;
234 virtual QMenu *addLayerMenu() = 0;
239 virtual QMenu *settingsMenu() = 0;
244 virtual QMenu *pluginMenu() = 0;
254 virtual QMenu *pluginHelpMenu() = 0;
259 virtual QMenu *rasterMenu() = 0;
264 virtual QMenu *databaseMenu() = 0;
269 virtual QMenu *vectorMenu() = 0;
274 virtual QMenu *webMenu() = 0;
283 virtual QMenu *firstRightStandardMenu() = 0;
288 virtual QMenu *windowMenu() = 0;
293 virtual QMenu *helpMenu() = 0;
300 virtual QToolBar *fileToolBar() = 0;
305 virtual QToolBar *layerToolBar() = 0;
311 virtual QToolBar *dataSourceManagerToolBar() = 0;
316 virtual QToolBar *mapNavToolToolBar() = 0;
321 virtual QToolBar *digitizeToolBar() = 0;
326 virtual QToolBar *advancedDigitizeToolBar() = 0;
332 virtual QToolBar *shapeDigitizeToolBar() = 0;
337 virtual QToolBar *attributesToolBar() = 0;
343 virtual QToolBar *selectionToolBar() = 0;
348 virtual QToolBar *pluginToolBar() = 0;
353 virtual QToolBar *helpToolBar() = 0;
358 virtual QToolBar *rasterToolBar() = 0;
363 virtual QToolBar *vectorToolBar() = 0;
368 virtual QToolBar *databaseToolBar() = 0;
373 virtual QToolBar *webToolBar() = 0;
377 virtual QAction *actionNewProject() = 0;
379 virtual QAction *actionOpenProject() = 0;
381 virtual QAction *actionSaveProject() = 0;
383 virtual QAction *actionSaveProjectAs() = 0;
385 virtual QAction *actionSaveMapAsImage() = 0;
387 virtual QAction *actionProjectProperties() = 0;
390 virtual QAction *actionCreatePrintLayout() = 0;
393 virtual QAction *actionShowLayoutManager() = 0;
395 virtual QAction *actionExit() = 0;
400 virtual QAction *actionCutFeatures() = 0;
402 virtual QAction *actionCopyFeatures() = 0;
404 virtual QAction *actionPasteFeatures() = 0;
406 virtual QAction *actionAddFeature() = 0;
408 virtual QAction *actionDeleteSelected() = 0;
410 virtual QAction *actionMoveFeature() = 0;
412 virtual QAction *actionSplitFeatures() = 0;
414 virtual QAction *actionSplitParts() = 0;
416 virtual QAction *actionAddRing() = 0;
418 virtual QAction *actionAddPart() = 0;
420 virtual QAction *actionSimplifyFeature() = 0;
422 virtual QAction *actionDeleteRing() = 0;
424 virtual QAction *actionDeletePart() = 0;
430 virtual QAction *actionVertexTool() = 0;
437 virtual QAction *actionVertexToolActiveLayer() = 0;
447 virtual QActionGroup *mapToolActionGroup() = 0;
451 virtual QAction *actionPan() = 0;
453 virtual QAction *actionPanToSelected() = 0;
455 virtual QAction *actionZoomIn() = 0;
457 virtual QAction *actionZoomOut() = 0;
459 virtual QAction *actionSelect() = 0;
461 virtual QAction *actionSelectRectangle() = 0;
463 virtual QAction *actionSelectPolygon() = 0;
465 virtual QAction *actionSelectFreehand() = 0;
467 virtual QAction *actionSelectRadius() = 0;
469 virtual QAction *actionIdentify() = 0;
471 virtual QAction *actionFeatureAction() = 0;
473 virtual QAction *actionMeasure() = 0;
475 virtual QAction *actionMeasureArea() = 0;
477 virtual QAction *actionZoomFullExtent() = 0;
484 Q_DECL_DEPRECATED
virtual QAction *actionZoomToLayer() = 0
SIP_DEPRECATED;
490 virtual QAction *actionZoomToLayers() = 0;
493 virtual QAction *actionZoomToSelected() = 0;
495 virtual QAction *actionZoomLast() = 0;
497 virtual QAction *actionZoomNext() = 0;
499 virtual QAction *actionZoomActualSize() = 0;
501 virtual QAction *actionMapTips() = 0;
503 virtual QAction *actionNewBookmark() = 0;
505 virtual QAction *actionShowBookmarks() = 0;
507 virtual QAction *actionDraw() = 0;
510 virtual QAction *actionNewVectorLayer() = 0;
511 virtual QAction *actionAddOgrLayer() = 0;
512 virtual QAction *actionAddRasterLayer() = 0;
513 virtual QAction *actionAddPgLayer() = 0;
514 virtual QAction *actionAddWmsLayer() = 0;
520 virtual QAction *actionAddXyzLayer() = 0;
526 virtual QAction *actionAddVectorTileLayer() = 0;
532 virtual QAction *actionAddPointCloudLayer() = 0;
535 virtual QAction *actionAddAfsLayer() = 0;
537 virtual QAction *actionAddAmsLayer() = 0;
538 virtual QAction *actionCopyLayerStyle() = 0;
539 virtual QAction *actionPasteLayerStyle() = 0;
540 virtual QAction *actionOpenTable() = 0;
541 virtual QAction *actionOpenFieldCalculator() = 0;
547 virtual QAction *actionOpenStatisticalSummary() = 0;
549 virtual QAction *actionToggleEditing() = 0;
550 virtual QAction *actionSaveActiveLayerEdits() = 0;
551 virtual QAction *actionAllEdits() = 0;
552 virtual QAction *actionSaveEdits() = 0;
553 virtual QAction *actionSaveAllEdits() = 0;
554 virtual QAction *actionRollbackEdits() = 0;
555 virtual QAction *actionRollbackAllEdits() = 0;
556 virtual QAction *actionCancelEdits() = 0;
557 virtual QAction *actionCancelAllEdits() = 0;
558 virtual QAction *actionLayerSaveAs() = 0;
559 virtual QAction *actionDuplicateLayer() = 0;
560 virtual QAction *actionLayerProperties() = 0;
561 virtual QAction *actionAddToOverview() = 0;
562 virtual QAction *actionAddAllToOverview() = 0;
563 virtual QAction *actionRemoveAllFromOverview() = 0;
564 virtual QAction *actionHideAllLayers() = 0;
565 virtual QAction *actionShowAllLayers() = 0;
566 virtual QAction *actionHideSelectedLayers() = 0;
572 virtual QAction *actionToggleSelectedLayers() = 0;
578 virtual QAction *actionToggleSelectedLayersIndependently() = 0;
584 virtual QAction *actionHideDeselectedLayers() = 0;
585 virtual QAction *actionShowSelectedLayers() = 0;
588 virtual QAction *actionManagePlugins() = 0;
589 virtual QAction *actionPluginListSeparator() = 0;
590 virtual QAction *actionShowPythonDialog() = 0;
593 virtual QAction *actionToggleFullScreen() = 0;
594 virtual QAction *actionOptions() = 0;
595 virtual QAction *actionCustomProjection() = 0;
598 virtual QAction *actionHelpContents() = 0;
599 virtual QAction *actionQgisHomePage() = 0;
600 virtual QAction *actionCheckQgisVersion() = 0;
601 virtual QAction *actionAbout() = 0;
605 virtual QAction *actionCircle2Points() = 0;
607 virtual QAction *actionCircle3Points() = 0;
609 virtual QAction *actionCircle3Tangents() = 0;
611 virtual QAction *actionCircle2TangentsPoint() = 0;
613 virtual QAction *actionCircleCenterPoint() = 0;
615 virtual QAction *actionEllipseCenter2Points() = 0;
617 virtual QAction *actionEllipseCenterPoint() = 0;
619 virtual QAction *actionEllipseExtent() = 0;
621 virtual QAction *actionEllipseFoci() = 0;
623 virtual QAction *actionRectangleCenterPoint() = 0;
625 virtual QAction *actionRectangleExtent() = 0;
627 virtual QAction *actionRectangle3PointsDistance() = 0;
629 virtual QAction *actionRectangle3PointsProjected() = 0;
631 virtual QAction *actionRegularPolygon2Points() = 0;
633 virtual QAction *actionRegularPolygonCenterPoint() = 0;
635 virtual QAction *actionRegularPolygonCenterCorner() = 0;
647 virtual int messageTimeout() = 0;
664 virtual void takeAppScreenShots(
const QString &saveDirectory,
const int categories = 0 ) {Q_UNUSED( saveDirectory ) Q_UNUSED( categories );}
680 virtual void zoomFull() = 0;
685 virtual void zoomToPrevious() = 0;
690 virtual void zoomToNext() = 0;
695 virtual void zoomToActiveLayer() = 0;
700 virtual QgsVectorLayer *addVectorLayer(
const QString &vectorLayerPath,
const QString &baseName,
const QString &providerKey ) = 0;
705 virtual QgsRasterLayer *addRasterLayer(
const QString &rasterLayerPath,
const QString &baseName = QString() ) = 0;
710 virtual QgsRasterLayer *addRasterLayer(
const QString &url,
const QString &layerName,
const QString &providerKey ) = 0;
715 virtual QgsMeshLayer *addMeshLayer(
const QString &url,
const QString &baseName,
const QString &providerKey ) = 0;
721 virtual QgsVectorTileLayer *addVectorTileLayer(
const QString &url,
const QString &baseName ) = 0;
727 virtual QgsPointCloudLayer *addPointCloudLayer(
const QString &url,
const QString &baseName,
const QString &providerKey ) = 0;
730 virtual bool addProject(
const QString &project ) = 0;
742 virtual bool newProject(
bool promptToSaveFlag =
false ) = 0;
751 virtual void reloadConnections( ) = 0;
763 virtual void copySelectionToClipboard(
QgsMapLayer * ) = 0;
769 virtual void pasteFromClipboard(
QgsMapLayer * ) = 0;
772 virtual int addToolBarIcon( QAction *qAction ) = 0;
782 virtual QAction *addToolBarWidget( QWidget *widget
SIP_TRANSFER ) = 0;
785 virtual void removeToolBarIcon( QAction *qAction ) = 0;
795 virtual QAction *addRasterToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
798 virtual int addRasterToolBarIcon( QAction *qAction ) = 0;
801 virtual void removeRasterToolBarIcon( QAction *qAction ) = 0;
804 virtual int addVectorToolBarIcon( QAction *qAction ) = 0;
814 virtual QAction *addVectorToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
817 virtual void removeVectorToolBarIcon( QAction *qAction ) = 0;
820 virtual int addDatabaseToolBarIcon( QAction *qAction ) = 0;
830 virtual QAction *addDatabaseToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
833 virtual void removeDatabaseToolBarIcon( QAction *qAction ) = 0;
836 virtual int addWebToolBarIcon( QAction *qAction ) = 0;
846 virtual QAction *addWebToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
849 virtual void removeWebToolBarIcon( QAction *qAction ) = 0;
852 virtual QToolBar *addToolBar(
const QString &name ) = 0
SIP_FACTORY;
858 virtual void addToolBar( QToolBar *toolbar SIP_TRANSFER, Qt::ToolBarArea area = Qt::TopToolBarArea ) = 0;
863 virtual void openMessageLog() = 0;
866 virtual void addUserInputWidget( QWidget *widget ) = 0;
872 virtual void showLayoutManager() = 0;
887 virtual void showOptionsDialog( QWidget *parent =
nullptr,
const QString ¤tPage = QString() ) = 0;
894 virtual void showProjectPropertiesDialog(
const QString ¤tPage = QString() ) = 0;
900 virtual void buildStyleSheet(
const QMap<QString, QVariant> &opts ) = 0;
903 virtual void saveStyleSheetOptions(
const QMap<QString, QVariant> &opts ) = 0;
906 virtual void addPluginToMenu(
const QString &name, QAction *action ) = 0;
909 virtual void removePluginMenu(
const QString &name, QAction *action ) = 0;
912 virtual void insertAddLayerAction( QAction *action ) = 0;
915 virtual void removeAddLayerAction( QAction *action ) = 0;
918 virtual void addPluginToDatabaseMenu(
const QString &name, QAction *action ) = 0;
921 virtual void removePluginDatabaseMenu(
const QString &name, QAction *action ) = 0;
924 virtual void addPluginToRasterMenu(
const QString &name, QAction *action ) = 0;
927 virtual void removePluginRasterMenu(
const QString &name, QAction *action ) = 0;
930 virtual void addPluginToVectorMenu(
const QString &name, QAction *action ) = 0;
933 virtual void removePluginVectorMenu(
const QString &name, QAction *action ) = 0;
936 virtual void addPluginToWebMenu(
const QString &name, QAction *action ) = 0;
939 virtual void removePluginWebMenu(
const QString &name, QAction *action ) = 0;
947 virtual void addDockWidget( Qt::DockWidgetArea area, QDockWidget *dockwidget ) = 0;
963 virtual void addTabifiedDockWidget( Qt::DockWidgetArea area, QDockWidget *dockwidget,
const QStringList &tabifyWith = QStringList(),
bool raiseTab =
false ) = 0;
970 virtual void removeDockWidget( QDockWidget *dockwidget ) = 0;
973 virtual void showLayerProperties(
QgsMapLayer *l ) = 0;
976 virtual QDialog *showAttributeTable(
QgsVectorLayer *l,
const QString &filterExpression = QString() ) = 0;
982 virtual void addWindow( QAction *action ) = 0;
988 virtual void removeWindow( QAction *action ) = 0;
991 virtual bool registerMainWindowAction( QAction *action,
const QString &defaultShortcut ) = 0;
994 virtual bool unregisterMainWindowAction( QAction *action ) = 0;
1174 virtual void openURL(
const QString &url,
bool useQgisDocDirectory =
true ) = 0
SIP_DEPRECATED;
1184 virtual bool openFeatureForm(
QgsVectorLayer *l,
QgsFeature &f,
bool updateFeatureOnly =
false,
bool showModal =
true ) = 0;
1208 virtual void preloadForm(
const QString &uifile ) = 0;
1216 virtual void locatorSearch(
const QString &searchText ) = 0;
1226 virtual void registerLocatorFilter(
QgsLocatorFilter *filter SIP_TRANSFER ) = 0;
1247 virtual void invalidateLocatorResults() = 0;
1287 void currentThemeChanged(
const QString &theme );
1311 void layoutDesignerClosed();
1316 void initializationCompleted();
1334 void newProjectCreated();
1340 void layerSavedAs(
QgsMapLayer *l,
const QString &path );
1345 #endif //#ifndef QGISINTERFACE_H
Layer tree group node serves as a container for layers and further groups.
Base class for all map layer types.
The QgsLayerTreeView class extends QTreeView and provides some additional functionality when working ...
Implements a map layer that is dedicated to rendering of vector tiles.
The QgsLayerTreeMapCanvasBridge class takes care of updates of layer set for QgsMapCanvas from a laye...
Represents a raster layer.
An interface that may be implemented to allow plugins or scripts to temporarily block the QGIS applic...
#define Q_NOWARN_DEPRECATED_PUSH
A bar for displaying non-blocking messages to the user.
A common interface for layout designer dialogs and widgets.
Abstract base class that may be implemented to handle new project file types within the QGIS applicat...
A model for showing available data sources and other items in a structured tree.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Abstract base class that may be implemented to handle new types of data to be dropped or pasted in QG...
Map canvas is a class for displaying all GIS data types on a canvas.
Abstract base class that may be implemented to handle new types of data to be dropped in QGIS...
Abstract base class for filters which collect locator results.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
QSize iconSize(bool dockableToolbar)
Returns the user-preferred size of a window's toolbar icons.
QgisInterface Abstract base class defining interfaces exposed by QgisApp and made available to plugin...
Represents a map layer supporting display of point clouds.
#define Q_NOWARN_DEPRECATED_POP
This class represents a coordinate reference system (CRS).
Represents a mesh layer supporting display of data on structured or unstructured meshes.
QgsMapLayerType
Types of layers that can be added to a map.
A structure to define the insertion point to the layer tree.
Interface for master layout type objects, such as print layouts and reports.
Represents a vector layer which manages a vector based data sets.
virtual void takeAppScreenShots(const QString &saveDirectory, const int categories=0)
Take screenshots for user documentation.
Abstract base class for connection to a GPS device.
A proxy widget for QStatusBar.