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




class QgsSubsetStringEditorProvider
{
%Docstring(signature="appended")
This is the interface for those who want to provide a dialog to edit a
subset string.

.. versionadded:: 3.18
%End

%TypeHeaderCode
#include "qgssubsetstringeditorprovider.h"
%End
  public:
    virtual ~QgsSubsetStringEditorProvider();

    virtual QString providerKey() const = 0;
%Docstring
Provider key
%End

    virtual QString name() const;
%Docstring
Subset string editor provider name, this is useful to retrieve
a particular subset string editor in case the provider has more
than one, it should be unique among all providers.

The default implementation returns the :py:func:`~QgsSubsetStringEditorProvider.providerKey`
%End

    virtual bool canHandleLayer( QgsVectorLayer *layer ) const = 0;
%Docstring
Returns true if the provider can handle the layer
%End

    virtual bool canHandleLayerStorageType( QgsVectorLayer *layer ) const;
%Docstring
Returns true if the provider can handle specifically the
layer->:py:func:`~QgsSubsetStringEditorProvider.provider`->:py:func:`~QgsSubsetStringEditorProvider.storageType`
This method will only be called if :py:func:`~QgsSubsetStringEditorProvider.canHandleLayer` returned true.
Typically a generic SQL provider for the OGR provider will return false,
whereas a dedicated plugin with a specific behavior for a OGR driver
will return true.
%End

    virtual QgsSubsetStringEditorInterface *createDialog( QgsVectorLayer *layer, QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags ) = 0 /Factory/;
%Docstring
Creates a new dialog to edit the subset string of the provided ``layer``.
It may return None if it cannot handle the layer.
The returned object must be destroyed by the caller.
On successful :py:func:`~QgsSubsetStringEditorProvider.accept`, the :py:class:`QgsSubsetStringEditorInterface` implementation
is responsible for setting the updated string on layer.
%End
};

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