QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
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
25class QWidget;
26class 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:73
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