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




class QgsSourceSelectProvider
{
%Docstring(signature="appended")
This is the interface for those who want to add entries to the
:py:class:`QgsDataSourceManagerDialog`
%End

%TypeHeaderCode
#include "qgssourceselectprovider.h"
%End
  public:
    static const QMetaObject staticMetaObject;

  public:
    enum Ordering /BaseType=IntEnum/
    {
      OrderLocalProvider,
      OrderDatabaseProvider,
      OrderRemoteProvider,
      OrderSearchProvider,
      OrderOtherProvider,
    };

    enum class Capability /BaseType=IntFlag/
    {
      NoCapabilities,
      ConfigureFromUri
    };
    typedef QFlags<QgsSourceSelectProvider::Capability> Capabilities;


    virtual ~QgsSourceSelectProvider();

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

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

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

    virtual QString text() const = 0;
%Docstring
Text for the menu item entry, it will be visible to the user so make
sure it's translatable
%End

    virtual QString toolTip() const;
%Docstring
Text for the tooltip menu item entry, it will be visible to the user so
make sure it's translatable

The default implementation returns an empty string.
%End

    virtual QIcon icon() const = 0;
%Docstring
Creates a new instance of an QIcon for the menu item entry
%End

    virtual int ordering() const;
%Docstring
Ordering: the source select provider registry will be able to sort the
source selects (ascending) using this integer value
%End

    virtual QgsAbstractDataSourceWidget *createDataSourceWidget( QWidget *parent = 0, Qt::WindowFlags fl = Qt::Widget, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Embedded ) const = 0 /Factory/;
%Docstring
Create a new instance of :py:class:`QgsAbstractDataSourceWidget` (or
``None``). Caller takes responsibility of deleting created.
%End

    virtual Capabilities capabilities();
%Docstring
Returns the source select provider capabilities. The default
implementation returns no capabilities.

.. versionadded:: 3.38
%End
};

QFlags<QgsSourceSelectProvider::Capability> operator|(QgsSourceSelectProvider::Capability f1, QFlags<QgsSourceSelectProvider::Capability> f2);


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