29 qDeleteAll( mProviders );
39 mProviders.append( provider );
44 const int index = mProviders.indexOf( provider );
47 delete mProviders.takeAt( index );
56 if ( !providerGuiRegistry )
59 const QStringList providersList = providerGuiRegistry->
providerList();
60 for (
const QString &key : providersList )
64 for (
auto provider : providerList )
73 const QList<QgsSubsetStringEditorProvider *> providerList =
providers();
74 for (
const auto provider : providerList )
76 if ( provider->name() == name )
86 QList<QgsSubsetStringEditorProvider *> result;
87 const QList<QgsSubsetStringEditorProvider *> providerList =
providers();
88 for (
const auto provider : providerList )
90 if ( provider->providerKey() == providerKey )
100 const QList<QgsSubsetStringEditorProvider *> providerList =
providers();
104 for (
const auto provider : providerList )
106 if ( provider->canHandleLayer( layer ) )
108 if ( provider->canHandleLayerStorageType( layer ) )
110 return provider->createDialog( layer, parent, fl );
112 bestProviderCandidate = provider;
115 if ( bestProviderCandidate )
117 return bestProviderCandidate->
createDialog( layer, parent, fl );
A registry / canonical manager of GUI parts of data providers.
virtual QList< QgsSubsetStringEditorProvider * > subsetStringEditorProviders(const QString &providerKey)
Returns all subset string editor providers registered in provider with providerKey.
QStringList providerList() const
Returns list of available providers by their keys.
Query Builder for layers.
Interface for a dialog that can edit subset strings.
QgsSubsetStringEditorInterface * createDialog(QgsVectorLayer *layer, QWidget *parent=nullptr, Qt::WindowFlags fl=QgsGuiUtils::ModalDialogFlags)
Creates a new dialog to edit the subset string of the provided layer.
bool removeProvider(QgsSubsetStringEditorProvider *provider)
Remove provider implementation from the list (provider object is deleted).
QgsSubsetStringEditorProvider * providerByName(const QString &name)
Returns a provider by name or nullptr if not found.
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
QList< QgsSubsetStringEditorProvider * > providersByKey(const QString &providerKey)
Returns a (possibly empty) list of providers by data providerkey.
QgsSubsetStringEditorProviderRegistry()
void addProvider(QgsSubsetStringEditorProvider *provider)
Add a provider implementation. Takes ownership of the object.
~QgsSubsetStringEditorProviderRegistry()
QList< QgsSubsetStringEditorProvider * > providers()
Gets list of available providers.
An interface for widgets which edit a subset string.
virtual QgsSubsetStringEditorInterface * createDialog(QgsVectorLayer *layer, QWidget *parent=nullptr, Qt::WindowFlags fl=QgsGuiUtils::ModalDialogFlags)=0
Creates a new dialog to edit the subset string of the provided layer.
Represents a vector layer which manages a vector based dataset.