QGIS/python/gui/auto_generated/qgsdataitemguiprovider.sip.in
Nyall Dawson fa3a08e397 Add method to handle browser item double clicks to QgsDataItemGuiProvider
And move handling of layer/project file double clicks in browser dock
from gui->app
2018-11-04 21:07:27 +10:00

118 lines
4.0 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
Encapsulates the context in which a QgsDataItem is shown within the application GUI.
.. versionadded:: 3.6
%End
%TypeHeaderCode
#include "qgsdataitemguiprovider.h"
%End
public:
QgsDataItemGuiContext();
%Docstring
Constructor for QgsDataItemGuiContext.
%End
QgsMessageBar *messageBar();
%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
};
class QgsDataItemGuiProvider
{
%Docstring
Abstract base class for providers which affect how 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 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 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
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsdataitemguiprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/