mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-03 00:14:12 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			256 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			256 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/gui/plot/qgsplottool.h                                           *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
%ModuleHeaderCode
 | 
						|
#include "qgsplottool.h"
 | 
						|
#include "qgsplottoolpan.h"
 | 
						|
#include "qgsplottoolzoom.h"
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
class QgsPlotTool : QObject
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
Abstract base class for all interactive plot tools.
 | 
						|
 | 
						|
Plot tools are user tools for manipulating and interacting with a :py:class:`QgsPlotCanvas`.
 | 
						|
 | 
						|
.. versionadded:: 3.26
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsplottool.h"
 | 
						|
%End
 | 
						|
%ConvertToSubClassCode
 | 
						|
    if ( qobject_cast<QgsPlotToolPan *>( sipCpp ) != nullptr )
 | 
						|
      sipType = sipType_QgsPlotToolPan;
 | 
						|
    else if ( qobject_cast<QgsPlotToolZoom *>( sipCpp ) != nullptr )
 | 
						|
      sipType = sipType_QgsPlotToolZoom;
 | 
						|
    else if ( qobject_cast<QgsPlotTool *>( sipCpp ) != nullptr )
 | 
						|
      sipType = sipType_QgsPlotTool;
 | 
						|
    else
 | 
						|
      sipType = nullptr;
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    ~QgsPlotTool();
 | 
						|
 | 
						|
    virtual Qgis::PlotToolFlags flags() const;
 | 
						|
%Docstring
 | 
						|
Returns the flags for the plot tool.
 | 
						|
%End
 | 
						|
 | 
						|
    QString toolName() const;
 | 
						|
%Docstring
 | 
						|
Returns a user-visible, translated name for the tool.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void plotMoveEvent( QgsPlotMouseEvent *event );
 | 
						|
%Docstring
 | 
						|
Mouse move ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void plotDoubleClickEvent( QgsPlotMouseEvent *event );
 | 
						|
%Docstring
 | 
						|
Mouse double-click ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void plotPressEvent( QgsPlotMouseEvent *event );
 | 
						|
%Docstring
 | 
						|
Mouse press ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void plotReleaseEvent( QgsPlotMouseEvent *event );
 | 
						|
%Docstring
 | 
						|
Mouse release ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void wheelEvent( QWheelEvent *event );
 | 
						|
%Docstring
 | 
						|
Mouse wheel ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void keyPressEvent( QKeyEvent *event );
 | 
						|
%Docstring
 | 
						|
Key press ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void keyReleaseEvent( QKeyEvent *event );
 | 
						|
%Docstring
 | 
						|
Key release ``event`` for overriding.
 | 
						|
 | 
						|
The default implementation does nothing. When subclasses implement this method
 | 
						|
and have acted on the event, they must explicitly call event->:py:func:`~QgsPlotTool.accept` to prevent
 | 
						|
the event from being passed on to other widgets.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool gestureEvent( QGestureEvent *event );
 | 
						|
%Docstring
 | 
						|
Gesture ``event`` for overriding.
 | 
						|
 | 
						|
Returns ``True`` if the event was handled by the tool and should not be propagated further.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool canvasToolTipEvent( QHelpEvent *event );
 | 
						|
%Docstring
 | 
						|
Tooltip ``event`` for overriding.
 | 
						|
 | 
						|
Returns ``True`` if the event was handled by the tool and should not be propagated further.
 | 
						|
%End
 | 
						|
 | 
						|
    bool isActive() const;
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if this tool is the current tool active on the plot canvas.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void activate();
 | 
						|
%Docstring
 | 
						|
Called when the tool is set as the currently active plot tool.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void deactivate();
 | 
						|
%Docstring
 | 
						|
Called when the tool is being deactivated.
 | 
						|
%End
 | 
						|
 | 
						|
    QgsPlotCanvas *canvas() const;
 | 
						|
%Docstring
 | 
						|
Returns the tool's plot canvas.
 | 
						|
%End
 | 
						|
 | 
						|
    void setAction( QAction *action );
 | 
						|
