QGIS/python/gui/qgsmapcanvastracer.sip

44 lines
1.7 KiB
Plaintext
Raw Normal View History

2016-01-11 20:57:28 +01:00
/** \ingroup gui
* Extension of QgsTracer that provides extra functionality:
* - automatic updates of own configuration based on canvas settings
* - reporting of issues to the user via message bar
* - determines whether tracing is currently enabled by the user
2016-01-11 20:57:28 +01:00
*
* A simple registry of tracer instances associated to map canvas instances
* is kept for convenience. (Map tools do not need to create their local
* tracer instances and map canvas API is not "polluted" by this optional
* functionality).
*
* @note added in QGIS 2.14
*/
class QgsMapCanvasTracer : QgsTracer
{
%TypeHeaderCode
#include <qgsmapcanvastracer.h>
%End
public:
//! Create tracer associated with a particular map canvas, optionally message bar for reporting
explicit QgsMapCanvasTracer( QgsMapCanvas *canvas, QgsMessageBar *messageBar = 0 );
2016-01-11 20:57:28 +01:00
~QgsMapCanvasTracer();
//! Access to action that user may use to toggle tracing on/off. May be null if no action was associated
QAction *actionEnableTracing() const;
//! Assign "enable tracing" checkable action to the tracer.
//! The action is used to determine whether tracing is currently enabled by the user
void setActionEnableTracing( QAction *action );
2016-01-11 20:57:28 +01:00
//! Retrieve instance of this class associated with given canvas (if any).
//! The class keeps a simple registry of tracers associated with map canvas
//! instances for easier access to the common tracer by various map tools
static QgsMapCanvasTracer *tracerForCanvas( QgsMapCanvas *canvas );
2016-01-11 20:57:28 +01:00
//! Report a path finding error to the user
void reportError( QgsTracer::PathError err, bool addingVertex );
protected:
//! Sets configuration from current snapping settings and canvas settings
virtual void configure();
};