QGIS API Documentation  3.10.0-A Coruña (6c816b4204)
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 
36 
49 class GUI_EXPORT QgsProviderGuiRegistry
50 {
51  public:
52 
54  QgsProviderGuiRegistry( const QString &pluginPath );
55 
57  virtual ~QgsProviderGuiRegistry();
58 
60  QStringList providerList() const;
61 
63  const QgsProviderGuiMetadata *providerMetadata( const QString &providerKey ) const;
64 
69  void registerGuis( QMainWindow *widget );
70 
75  virtual const QList<QgsDataItemGuiProvider *> dataItemGuiProviders( const QString &providerKey ) SIP_FACTORY;
76 
81  virtual QList<QgsSourceSelectProvider *> sourceSelectProviders( const QString &providerKey ) SIP_FACTORY;
82 
87  virtual QList<QgsProjectStorageGuiProvider *> projectStorageGuiProviders( const QString &providerKey ) SIP_FACTORY;
88 
90  SIP_SKIP typedef std::map<QString, QgsProviderGuiMetadata *> GuiProviders;
91 
92  private:
93 
99  void loadDynamicProviders( const QString &pluginPath );
100 
106  void loadStaticProviders( );
107 
109  GuiProviders mProviders;
110 };
111 
112 #endif
std::map< QString, QgsProviderGuiMetadata * > GuiProviders
Type for data provider metadata associative container.
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_FACTORY
Definition: qgis_sip.h:76
Abstract base class for providers which affect how QgsDataItem items behave within the application GU...
This is the interface for those who want to add entries to the QgsDataSourceManagerDialog.
Holds data for GUI part of the data providers.
Abstract interface for project storage GUI - to be implemented by various backends and registered in ...
A registry / canonical manager of GUI parts of data providers.