18 #ifndef QGISINTERFACE_H 19 #define QGISINTERFACE_H 105 virtual void addCustomActionForLayerType( QAction *action, QString menu,
114 virtual void addCustomActionForLayer( QAction *action,
QgsMapLayer *layer ) = 0;
120 virtual bool removeCustomActionForLayerType( QAction *action ) = 0;
126 virtual QList< QgsMapCanvas * > mapCanvases() = 0;
133 virtual QgsMapCanvas *createNewMapCanvas(
const QString &name ) = 0;
140 virtual void closeMapCanvas(
const QString &name ) = 0;
146 virtual QSize
iconSize(
bool dockedToolbar =
false )
const = 0;
153 virtual QList<QgsMapLayer *> editableLayers(
bool modified =
false )
const = 0;
169 virtual QWidget *mainWindow() = 0;
178 virtual QList<QgsLayoutDesignerInterface *> openLayoutDesigners() = 0;
182 virtual QMap<QString, QVariant> defaultStyleSheetOptions() = 0;
185 virtual QFont defaultStyleSheetFont() = 0;
201 virtual QMenu *projectMenu() = 0;
206 virtual QMenu *editMenu() = 0;
211 virtual QMenu *viewMenu() = 0;
216 virtual QMenu *layerMenu() = 0;
221 virtual QMenu *newLayerMenu() = 0;
227 virtual QMenu *addLayerMenu() = 0;
232 virtual QMenu *settingsMenu() = 0;
237 virtual QMenu *pluginMenu() = 0;
247 virtual QMenu *pluginHelpMenu() = 0;
252 virtual QMenu *rasterMenu() = 0;
257 virtual QMenu *databaseMenu() = 0;
262 virtual QMenu *vectorMenu() = 0;
267 virtual QMenu *webMenu() = 0;
276 virtual QMenu *firstRightStandardMenu() = 0;
281 virtual QMenu *windowMenu() = 0;
286 virtual QMenu *helpMenu() = 0;
293 virtual QToolBar *fileToolBar() = 0;
298 virtual QToolBar *layerToolBar() = 0;
304 virtual QToolBar *dataSourceManagerToolBar() = 0;
309 virtual QToolBar *mapNavToolToolBar() = 0;
314 virtual QToolBar *digitizeToolBar() = 0;
319 virtual QToolBar *advancedDigitizeToolBar() = 0;
325 virtual QToolBar *shapeDigitizeToolBar() = 0;
330 virtual QToolBar *attributesToolBar() = 0;
335 virtual QToolBar *pluginToolBar() = 0;
340 virtual QToolBar *helpToolBar() = 0;
345 virtual QToolBar *rasterToolBar() = 0;
350 virtual QToolBar *vectorToolBar() = 0;
355 virtual QToolBar *databaseToolBar() = 0;
360 virtual QToolBar *webToolBar() = 0;
364 virtual QAction *actionNewProject() = 0;
366 virtual QAction *actionOpenProject() = 0;
368 virtual QAction *actionSaveProject() = 0;
370 virtual QAction *actionSaveProjectAs() = 0;
372 virtual QAction *actionSaveMapAsImage() = 0;
374 virtual QAction *actionProjectProperties() = 0;
377 virtual QAction *actionCreatePrintLayout() = 0;
380 virtual QAction *actionShowLayoutManager() = 0;
382 virtual QAction *actionExit() = 0;
387 virtual QAction *actionCutFeatures() = 0;
389 virtual QAction *actionCopyFeatures() = 0;
391 virtual QAction *actionPasteFeatures() = 0;
393 virtual QAction *actionAddFeature() = 0;
395 virtual QAction *actionDeleteSelected() = 0;
397 virtual QAction *actionMoveFeature() = 0;
399 virtual QAction *actionSplitFeatures() = 0;
401 virtual QAction *actionSplitParts() = 0;
403 virtual QAction *actionAddRing() = 0;
405 virtual QAction *actionAddPart() = 0;
407 virtual QAction *actionSimplifyFeature() = 0;
409 virtual QAction *actionDeleteRing() = 0;
411 virtual QAction *actionDeletePart() = 0;
417 virtual QAction *actionVertexTool() = 0;
424 virtual QAction *actionVertexToolActiveLayer() = 0;
428 virtual QAction *actionPan() = 0;
430 virtual QAction *actionPanToSelected() = 0;
432 virtual QAction *actionZoomIn() = 0;
434 virtual QAction *actionZoomOut() = 0;
436 virtual QAction *actionSelect() = 0;
438 virtual QAction *actionSelectRectangle() = 0;
440 virtual QAction *actionSelectPolygon() = 0;
442 virtual QAction *actionSelectFreehand() = 0;
444 virtual QAction *actionSelectRadius() = 0;
446 virtual QAction *actionIdentify() = 0;
448 virtual QAction *actionFeatureAction() = 0;
450 virtual QAction *actionMeasure() = 0;
452 virtual QAction *actionMeasureArea() = 0;
454 virtual QAction *actionZoomFullExtent() = 0;
456 virtual QAction *actionZoomToLayer() = 0;
458 virtual QAction *actionZoomToSelected() = 0;
460 virtual QAction *actionZoomLast() = 0;
462 virtual QAction *actionZoomNext() = 0;
464 virtual QAction *actionZoomActualSize() = 0;
466 virtual QAction *actionMapTips() = 0;
468 virtual QAction *actionNewBookmark() = 0;
470 virtual QAction *actionShowBookmarks() = 0;
472 virtual QAction *actionDraw() = 0;
475 virtual QAction *actionNewVectorLayer() = 0;
476 virtual QAction *actionAddOgrLayer() = 0;
477 virtual QAction *actionAddRasterLayer() = 0;
478 virtual QAction *actionAddPgLayer() = 0;
479 virtual QAction *actionAddWmsLayer() = 0;
481 virtual QAction *actionAddAfsLayer() = 0;
483 virtual QAction *actionAddAmsLayer() = 0;
484 virtual QAction *actionCopyLayerStyle() = 0;
485 virtual QAction *actionPasteLayerStyle() = 0;
486 virtual QAction *actionOpenTable() = 0;
487 virtual QAction *actionOpenFieldCalculator() = 0;
493 virtual QAction *actionOpenStatisticalSummary() = 0;
495 virtual QAction *actionToggleEditing() = 0;
496 virtual QAction *actionSaveActiveLayerEdits() = 0;
497 virtual QAction *actionAllEdits() = 0;
498 virtual QAction *actionSaveEdits() = 0;
499 virtual QAction *actionSaveAllEdits() = 0;
500 virtual QAction *actionRollbackEdits() = 0;
501 virtual QAction *actionRollbackAllEdits() = 0;
502 virtual QAction *actionCancelEdits() = 0;
503 virtual QAction *actionCancelAllEdits() = 0;
504 virtual QAction *actionLayerSaveAs() = 0;
505 virtual QAction *actionDuplicateLayer() = 0;
506 virtual QAction *actionLayerProperties() = 0;
507 virtual QAction *actionAddToOverview() = 0;
508 virtual QAction *actionAddAllToOverview() = 0;
509 virtual QAction *actionRemoveAllFromOverview() = 0;
510 virtual QAction *actionHideAllLayers() = 0;
511 virtual QAction *actionShowAllLayers() = 0;
512 virtual QAction *actionHideSelectedLayers() = 0;
518 virtual QAction *actionHideDeselectedLayers() = 0;
519 virtual QAction *actionShowSelectedLayers() = 0;
522 virtual QAction *actionManagePlugins() = 0;
523 virtual QAction *actionPluginListSeparator() = 0;
524 virtual QAction *actionShowPythonDialog() = 0;
527 virtual QAction *actionToggleFullScreen() = 0;
528 virtual QAction *actionOptions() = 0;
529 virtual QAction *actionCustomProjection() = 0;
532 virtual QAction *actionHelpContents() = 0;
533 virtual QAction *actionQgisHomePage() = 0;
534 virtual QAction *actionCheckQgisVersion() = 0;
535 virtual QAction *actionAbout() = 0;
547 virtual int messageTimeout() = 0;
564 virtual void takeAppScreenShots(
const QString &saveDirectory,
const int categories = 0 ) {Q_UNUSED( saveDirectory ) Q_UNUSED( categories );}
580 virtual void zoomFull() = 0;
585 virtual void zoomToPrevious() = 0;
590 virtual void zoomToNext() = 0;
595 virtual void zoomToActiveLayer() = 0;
600 virtual QgsVectorLayer *addVectorLayer(
const QString &vectorLayerPath,
const QString &baseName,
const QString &providerKey ) = 0;
605 virtual QgsRasterLayer *addRasterLayer(
const QString &rasterLayerPath,
const QString &baseName = QString() ) = 0;
610 virtual QgsRasterLayer *addRasterLayer(
const QString &url,
const QString &layerName,
const QString &providerKey ) = 0;
615 virtual QgsMeshLayer *addMeshLayer(
const QString &url,
const QString &baseName,
const QString &providerKey ) = 0;
618 virtual bool addProject(
const QString &project ) = 0;
620 virtual void newProject(
bool promptToSaveFlag =
false ) = 0;
629 virtual void reloadConnections( ) = 0;
641 virtual void copySelectionToClipboard(
QgsMapLayer * ) = 0;
647 virtual void pasteFromClipboard(
QgsMapLayer * ) = 0;
650 virtual int addToolBarIcon( QAction *qAction ) = 0;
660 virtual QAction *addToolBarWidget( QWidget *widget
SIP_TRANSFER ) = 0;
663 virtual void removeToolBarIcon( QAction *qAction ) = 0;
673 virtual QAction *addRasterToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
676 virtual int addRasterToolBarIcon( QAction *qAction ) = 0;
679 virtual void removeRasterToolBarIcon( QAction *qAction ) = 0;
682 virtual int addVectorToolBarIcon( QAction *qAction ) = 0;
692 virtual QAction *addVectorToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
695 virtual void removeVectorToolBarIcon( QAction *qAction ) = 0;
698 virtual int addDatabaseToolBarIcon( QAction *qAction ) = 0;
708 virtual QAction *addDatabaseToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
711 virtual void removeDatabaseToolBarIcon( QAction *qAction ) = 0;
714 virtual int addWebToolBarIcon( QAction *qAction ) = 0;
724 virtual QAction *addWebToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
727 virtual void removeWebToolBarIcon( QAction *qAction ) = 0;
730 virtual QToolBar *addToolBar(
const QString &name ) = 0
SIP_FACTORY;
736 virtual void addToolBar( QToolBar *toolbar SIP_TRANSFER, Qt::ToolBarArea area = Qt::TopToolBarArea ) = 0;
741 virtual void openMessageLog() = 0;
744 virtual void addUserInputWidget( QWidget *widget ) = 0;
750 virtual void showLayoutManager() = 0;
765 virtual void showOptionsDialog( QWidget *parent =
nullptr,
const QString ¤tPage = QString() ) = 0;
771 virtual void buildStyleSheet(
const QMap<QString, QVariant> &opts ) = 0;
774 virtual void saveStyleSheetOptions(
const QMap<QString, QVariant> &opts ) = 0;
777 virtual void addPluginToMenu(
const QString &name, QAction *action ) = 0;
780 virtual void removePluginMenu(
const QString &name, QAction *action ) = 0;
783 virtual void insertAddLayerAction( QAction *action ) = 0;
786 virtual void removeAddLayerAction( QAction *action ) = 0;
789 virtual void addPluginToDatabaseMenu(
const QString &name, QAction *action ) = 0;
792 virtual void removePluginDatabaseMenu(
const QString &name, QAction *action ) = 0;
795 virtual void addPluginToRasterMenu(
const QString &name, QAction *action ) = 0;
798 virtual void removePluginRasterMenu(
const QString &name, QAction *action ) = 0;
801 virtual void addPluginToVectorMenu(
const QString &name, QAction *action ) = 0;
804 virtual void removePluginVectorMenu(
const QString &name, QAction *action ) = 0;
807 virtual void addPluginToWebMenu(
const QString &name, QAction *action ) = 0;
810 virtual void removePluginWebMenu(
const QString &name, QAction *action ) = 0;
817 virtual void addDockWidget( Qt::DockWidgetArea area, QDockWidget *dockwidget ) = 0;
824 virtual void removeDockWidget( QDockWidget *dockwidget ) = 0;
827 virtual void showLayerProperties(
QgsMapLayer *l ) = 0;
830 virtual QDialog *showAttributeTable(
QgsVectorLayer *l,
const QString &filterExpression = QString() ) = 0;
836 virtual void addWindow( QAction *action ) = 0;
842 virtual void removeWindow( QAction *action ) = 0;
845 virtual bool registerMainWindowAction( QAction *action,
const QString &defaultShortcut ) = 0;
848 virtual bool unregisterMainWindowAction( QAction *action ) = 0;
936 virtual void openURL(
const QString &url,
bool useQgisDocDirectory =
true ) = 0
SIP_DEPRECATED;
946 virtual bool openFeatureForm(
QgsVectorLayer *l,
QgsFeature &f,
bool updateFeatureOnly =
false,
bool showModal =
true ) = 0;
970 virtual void preloadForm(
const QString &uifile ) = 0;
978 virtual void locatorSearch(
const QString &searchText ) = 0;
988 virtual void registerLocatorFilter(
QgsLocatorFilter *filter SIP_TRANSFER ) = 0;
1009 virtual void invalidateLocatorResults() = 0;
1039 void currentThemeChanged(
const QString &theme );
1063 void layoutDesignerClosed();
1068 void initializationCompleted();
1086 void newProjectCreated();
1092 void layerSavedAs(
QgsMapLayer *l,
const QString &path );
1097 #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 ...
The QgsLayerTreeMapCanvasBridge class takes care of updates of layer set for QgsMapCanvas from a laye...
This class provides qgis with the ability to render raster datasets onto the mapcanvas.
#define Q_NOWARN_DEPRECATED_PUSH
A bar for displaying non-blocking messages to the user.
A common interface for layout designer dialogs and widgets.
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 in QGIS layouts...
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...
#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.
A proxy widget for QStatusBar.