18 #ifndef QGISINTERFACE_H 19 #define QGISINTERFACE_H 31 class QgsLayoutCustomDropHandler;
37 class QgsLayoutDesignerInterface;
100 virtual void addCustomActionForLayerType( QAction *action, QString menu,
109 virtual void addCustomActionForLayer( QAction *action,
QgsMapLayer *layer ) = 0;
115 virtual bool removeCustomActionForLayerType( QAction *action ) = 0;
121 virtual QList< QgsMapCanvas * > mapCanvases() = 0;
128 virtual QgsMapCanvas *createNewMapCanvas(
const QString &name ) = 0;
135 virtual void closeMapCanvas(
const QString &name ) = 0;
141 virtual QSize iconSize(
bool dockedToolbar =
false )
const = 0;
147 virtual QList<QgsMapLayer *> editableLayers(
bool modified =
false )
const = 0;
163 virtual QWidget *mainWindow() = 0;
172 virtual QList<QgsLayoutDesignerInterface *> openLayoutDesigners() = 0;
176 virtual QMap<QString, QVariant> defaultStyleSheetOptions() = 0;
179 virtual QFont defaultStyleSheetFont() = 0;
195 virtual QMenu *projectMenu() = 0;
200 virtual QMenu *editMenu() = 0;
205 virtual QMenu *viewMenu() = 0;
210 virtual QMenu *layerMenu() = 0;
215 virtual QMenu *newLayerMenu() = 0;
221 virtual QMenu *addLayerMenu() = 0;
226 virtual QMenu *settingsMenu() = 0;
231 virtual QMenu *pluginMenu() = 0;
236 virtual QMenu *rasterMenu() = 0;
241 virtual QMenu *databaseMenu() = 0;
246 virtual QMenu *vectorMenu() = 0;
251 virtual QMenu *webMenu() = 0;
260 virtual QMenu *firstRightStandardMenu() = 0;
265 virtual QMenu *windowMenu() = 0;
270 virtual QMenu *helpMenu() = 0;
277 virtual QToolBar *fileToolBar() = 0;
282 virtual QToolBar *layerToolBar() = 0;
287 virtual QToolBar *mapNavToolToolBar() = 0;
292 virtual QToolBar *digitizeToolBar() = 0;
297 virtual QToolBar *advancedDigitizeToolBar() = 0;
303 virtual QToolBar *shapeDigitizeToolBar() = 0;
308 virtual QToolBar *attributesToolBar() = 0;
313 virtual QToolBar *pluginToolBar() = 0;
318 virtual QToolBar *helpToolBar() = 0;
323 virtual QToolBar *rasterToolBar() = 0;
328 virtual QToolBar *vectorToolBar() = 0;
333 virtual QToolBar *databaseToolBar() = 0;
338 virtual QToolBar *webToolBar() = 0;
342 virtual QAction *actionNewProject() = 0;
344 virtual QAction *actionOpenProject() = 0;
346 virtual QAction *actionSaveProject() = 0;
348 virtual QAction *actionSaveProjectAs() = 0;
350 virtual QAction *actionSaveMapAsImage() = 0;
352 virtual QAction *actionProjectProperties() = 0;
355 virtual QAction *actionCreatePrintLayout() = 0;
358 virtual QAction *actionShowLayoutManager() = 0;
360 virtual QAction *actionExit() = 0;
365 virtual QAction *actionCutFeatures() = 0;
367 virtual QAction *actionCopyFeatures() = 0;
369 virtual QAction *actionPasteFeatures() = 0;
371 virtual QAction *actionAddFeature() = 0;
373 virtual QAction *actionDeleteSelected() = 0;
375 virtual QAction *actionMoveFeature() = 0;
377 virtual QAction *actionSplitFeatures() = 0;
379 virtual QAction *actionSplitParts() = 0;
381 virtual QAction *actionAddRing() = 0;
383 virtual QAction *actionAddPart() = 0;
385 virtual QAction *actionSimplifyFeature() = 0;
387 virtual QAction *actionDeleteRing() = 0;
389 virtual QAction *actionDeletePart() = 0;
391 virtual QAction *actionVertexTool() = 0;
395 virtual QAction *actionPan() = 0;
397 virtual QAction *actionPanToSelected() = 0;
399 virtual QAction *actionZoomIn() = 0;
401 virtual QAction *actionZoomOut() = 0;
403 virtual QAction *actionSelect() = 0;
405 virtual QAction *actionSelectRectangle() = 0;
407 virtual QAction *actionSelectPolygon() = 0;
409 virtual QAction *actionSelectFreehand() = 0;
411 virtual QAction *actionSelectRadius() = 0;
413 virtual QAction *actionIdentify() = 0;
415 virtual QAction *actionFeatureAction() = 0;
417 virtual QAction *actionMeasure() = 0;
419 virtual QAction *actionMeasureArea() = 0;
421 virtual QAction *actionZoomFullExtent() = 0;
423 virtual QAction *actionZoomToLayer() = 0;
425 virtual QAction *actionZoomToSelected() = 0;
427 virtual QAction *actionZoomLast() = 0;
429 virtual QAction *actionZoomNext() = 0;
431 virtual QAction *actionZoomActualSize() = 0;
433 virtual QAction *actionMapTips() = 0;
435 virtual QAction *actionNewBookmark() = 0;
437 virtual QAction *actionShowBookmarks() = 0;
439 virtual QAction *actionDraw() = 0;
442 virtual QAction *actionNewVectorLayer() = 0;
443 virtual QAction *actionAddOgrLayer() = 0;
444 virtual QAction *actionAddRasterLayer() = 0;
445 virtual QAction *actionAddPgLayer() = 0;
446 virtual QAction *actionAddWmsLayer() = 0;
448 virtual QAction *actionAddAfsLayer() = 0;
450 virtual QAction *actionAddAmsLayer() = 0;
451 virtual QAction *actionCopyLayerStyle() = 0;
452 virtual QAction *actionPasteLayerStyle() = 0;
453 virtual QAction *actionOpenTable() = 0;
454 virtual QAction *actionOpenFieldCalculator() = 0;
460 virtual QAction *actionOpenStatisticalSummary() = 0;
462 virtual QAction *actionToggleEditing() = 0;
463 virtual QAction *actionSaveActiveLayerEdits() = 0;
464 virtual QAction *actionAllEdits() = 0;
465 virtual QAction *actionSaveEdits() = 0;
466 virtual QAction *actionSaveAllEdits() = 0;
467 virtual QAction *actionRollbackEdits() = 0;
468 virtual QAction *actionRollbackAllEdits() = 0;
469 virtual QAction *actionCancelEdits() = 0;
470 virtual QAction *actionCancelAllEdits() = 0;
471 virtual QAction *actionLayerSaveAs() = 0;
472 virtual QAction *actionDuplicateLayer() = 0;
473 virtual QAction *actionLayerProperties() = 0;
474 virtual QAction *actionAddToOverview() = 0;
475 virtual QAction *actionAddAllToOverview() = 0;
476 virtual QAction *actionRemoveAllFromOverview() = 0;
477 virtual QAction *actionHideAllLayers() = 0;
478 virtual QAction *actionShowAllLayers() = 0;
479 virtual QAction *actionHideSelectedLayers() = 0;
485 virtual QAction *actionHideDeselectedLayers() = 0;
486 virtual QAction *actionShowSelectedLayers() = 0;
489 virtual QAction *actionManagePlugins() = 0;
490 virtual QAction *actionPluginListSeparator() = 0;
491 virtual QAction *actionShowPythonDialog() = 0;
494 virtual QAction *actionToggleFullScreen() = 0;
495 virtual QAction *actionOptions() = 0;
496 virtual QAction *actionCustomProjection() = 0;
499 virtual QAction *actionHelpContents() = 0;
500 virtual QAction *actionQgisHomePage() = 0;
501 virtual QAction *actionCheckQgisVersion() = 0;
502 virtual QAction *actionAbout() = 0;
514 virtual int messageTimeout() = 0;
529 virtual void zoomFull() = 0;
532 virtual void zoomToPrevious() = 0;
535 virtual void zoomToNext() = 0;
538 virtual void zoomToActiveLayer() = 0;
541 virtual QgsVectorLayer *addVectorLayer(
const QString &vectorLayerPath,
const QString &baseName,
const QString &providerKey ) = 0;
544 virtual QgsRasterLayer *addRasterLayer(
const QString &rasterLayerPath,
const QString &baseName = QString() ) = 0;
547 virtual QgsRasterLayer *addRasterLayer(
const QString &url,
const QString &layerName,
const QString &providerKey ) = 0;
550 virtual bool addProject(
const QString &project ) = 0;
552 virtual void newProject(
bool promptToSaveFlag =
false ) = 0;
561 virtual void reloadConnections( ) = 0;
573 virtual void copySelectionToClipboard(
QgsMapLayer * ) = 0;
579 virtual void pasteFromClipboard(
QgsMapLayer * ) = 0;
582 virtual int addToolBarIcon( QAction *qAction ) = 0;
592 virtual QAction *addToolBarWidget( QWidget *widget
SIP_TRANSFER ) = 0;
595 virtual void removeToolBarIcon( QAction *qAction ) = 0;
605 virtual QAction *addRasterToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
608 virtual int addRasterToolBarIcon( QAction *qAction ) = 0;
611 virtual void removeRasterToolBarIcon( QAction *qAction ) = 0;
614 virtual int addVectorToolBarIcon( QAction *qAction ) = 0;
624 virtual QAction *addVectorToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
627 virtual void removeVectorToolBarIcon( QAction *qAction ) = 0;
630 virtual int addDatabaseToolBarIcon( QAction *qAction ) = 0;
640 virtual QAction *addDatabaseToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
643 virtual void removeDatabaseToolBarIcon( QAction *qAction ) = 0;
646 virtual int addWebToolBarIcon( QAction *qAction ) = 0;
656 virtual QAction *addWebToolBarWidget( QWidget *widget SIP_TRANSFER ) = 0;
659 virtual void removeWebToolBarIcon( QAction *qAction ) = 0;
662 virtual QToolBar *addToolBar(
const QString &name ) = 0
SIP_FACTORY;
668 virtual void addToolBar( QToolBar *toolbar SIP_TRANSFER, Qt::ToolBarArea area = Qt::TopToolBarArea ) = 0;
671 virtual void openMessageLog() = 0;
674 virtual void addUserInputWidget( QWidget *widget ) = 0;
680 virtual void showLayoutManager() = 0;
695 virtual void showOptionsDialog( QWidget *parent =
nullptr,
const QString ¤tPage = QString() ) = 0;
701 virtual void buildStyleSheet(
const QMap<QString, QVariant> &opts ) = 0;
704 virtual void saveStyleSheetOptions(
const QMap<QString, QVariant> &opts ) = 0;
707 virtual void addPluginToMenu(
const QString &name, QAction *action ) = 0;
710 virtual void removePluginMenu(
const QString &name, QAction *action ) = 0;
713 virtual void insertAddLayerAction( QAction *action ) = 0;
716 virtual void removeAddLayerAction( QAction *action ) = 0;
719 virtual void addPluginToDatabaseMenu(
const QString &name, QAction *action ) = 0;
722 virtual void removePluginDatabaseMenu(
const QString &name, QAction *action ) = 0;
725 virtual void addPluginToRasterMenu(
const QString &name, QAction *action ) = 0;
728 virtual void removePluginRasterMenu(
const QString &name, QAction *action ) = 0;
731 virtual void addPluginToVectorMenu(
const QString &name, QAction *action ) = 0;
734 virtual void removePluginVectorMenu(
const QString &name, QAction *action ) = 0;
737 virtual void addPluginToWebMenu(
const QString &name, QAction *action ) = 0;
740 virtual void removePluginWebMenu(
const QString &name, QAction *action ) = 0;
743 virtual void addDockWidget( Qt::DockWidgetArea area, QDockWidget *dockwidget ) = 0;
746 virtual void removeDockWidget( QDockWidget *dockwidget ) = 0;
749 virtual void showLayerProperties(
QgsMapLayer *l ) = 0;
752 virtual QDialog *showAttributeTable(
QgsVectorLayer *l,
const QString &filterExpression = QString() ) = 0;
757 virtual void addWindow( QAction *action ) = 0;
762 virtual void removeWindow( QAction *action ) = 0;
765 virtual bool registerMainWindowAction( QAction *action,
const QString &defaultShortcut ) = 0;
768 virtual bool unregisterMainWindowAction( QAction *action ) = 0;
825 virtual void registerCustomLayoutDropHandler( QgsLayoutCustomDropHandler *handler ) = 0;
832 virtual void unregisterCustomLayoutDropHandler( QgsLayoutCustomDropHandler *handler ) = 0;
848 virtual void openURL(
const QString &url,
bool useQgisDocDirectory =
true ) = 0
SIP_DEPRECATED;
857 virtual bool openFeatureForm(
QgsVectorLayer *l,
QgsFeature &f,
bool updateFeatureOnly =
false,
bool showModal =
true ) = 0;
881 virtual void preloadForm(
const QString &uifile ) = 0;
891 virtual void registerLocatorFilter(
QgsLocatorFilter *filter SIP_TRANSFER ) = 0;
912 virtual void invalidateLocatorResults() = 0;
935 void currentThemeChanged(
const QString &theme );
942 void layoutDesignerOpened( QgsLayoutDesignerInterface *designer );
951 void layoutDesignerWillBeClosed( QgsLayoutDesignerInterface *designer );
959 void layoutDesignerClosed();
964 void initializationCompleted();
984 void newProjectCreated();
991 void layerSavedAs(
QgsMapLayer *l,
const QString &path );
996 #endif //#ifndef QGISINTERFACE_H
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.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
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...
LayerType
Types of layers that can be added to a map.
Abstract base class for filters which collect locator results.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
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).
This class has all the configuration of snapping and can return answers to snapping queries...
Interface for master layout type objects, such as print layouts and reports.
Represents a vector layer which manages a vector based data sets.
A proxy widget for QStatusBar.