mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-08 00:05:09 -04:00
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
212 lines
6.0 KiB
Plaintext
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 *
|
|
************************************************************************/
|