QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgsprovidersourcewidgetprovider.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsprovidersourcewidgetprovider.h
3  --------------------------------------
4  Date : December 2020
5  Copyright : (C) 2020 by Nyall Dawson
6  Email : nyall dot dawson at gmail dot com
7 ****************************************************************************/
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 
17 #ifndef QGSPROVIDERSOURCEWIDGETPROVIDER_H
18 #define QGSPROVIDERSOURCEWIDGETPROVIDER_H
19 
20 #include "qgis.h"
21 #include "qgis_gui.h"
22 #include "qgis_sip.h"
23 #include "qgsguiutils.h"
24 
25 class QWidget;
26 class QgsMapLayer;
28 
38 {
39  public:
40 
42 
44  virtual QString providerKey() const = 0;
45 
53  virtual QString name() const { return providerKey(); }
54 
56  virtual bool canHandleLayer( QgsMapLayer *layer ) const = 0;
57 
63  virtual QgsProviderSourceWidget *createWidget( QgsMapLayer *layer, QWidget *parent SIP_TRANSFERTHIS = nullptr ) = 0 SIP_FACTORY;
64 };
65 
66 #endif // QGSPROVIDERSOURCEWIDGETPROVIDER_H
Base class for all map layer types.
Definition: qgsmaplayer.h:70
An interface for providers of widgets designed to configure a data provider's source.
virtual QString providerKey() const =0
Provider key.
virtual bool canHandleLayer(QgsMapLayer *layer) const =0
Returns true if the provider can handle the specified layer.
virtual QString name() const
Source widget provider name, this is useful to retrieve a particular source widget provider in case t...
virtual QgsProviderSourceWidget * createWidget(QgsMapLayer *layer, QWidget *parent=nullptr)=0
Creates a new widget to configure the source of the specified layer.
Base class for widgets which allow customization of a provider's source URI.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_FACTORY
Definition: qgis_sip.h:76