QGIS API Documentation 3.39.0-Master (699c004a5df)
Loading...
Searching...
No Matches
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
39class QgsMapLayer;
40
53class GUI_EXPORT QgsProviderGuiRegistry
54{
55 public:
56
58 QgsProviderGuiRegistry( const QString &pluginPath );
59
61
63 QStringList providerList() const;
64
66 const QgsProviderGuiMetadata *providerMetadata( const QString &providerKey ) const;
67
72 void registerGuis( QMainWindow *widget );
73
78 virtual const QList<QgsDataItemGuiProvider *> dataItemGuiProviders( const QString &providerKey ) SIP_FACTORY;
79
84 virtual QList<QgsSourceSelectProvider *> sourceSelectProviders( const QString &providerKey ) SIP_FACTORY;
85
90 virtual QList<QgsProjectStorageGuiProvider *> projectStorageGuiProviders( const QString &providerKey ) SIP_FACTORY;
91
97 virtual QList<QgsSubsetStringEditorProvider *> subsetStringEditorProviders( const QString &providerKey ) SIP_FACTORY;
98
104 virtual QList<QgsProviderSourceWidgetProvider *> sourceWidgetProviders( const QString &providerKey ) SIP_FACTORY;
105
113 virtual QList<const QgsMapLayerConfigWidgetFactory *> mapLayerConfigWidgetFactories( QgsMapLayer *layer = nullptr );
114
116 SIP_SKIP typedef std::map<QString, QgsProviderGuiMetadata *> GuiProviders;
117
118 private:
119
125 void loadDynamicProviders( const QString &pluginPath );
126
132 void loadStaticProviders( );
133
135 GuiProviders mProviders;
136};
137
138#endif
Abstract base class for providers which affect how QgsDataItem items behave within the application GU...
Factory class for creating custom map layer property pages.
Base class for all map layer types.
Definition qgsmaplayer.h:76
Abstract interface for project storage GUI - to be implemented by various backends and registered in ...
Holds data for GUI part of the data providers.
A registry / canonical manager of GUI parts of data providers.
std::map< QString, QgsProviderGuiMetadata * > GuiProviders
Type for data provider metadata associative container.
An interface for providers of widgets designed to configure a data provider's source.
This is the interface for those who want to add entries to the QgsDataSourceManagerDialog.
This is the interface for those who want to provide a dialog to edit a subset string.
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_FACTORY
Definition qgis_sip.h:76