QGIS/python/gui/auto_generated/qgsqueryresultwidget.sip.in
Nyall Dawson 090e9fb671 [feature] Saving/loading SQL queries from Execute SQL/Update SQL dialogs
This adds support for saving and loading SQL queries to a .sql text
file to the Execute SQL dialog and Update SQL dialogs.

Effectively, it ports this functionality from the DB Manager plugin
over to the core browser-based database connection facilities.

The UX has been designed to mimic the same functionality from
other standard parts of QGIS, eg the Processing Script Editor. Toolbar
actions are used accordingly, instead of the old text button approach
used in DB Manager.

Sponsored by City of Canning
2025-02-25 17:59:48 +10:00

212 lines
6.0 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsqueryresultwidget.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsQueryResultWidget : QWidget
{
%Docstring(signature="appended")
The :py:class:`QgsQueryResultWidget` class allows users to enter and run an SQL query on a
DB connection (an instance of :py:class:`QgsAbstractDatabaseProviderConnection`).
Query results are displayed in a table view.
Query execution and result fetching can be interrupted by pressing the "Stop" push button.
The widget supports a few QueryWidgetMode modes that pre-configure the widget appearance to
be used in different contexts like when updating the SQL of an existing query layer.
.. note::
the ownership of the connection is transferred to the widget.
.. versionadded:: 3.22
%End
%TypeHeaderCode
#include "qgsqueryresultwidget.h"
%End
public:
enum class QueryWidgetMode
{
SqlQueryMode,
QueryLayerUpdateMode,
};
QgsQueryResultWidget( QWidget *parent = 0, QgsAbstractDatabaseProviderConnection *connection /Transfer/ = 0 );
%Docstring
Creates a QgsQueryResultWidget with the given ``connection``, ownership is transferred to the widget.
%End
virtual ~QgsQueryResultWidget();
void setSqlVectorLayerOptions( const QgsAbstractDatabaseProviderConnection::SqlVectorLayerOptions &options );
%Docstring
Initializes the widget from ``options``.
%End
void setWidgetMode( QueryWidgetMode widgetMode );
%Docstring
Sets the widget mode to ``widgetMode``, default is SqlQueryMode.
%End
void setConnection( QgsAbstractDatabaseProviderConnection *connection /Transfer/ );
%Docstring
Sets the connection to ``connection``, ownership is transferred to the widget.
%End
void setQuery( const QString &sql );
%Docstring
Convenience method to set the SQL editor text to ``sql``.
%End
public slots:
void notify( const QString &title, const QString &text, Qgis::MessageLevel level = Qgis::MessageLevel::Info );
%Docstring
Displays a message with ``text`` ``title`` and ``level`` in the widget's message bar.
%End
void executeQuery();
%Docstring
Starts executing the query.
%End
void showError( const QString &title, const QString &message, bool isSqlError = false );
%Docstring
Hides the result table and shows the error ``title`` and ``message`` in the message bar or
in the SQL error panel is ``isSqlError`` is set.
%End
void tokensReady( const QStringList &tokens );
%Docstring
Triggered when the threaded API fetcher has new ``tokens`` to add.
%End
void copyResults();
%Docstring
Copies the query results to the clipboard, as a formatted table.
.. versionadded:: 3.32
%End
void copyResults( int fromRow, int toRow, int fromColumn, int toColumn );
%Docstring
Copies a range of the query results to the clipboard, as a formatted table.
.. versionadded:: 3.32
%End
signals:
void createSqlVectorLayer( const QString &providerKey, const QString &connectionUri, const QgsAbstractDatabaseProviderConnection::SqlVectorLayerOptions &options );
%Docstring
Emitted when a new vector SQL (query) layer must be created.
:param providerKey: name of the data provider
:param connectionUri: the connection URI as returned by :py:func:`QgsAbstractProviderConnection.uri()`
:param options:
%End
void firstResultBatchFetched();
%Docstring
Emitted when the first batch of results has been fetched.
.. note::
If the query returns no results this signal is not emitted.
%End
};
class QgsQueryResultDialog : QDialog
{
%Docstring(signature="appended")
A dialog which allows users to enter and run an SQL query on a
DB connection (an instance of :py:class:`QgsAbstractDatabaseProviderConnection`).
.. note::
the ownership of the connection is transferred to the dialog.
.. seealso:: :py:class:`QgsQueryResultWidget`
.. versionadded:: 3.44
%End
%TypeHeaderCode
#include "qgsqueryresultwidget.h"
%End
public:
QgsQueryResultDialog( QgsAbstractDatabaseProviderConnection *connection /Transfer/ = 0, QWidget *parent = 0 );
%Docstring
Constructor for QgsQueryResultDialog.
Ownership of the ``connection`` is transferred to the dialog.
%End
QgsQueryResultWidget *resultWidget();
%Docstring
Returns the :py:class:`QgsQueryResultWidget` shown in the dialog.
%End
virtual void closeEvent( QCloseEvent *event );
};
class QgsQueryResultMainWindow : QMainWindow
{
%Docstring(signature="appended")
A main window which allows users to enter and run an SQL query on a
DB connection (an instance of :py:class:`QgsAbstractDatabaseProviderConnection`).
.. note::
the ownership of the connection is transferred to the window.
.. seealso:: :py:class:`QgsQueryResultWidget`
.. versionadded:: 3.44
%End
%TypeHeaderCode
#include "qgsqueryresultwidget.h"
%End
public:
QgsQueryResultMainWindow( QgsAbstractDatabaseProviderConnection *connection /Transfer/ = 0, const QString &identifierName = QString() );
%Docstring
Constructor for QgsQueryResultMainWindow.
Ownership of the ``connection`` is transferred to the window.
%End
QgsQueryResultWidget *resultWidget();
%Docstring
Returns the :py:class:`QgsQueryResultWidget` shown in the window.
%End
virtual void closeEvent( QCloseEvent *event );
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsqueryresultwidget.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/