mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			210 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/gui/qgsdataitemguiprovider.h                                     *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsDataItemGuiContext
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
 | 
						|
Encapsulates the context in which a :py:class:`QgsDataItem` is shown within the application GUI.
 | 
						|
 | 
						|
.. versionadded:: 3.6
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsdataitemguiprovider.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    QgsDataItemGuiContext();
 | 
						|
 | 
						|
    QgsMessageBar *messageBar() const;
 | 
						|
%Docstring
 | 
						|
Returns the associated message bar.
 | 
						|
 | 
						|
This bar can be used to provide non-blocking feedback to users.
 | 
						|
 | 
						|
.. seealso:: :py:func:`setMessageBar`
 | 
						|
%End
 | 
						|
 | 
						|
    void setMessageBar( QgsMessageBar *bar );
 | 
						|
%Docstring
 | 
						|
Sets the associated message ``bar``.
 | 
						|
 | 
						|
This bar can be used to provide non-blocking feedback to users.
 | 
						|
 | 
						|
.. seealso:: :py:func:`messageBar`
 | 
						|
%End
 | 
						|
 | 
						|
    QgsBrowserTreeView *view() const;
 | 
						|
%Docstring
 | 
						|
Returns the associated view.
 | 
						|
 | 
						|
.. seealso:: :py:func:`setView`
 | 
						|
 | 
						|
.. versionadded:: 3.28
 | 
						|
%End
 | 
						|
 | 
						|
    void setView( QgsBrowserTreeView *view );
 | 
						|
%Docstring
 | 
						|
Sets the associated ``view``.
 | 
						|
 | 
						|
.. seealso:: :py:func:`view`
 | 
						|
 | 
						|
.. versionadded:: 3.28
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
class QgsDataItemGuiProvider
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
 | 
						|
Abstract base class for providers which affect how :py:class:`QgsDataItem` items behave
 | 
						|
within the application GUI.
 | 
						|
 | 
						|
Providers must be registered via :py:class:`QgsDataItemGuiProviderRegistry`.
 | 
						|
 | 
						|
.. versionadded:: 3.6
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsdataitemguiprovider.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    virtual ~QgsDataItemGuiProvider();
 | 
						|
 | 
						|
    virtual QString name() = 0;
 | 
						|
%Docstring
 | 
						|
Returns the provider's name.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void populateContextMenu( QgsDataItem *item, QMenu *menu,
 | 
						|
                                      const QList<QgsDataItem *> &selectedItems, QgsDataItemGuiContext context );
 | 
						|
%Docstring
 | 
						|
Called when the given context ``menu`` is being populated for the given ``item``, allowing the provider
 | 
						|
to add its own actions and submenus to the context menu. Additionally,
 | 
						|
providers could potentially alter menus and actions added by other providers
 | 
						|
if desired, or use standard QMenu API to insert their items and submenus into
 | 
						|
the desired location within the context menu.
 | 
						|
 | 
						|
The ``selectedItems`` list contains a list of ALL currently selected items within the browser view.
 | 
						|
Subclasses can utilize this list in order to create actions which operate on multiple items
 | 
						|
at once, e.g. to allow deletion of multiple layers from a database at once.
 | 
						|
 | 
						|
When creating a context menu, this method is called for EVERY QgsDataItemGuiProvider
 | 
						|
within the :py:class:`QgsDataItemGuiProviderRegistry`. It is the QgsDataItemGuiProvider subclass'
 | 
						|
responsibility to test the ``item`` and ``selectedItems`` for their properties and classes and decide what actions
 | 
						|
(if any) are appropriate to add to the context ``menu``.
 | 
						|
 | 
						|
Care must be taken to correctly parent newly created sub menus and actions to the
 | 
						|
provided ``menu`` to avoid memory leaks.
 | 
						|
 | 
						|
The ``context`` argument gives the wider context under which the context menu is being shown,
 | 
						|