%Docstring
 | 
						|
Associates an ``action`` with this tool. When the setTool
 | 
						|
method of :py:class:`QgsPlotCanvas` is called the action's state will be set to on.
 | 
						|
Usually this will cause a toolbutton to appear pressed in and
 | 
						|
the previously used toolbutton to pop out.
 | 
						|
 | 
						|
.. seealso:: :py:func:`action`
 | 
						|
%End
 | 
						|
 | 
						|
    QAction *action();
 | 
						|
%Docstring
 | 
						|
Returns the action associated with the tool or ``None`` if no action is associated.
 | 
						|
 | 
						|
.. seealso:: :py:func:`setAction`
 | 
						|
%End
 | 
						|
 | 
						|
    void setCursor( const QCursor &cursor );
 | 
						|
%Docstring
 | 
						|
Sets a user defined ``cursor`` for use when the tool is active.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool populateContextMenuWithEvent( QMenu *menu, QgsPlotMouseEvent *event );
 | 
						|
%Docstring
 | 
						|
Allows the tool to populate and customize the given ``menu``,
 | 
						|
prior to showing it in response to a right-mouse button click.
 | 
						|
 | 
						|
``menu`` will be initially populated with a set of default, generic actions.
 | 
						|
Any new actions added to the menu should be correctly parented to ``menu``.
 | 
						|
 | 
						|
A pointer to the plot mouse ``event`` can be provided to allow particular behavior depending on the plot tool.
 | 
						|
 | 
						|
This method can return ``True`` to inform the caller that the menu was effectively populated.
 | 
						|
 | 
						|
The default implementation does nothing and returns ``False``.
 | 
						|
 | 
						|
.. note::
 | 
						|
 | 
						|
   The context menu is only shown when the ShowContextMenu flag
 | 
						|
   is present in :py:func:`~QgsPlotTool.flags`.
 | 
						|
%End
 | 
						|
 | 
						|
  signals:
 | 
						|
 | 
						|
    void activated();
 | 
						|
%Docstring
 | 
						|
Emitted when the tool is activated.
 | 
						|
%End
 | 
						|
 | 
						|
    void deactivated();
 | 
						|
%Docstring
 | 
						|
Emitted when the tool is deactivated
 | 
						|
%End
 | 
						|
 | 
						|
  protected:
 | 
						|
 | 
						|
    QgsPlotTool( QgsPlotCanvas *canvas /TransferThis/, const QString &name );
 | 
						|
%Docstring
 | 
						|
Constructor takes a plot canvas as a parameter.
 | 
						|
%End
 | 
						|
 | 
						|
    QgsPoint toMapCoordinates( const QgsPointXY &point ) const;
 | 
						|
%Docstring
 | 
						|
Converts a ``point`` on the canvas to the associated map coordinate.
 | 
						|
 | 
						|
May return an empty point if the canvas point cannot be converted to a map point.
 | 
						|
%End
 | 
						|
 | 
						|
    QgsPointXY toCanvasCoordinates( const QgsPoint &point ) const;
 | 
						|
%Docstring
 | 
						|
Converts a ``point`` in map coordinates to the associated canvas point.
 | 
						|
 | 
						|
May return an empty point if the map point cannot be converted to a canvas point.
 | 
						|
%End
 | 
						|
 | 
						|
    bool isClickAndDrag( QPoint startViewPoint, QPoint endViewPoint ) const;
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if a mouse press/release operation which started at
 | 
						|
``startViewPoint`` and ended at ``endViewPoint`` should be considered
 | 
						|
a "click and drag". If ``False`` is returned, the operation should be
 | 
						|
instead treated as just a click on ``startViewPoint``.
 | 
						|
%End
 | 
						|
 | 
						|
    static QPointF constrainPointToRect( QPointF point, const QRectF &rect );
 | 
						|
%Docstring
 | 
						|
Constrains a point to force it to fall within the specified rectangle.
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/gui/plot/qgsplottool.h                                           *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 |