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





class QgsNewDatabaseTableNameWidget : QgsPanelWidget
{
%Docstring(signature="appended")
The :py:class:`QgsNewDatabaseTableNameWidget` class embeds the browser
view to select a DB schema and a new table name.

The table name is validated for uniqueness and the selected data item
provider, schema and table names can be retrieved with getters.

.. warning::

   The data provider that originated the data item provider
   must support the connections API

.. versionadded:: 3.14
%End

%TypeHeaderCode
#include "qgsnewdatabasetablenamewidget.h"
%End
  public:
    explicit QgsNewDatabaseTableNameWidget( QgsBrowserGuiModel *browserModel = 0, const QStringList &providersFilter = QStringList(), QWidget *parent = 0 );
%Docstring
Constructs a new QgsNewDatabaseTableNameWidget

:param browserModel: an existing browser model (typically from app), if
                     ``None`` an instance will be created
:param providersFilter: optional white list of data provider keys that
                        should be shown in the widget, if not specified
                        all providers data items with database
                        capabilities will be shown
:param parent: optional parent for this widget
%End

    void setAcceptButtonVisible( bool visible );
%Docstring
Sets whether the optional "Ok"/accept button should be visible.

By default this is hidden, to better allow the widget to be embedded
inside other widgets and dialogs.
%End

    QString schema() const;
%Docstring
Returns the currently selected schema or file path (in case of
filesystem-based DBs like spatialite or GPKG) for the new table
%End

    QString uri() const;
%Docstring
Returns the (possibly blank) string representation of the new table data
source URI. The URI might be invalid in case the widget is not in a
valid state.
%End

    QString table() const;
%Docstring
Returns the current name of the new table
%End

    QString dataProviderKey() const;
%Docstring
Returns the currently selected data item provider key
%End

    bool isValid() const;
%Docstring
Returns ``True`` if the widget contains a valid new table name
%End

    QString validationError() const;
%Docstring
Returns the validation error or an empty string is the widget status is
valid
%End

    virtual void showEvent( QShowEvent *e );

%Docstring
Scroll to last selected index and expand it's children
%End

  signals:

    void validationChanged( bool isValid );
%Docstring
This signal is emitted whenever the validation status of the widget
changes.

:param isValid: ``True`` if the current status of the widget is valid
%End

    void schemaNameChanged( const QString &schemaName );
%Docstring
This signal is emitted when the user selects a schema (or file path for
filesystem-based DBs like spatialite or GPKG).

:param schemaName: the name of the selected schema
%End

    void tableNameChanged( const QString &tableName );
%Docstring
This signal is emitted when the user enters a table name

:param tableName: the name of the new table
%End

    void providerKeyChanged( const QString &providerKey );
%Docstring
This signal is emitted when the selects a data provider or a schema name
that has a different data provider than the previously selected one.

:param providerKey: the data provider key of the selected schema
%End

    void uriChanged( const QString &uri );
%Docstring
This signal is emitted when the URI of the new table changes, whether or
not it is a valid one.

:param uri: URI string representation
%End

    void accepted();
%Docstring
Emitted when the OK/accept button is clicked.
%End

};


class QgsNewDatabaseTableNameDialog : QDialog
{
%Docstring(signature="appended")
:py:class:`QgsNewDatabaseTableNameDialog` is a dialog which allows
selection of a DB schema and a new table name.

The table name is validated for uniqueness and the selected data item
provider, schema and table names can be retrieved with getters.

.. warning::

   The data provider that originated the data item provider
   must support the connections API

.. versionadded:: 3.14
%End

%TypeHeaderCode
#include "qgsnewdatabasetablenamewidget.h"
%End
  public:
    explicit QgsNewDatabaseTableNameDialog( QgsBrowserGuiModel *browserModel = 0, const QStringList &providersFilter = QStringList(), QWidget *parent = 0 );
%Docstring
Constructs a new QgsNewDatabaseTableNameDialog

:param browserModel: an existing browser model (typically from app), if
                     ``None`` an instance will be created
:param providersFilter: optional white list of data provider keys that
                        should be shown in the widget, if not specified
                        all providers data items with database
                        capabilities will be shown
:param parent: optional parent for this widget
%End

    QString schema() const;
%Docstring
Returns the currently selected schema or file path (in case of
filesystem-based DBs like spatialite or GPKG) for the new table
%End

    QString uri() const;
%Docstring
Returns the (possibly blank) string representation of the new table data
source URI. The URI might be invalid in case the widget is not in a
valid state.
%End

    QString table() const;
%Docstring
Returns the current name of the new table
%End

    QString dataProviderKey() const;
%Docstring
Returns the currently selected data item provider key
%End

    bool isValid() const;
%Docstring
Returns ``True`` if the widget contains a valid new table name
%End

    QString validationError() const;
%Docstring
Returns the validation error or an empty string is the widget status is
valid
%End

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