/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgssubsetstringeditorproviderregistry.h                      *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/





class QgsSubsetStringEditorProviderRegistry
{
%Docstring(signature="appended")
This class keeps a list of subset string editor providers.

:py:class:`QgsSubsetStringEditorProviderRegistry` is not usually
directly created, but rather accessed through
:py:func:`QgsGui.subsetStringEditorProvideRegistry()`.

.. versionadded:: 3.18
%End

%TypeHeaderCode
#include "qgssubsetstringeditorproviderregistry.h"
%End
  public:
    QgsSubsetStringEditorProviderRegistry();
    ~QgsSubsetStringEditorProviderRegistry();


    QList<QgsSubsetStringEditorProvider *> providers();
%Docstring
Gets list of available providers
%End

    void addProvider( QgsSubsetStringEditorProvider *provider /Transfer/ );
%Docstring
Add a ``provider`` implementation. Takes ownership of the object.
%End

    bool removeProvider( QgsSubsetStringEditorProvider *provider /Transfer/ );
%Docstring
Remove ``provider`` implementation from the list (``provider`` object is
deleted)

:return: ``True`` if the provider was actually removed and deleted
%End

    void initializeFromProviderGuiRegistry( QgsProviderGuiRegistry *providerGuiRegistry );
%Docstring
Initializes the registry. The registry needs to be passed explicitly
(instead of using singleton) because this gets called from
:py:class:`QgsGui` constructor.
%End

    QgsSubsetStringEditorProvider *providerByName( const QString &name );
%Docstring
Returns a provider by ``name`` or ``None`` if not found
%End

    QList<QgsSubsetStringEditorProvider *> providersByKey( const QString &providerKey );
%Docstring
Returns a (possibly empty) list of providers by data ``providerkey``
%End

    QgsSubsetStringEditorInterface *createDialog( QgsVectorLayer *layer, QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags ) /TransferBack/;
%Docstring
Creates a new dialog to edit the subset string of the provided
``layer``. It will default to returning a :py:class:`QgsQueryBuilder` if
no provider was found. The returned object must be destroyed by the
caller.
%End

  private:
    QgsSubsetStringEditorProviderRegistry( const QgsSubsetStringEditorProviderRegistry &rh );
};

/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgssubsetstringeditorproviderregistry.h                      *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