and contains accessors for useful objects like the application message bar.
 | 
						|
 | 
						|
The base class method has no effect.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual int precedenceWhenPopulatingMenus() const;
 | 
						|
%Docstring
 | 
						|
Returns the provider's precedence to use when populating context menus via calls to :py:func:`~QgsDataItemGuiProvider.populateContextMenu`.
 | 
						|
 | 
						|
Providers which return larger values will be called AFTER other providers when the menu is being populated.
 | 
						|
This allows them to nicely insert their corresponding menu items in the desired location with respect to
 | 
						|
existing items added by other providers.
 | 
						|
 | 
						|
The default implementation returns 0.
 | 
						|
 | 
						|
.. versionadded:: 3.22
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool rename( QgsDataItem *item, const QString &name, QgsDataItemGuiContext context );
 | 
						|
%Docstring
 | 
						|
Sets a new ``name`` for the item, and returns ``True`` if the item was successfully renamed.
 | 
						|
 | 
						|
Items which implement this method should return the :py:class:`QgsDataItem`.Rename capability.
 | 
						|
 | 
						|
The default implementation does nothing.
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool deleteLayer( QgsLayerItem *item, QgsDataItemGuiContext context );
 | 
						|
%Docstring
 | 
						|
Tries to permanently delete map layer representing the given item.
 | 
						|
Returns ``True`` if the layer was successfully deleted.
 | 
						|
 | 
						|
Items which implement this method should return the :py:class:`QgsDataItem`.Delete capability.
 | 
						|
 | 
						|
The default implementation does nothing.
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool handleDoubleClick( QgsDataItem *item, QgsDataItemGuiContext context );
 | 
						|
%Docstring
 | 
						|
Called when a user double clicks on an ``item``. Providers should return ``True``
 | 
						|
if the double-click was handled and do not want other providers to handle the
 | 
						|
double-click, and to prevent the default double-click behavior for items.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool acceptDrop( QgsDataItem *item, QgsDataItemGuiContext context );
 | 
						|
%Docstring
 | 
						|
Providers should return ``True`` if the drops are allowed (:py:func:`~QgsDataItemGuiProvider.handleDrop` should be
 | 
						|
implemented in that case as well).
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool handleDrop( QgsDataItem *item, QgsDataItemGuiContext context, const QMimeData *data, Qt::DropAction action );
 | 
						|
%Docstring
 | 
						|
Called when a user drops on an ``item``. Providers should return ``True``
 | 
						|
if the drop was handled and do not want other providers to handle the
 | 
						|
drop, and to prevent the default drop behavior for items.
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QWidget *createParamWidget( QgsDataItem *item, QgsDataItemGuiContext context ) /Factory/;
 | 
						|
%Docstring
 | 
						|
Creates source widget from data item for :py:class:`QgsBrowserPropertiesWidget`
 | 
						|
By default it returns None.
 | 
						|
Caller takes responsibility of deleting created.
 | 
						|
 | 
						|
The function is replacement of :py:func:`QgsDataItem.paramWidget()`
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    static void notify( const QString &title, const QString &message, QgsDataItemGuiContext context, Qgis::MessageLevel level = Qgis::MessageLevel::Info, int duration = -1, QWidget *parent = 0 );
 | 
						|
%Docstring
 | 
						|
Notify the user showing a ``message`` with ``title`` and ``level``
 | 
						|
If the context has a message bar the message will be shown in the message bar
 | 
						|
else a message dialog will be used.
 | 
						|
 | 
						|
Since QGIS 3.18, the optional ``duration`` argument can be used to specify the message timeout in seconds. If ``duration``
 | 
						|
is set to 0, then the message must be manually dismissed by the user. A duration of -1 indicates that
 | 
						|
the default timeout for the message ``level`` should be used.
 | 
						|
 | 
						|
.. versionadded:: 3.16
 | 
						|
%End
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/gui/qgsdataitemguiprovider.h                                     *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |