QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgsproviderguiregistry.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsproviderrguiegistry.h
3  -------------------
4  begin : June 2019
5  copyright : (C) 2019 by Peter Petrik
6  email : zilolv at google dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSPROVIDERGUIREGISTRY_H
19 #define QGSPROVIDERGUIREGISTRY_H
20 
21 #include <map>
22 
23 #include <QDir>
24 #include <QString>
25 #include <QStringList>
26 #include <QMainWindow>
27 
28 #include "qgis_gui.h"
29 #include "qgis_sip.h"
30 
39 class QgsMapLayer;
40 
53 class GUI_EXPORT QgsProviderGuiRegistry
54 {
55  public:
56 
58  QgsProviderGuiRegistry( const QString &pluginPath );
59 
61  virtual ~QgsProviderGuiRegistry();
62 
64  QStringList providerList() const;
65 
67  const QgsProviderGuiMetadata *providerMetadata( const QString &providerKey ) const;
68 
73  void registerGuis( QMainWindow *widget );
74 
79  virtual const QList<QgsDataItemGuiProvider *> dataItemGuiProviders( const QString &providerKey ) SIP_FACTORY;
80 
85  virtual QList<QgsSourceSelectProvider *> sourceSelectProviders( const QString &providerKey ) SIP_FACTORY;
86 
91  virtual QList<QgsProjectStorageGuiProvider *> projectStorageGuiProviders( const QString &providerKey ) SIP_FACTORY;
92 
98  virtual QList<QgsSubsetStringEditorProvider *> subsetStringEditorProviders( const QString &providerKey ) SIP_FACTORY;
99 
105  virtual QList<QgsProviderSourceWidgetProvider *> sourceWidgetProviders( const QString &providerKey ) SIP_FACTORY;
106 
114  virtual QList<const QgsMapLayerConfigWidgetFactory *> mapLayerConfigWidgetFactories( QgsMapLayer *layer = nullptr );
115 
117  SIP_SKIP typedef std::map<QString, QgsProviderGuiMetadata *> GuiProviders;
118 
119  private:
120 
126  void loadDynamicProviders( const QString &pluginPath );
127 
133  void loadStaticProviders( );
134 
136  GuiProviders mProviders;
137 };
138 
139 #endif
QgsDataItemGuiProvider
Abstract base class for providers which affect how QgsDataItem items behave within the application GU...
Definition: qgsdataitemguiprovider.h:85
QgsSourceSelectProvider
This is the interface for those who want to add entries to the QgsDataSourceManagerDialog.
Definition: qgssourceselectprovider.h:35
QgsProviderGuiMetadata
Holds data for GUI part of the data providers.
Definition: qgsproviderguimetadata.h:40
QgsProviderSourceWidgetProvider
An interface for providers of widgets designed to configure a data provider's source.
Definition: qgsprovidersourcewidgetprovider.h:37
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
SIP_SKIP
#define SIP_SKIP
Definition: qgis_sip.h:126
QgsProviderGuiRegistry::GuiProviders
std::map< QString, QgsProviderGuiMetadata * > GuiProviders
Type for data provider metadata associative container.
Definition: qgsproviderguiregistry.h:117
qgis_sip.h
QgsProviderGuiRegistry
A registry / canonical manager of GUI parts of data providers.
Definition: qgsproviderguiregistry.h:53
QgsProjectStorageGuiProvider
Abstract interface for project storage GUI - to be implemented by various backends and registered in ...
Definition: qgsprojectstorageguiprovider.h:31
QgsSubsetStringEditorProvider
This is the interface for those who want to provide a dialog to edit a subset string.
Definition: qgssubsetstringeditorprovider.h:37
QgsMapLayer
Base class for all map layer types. This is the base class for all map layer types (vector,...
Definition: qgsmaplayer.h:72
QgsMapLayerConfigWidgetFactory
Factory class for creating custom map layer property pages.
Definition: qgsmaplayerconfigwidgetfactory.h:34