23#include "moc_qgssourceselectproviderregistry.cpp"
29 qDeleteAll( mProviders );
39 mProviders.append( provider );
41 return first->ordering() < second->ordering();
49 const QString name = provider ? provider->
name() : QString();
50 const int index = mProviders.indexOf( provider );
53 delete mProviders.takeAt( index );
63 if ( !providerGuiRegistry )
66 const QStringList providersList = providerGuiRegistry->
providerList();
67 for (
const QString &key : providersList )
69 const QList<QgsSourceSelectProvider *> providerList = providerGuiRegistry->
sourceSelectProviders( key );
71 for (
auto provider : providerList )
80 const QList<QgsSourceSelectProvider *> providerList =
providers();
81 for (
const auto provider : providerList )
83 if ( provider->name() == name )
93 QList<QgsSourceSelectProvider *> result;
94 const QList<QgsSourceSelectProvider *> providerList =
providers();
95 for (
const auto provider : providerList )
97 if ( provider->providerKey() == providerKey )
A registry / canonical manager of GUI parts of data providers.
virtual QList< QgsSourceSelectProvider * > sourceSelectProviders(const QString &providerKey)
Returns all source select providers registered in provider with providerKey.
QStringList providerList() const
Returns list of available providers by their keys.
WidgetMode
Different ways a source select dialog can be used.
QgsAbstractDataSourceWidget * createSelectionWidget(const QString &name, QWidget *parent, Qt::WindowFlags fl, QgsProviderRegistry::WidgetMode widgetMode)
Gets select widget from provider with name.
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
QList< QgsSourceSelectProvider * > providersByKey(const QString &providerKey)
Returns a (possibly empty) list of providers by data providerkey.
QgsSourceSelectProviderRegistry()
void providerRemoved(const QString &name)
Emitted whenever a provider is removed from the registry.
void providerAdded(const QString &name)
Emitted whenever a provider is added to the registry.
QList< QgsSourceSelectProvider * > providers()
Gets list of available providers.
~QgsSourceSelectProviderRegistry() override
QgsSourceSelectProvider * providerByName(const QString &name)
Returns a provider by name or nullptr if not found.
void addProvider(QgsSourceSelectProvider *provider)
Add a provider implementation. Takes ownership of the object.
bool removeProvider(QgsSourceSelectProvider *provider)
Remove provider implementation from the list (provider object is deleted).
An interface for pages shown in a QgsDataSourceManagerDialog.
virtual QgsAbstractDataSourceWidget * createDataSourceWidget(QWidget *parent=nullptr, Qt::WindowFlags fl=Qt::Widget, QgsProviderRegistry::WidgetMode widgetMode=QgsProviderRegistry::WidgetMode::Embedded) const =0
Create a new instance of QgsAbstractDataSourceWidget (or nullptr).
virtual QString name() const
Source select provider name, this is useful to retrieve a particular source select in case the provid...