QGIS API Documentation 3.34.0-Prizren (ffbdd678812)
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
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
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:74
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