mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			177 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/gui/qgscustomdrophandler.h                                       *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsCustomDropHandler : QObject
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
Abstract base class that may be implemented to handle new types of data to be dropped in QGIS.
 | 
						|
 | 
						|
Implementations have three approaches they can use to handle drops.
 | 
						|
 | 
						|
- The simplest approach is to implement :py:func:`~handleFileDrop` when they need to handle
 | 
						|
  dropped files (i.e. with mime type "text/uri-list").
 | 
						|
- Reimplement :py:func:`~handleCustomUriDrop` when they want to handle dropped custom
 | 
						|
  :py:class:`QgsMimeDataUtils`.Uri entries, for instance handling dropping custom entries
 | 
						|
  from the browser tree (with mime type "application/x-vnd.qgis.qgis.uri"). In
 | 
						|
  this case the implementation's :py:func:`~customUriProviderKey` must match the uri
 | 
						|
  entry's providerKey.
 | 
						|
- Reimplement :py:func:`~handleMimeData` to directly handle dropped QMimeData.
 | 
						|
  Subclasses should take care when overriding this method. When a drop event
 | 
						|
  occurs, Qt will lock the source application of the drag for the duration
 | 
						|
  of the drop event handling via :py:func:`~handleMimeData` (e.g. dragging files from
 | 
						|
  explorer to QGIS will lock the explorer window until the drop handling has
 | 
						|
  been complete). Accordingly :py:func:`~handleMimeData` implementations must return
 | 
						|
  quickly and defer any intensive or slow processing.
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgscustomdrophandler.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
    virtual QString customUriProviderKey() const;
 | 
						|
%Docstring
 | 
						|
Type of custom URI recognized by the handler. This must match
 | 
						|
the URI entry's providerKey in order for :py:func:`~QgsCustomDropHandler.handleCustomUriDrop`
 | 
						|
to be called.
 | 
						|
 | 
						|
.. seealso:: :py:func:`handleCustomUriDrop`
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void handleCustomUriDrop( const QgsMimeDataUtils::Uri &uri ) const;
 | 
						|
%Docstring
 | 
						|
Called from QGIS after a drop event with custom URI known by the handler.
 | 
						|
 | 
						|
In order for :py:func:`~QgsCustomDropHandler.handleCustomUriDrop` to be called, subclasses must
 | 
						|
also implement :py:func:`~QgsCustomDropHandler.customUriProviderKey` to indicate the providerKey
 | 
						|
value which the handler accepts.
 | 
						|
 | 
						|
.. seealso:: :py:func:`customUriProviderKey`
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool canHandleMimeData( const QMimeData *data );
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the handler is capable of handling the provided mime ``data``.
 | 
						|
The base class implementation returns ``False`` regardless of mime data.
 | 
						|
 | 
						|
This method is called when mime data is dragged over the QGIS window, in order
 | 
						|
to determine whether any handlers are capable of handling the data and to
 | 
						|
determine whether the drag action should be accepted.
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 virtual void handleMimeData( const QMimeData *data ) /Deprecated/;
 | 
						|
%Docstring
 | 
						|
Called when the specified mime ``data`` has been dropped onto QGIS.
 | 
						|
 | 
						|
The base class implementation does nothing.
 | 
						|
 | 
						|
Subclasses should take care when overriding this method. When a drop event
 | 
						|
occurs, Qt will lock the source application of the drag for the duration
 | 
						|
of the drop event handling (e.g. dragging files from explorer to QGIS will
 | 
						|
lock the explorer window until the drop handling has been complete).
 | 
						|
 | 
						|
Accordingly, only implementations must be lightweight and return ASAP.
 | 
						|
(For instance by copying the relevant parts of ``data`` and then handling
 | 
						|
the data after a short timeout).
 | 
						|
 | 
						|
.. deprecated:: 3.10
 | 
						|
 | 
						|
   Use :py:func:`~QgsCustomDropHandler.handleMimeDataV2` instead.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool handleMimeDataV2( const QMimeData *data );
 | 
						|
%Docstring
 | 
						|
Called when the specified mime ``data`` has been dropped onto QGIS.
 | 
						|
 | 
						|
The base class implementation does nothing.
 | 
						|
 | 
						|
Subclasses should take care when overriding this method. When a drop event
 | 
						|
occurs, Qt will lock the source application of the drag for the duration
 | 
						|
of the drop event handling (e.g. dragging files from explorer to QGIS will
 | 
						|
lock the explorer window until the drop handling has been complete).
 | 
						|
 | 
						|
Accordingly, only implementations must be lightweight and return ASAP.
 | 
						|
(For instance by copying the relevant parts of ``data`` and then handling
 | 
						|
the data after a short timeout).
 | 
						|
 | 
						|
If the function returns ``True``, it means the handler has accepted the drop
 | 
						|
and it should not be further processed (e.g. by other :py:class:`QgsCustomDropHandlers`)
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool handleFileDrop( const QString &file );
 | 
						|
%Docstring
 | 
						|
Called when the specified ``file`` has been dropped onto QGIS. If ``True``
 | 
						|
is returned, then the handler has accepted this file and it should not
 | 
						|
be further processed (e.g. by other :py:class:`QgsCustomDropHandlers`).
 | 
						|
 | 
						|
The base class implementation does nothing.
 | 
						|
 | 
						|
This method is not called directly while drop handling is occurring,
 | 
						|
so the limitations described in :py:func:`~QgsCustomDropHandler.handleMimeData` about returning
 | 
						|
quickly do not apply.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool canHandleCustomUriCanvasDrop( const QgsMimeDataUtils::Uri &uri, QgsMapCanvas *canvas );
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the handler is capable of handling the provided mime ``uri``
 | 
						|
when dropped onto a map ``canvas``.
 | 
						|
 | 
						|
The base class implementation returns ``False`` regardless of mime data.
 | 
						|
 | 
						|
This method is called when mime data is dragged over a map canvas, in order
 | 
						|
to determine whether any handlers are capable of handling the data and to
 | 
						|
determine whether the drag action should be accepted.
 | 
						|
 | 
						|
.. warning::
 | 
						|
 | 
						|
   Subclasses should be very careful about implementing this. If they
 | 
						|
   incorrectly return ``True`` to a ``uri``, it will prevent the default application
 | 
						|
   drop handling from occurring and will break the ability to drag and drop layers
 | 
						|
   and files onto QGIS.
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool handleCustomUriCanvasDrop( const QgsMimeDataUtils::Uri &uri, QgsMapCanvas *canvas ) const;
 | 
						|
%Docstring
 | 
						|
Called from QGIS after a drop event with custom ``uri`` known by the handler occurs
 | 
						|
onto a map ``canvas``.
 | 
						|
 | 
						|
In order for :py:func:`~QgsCustomDropHandler.handleCustomUriCanvasDrop` to be called, subclasses must
 | 
						|
also implement :py:func:`~QgsCustomDropHandler.customUriProviderKey` to indicate the providerKey
 | 
						|
value which the handler accepts.
 | 
						|
 | 
						|
If the function returns ``True``, it means the handler has accepted the drop
 | 
						|
and it should not be further processed (e.g. by other :py:class:`QgsCustomDropHandlers`).
 | 
						|
 | 
						|
Subclasses which implement this must also implement corresponding versions of
 | 
						|
:py:func:`~QgsCustomDropHandler.canHandleCustomUriCanvasDrop`.
 | 
						|
 | 
						|
.. seealso:: :py:func:`customUriProviderKey`
 | 
						|
 | 
						|
.. seealso:: :py:func:`canHandleCustomUriCanvasDrop`
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/gui/qgscustomdrophandler.h                                       *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 |