te::qt::widgets::ZoomClick Class Reference

This class implements a concrete tool to geographic zoom operation using the mouse click. More...

#include <ZoomClick.h>

Inheritance diagram for te::qt::widgets::ZoomClick:
te::qt::widgets::Zoom te::qt::widgets::AbstractTool

Public Types

enum  ZoomType { In, Out }
 Defines the zoom type. More...
 

Public Member Functions

void applyZoom (const QPointF &point=QPointF(), bool centralize=true)
 Performs the zoom operation on map display, considering the zoom factor, zoom type and the given point. More...
 
virtual void setCursor (const QCursor &cursor)
 It sets the tool cursor. More...
 
void setZoomType (const ZoomType &type)
 Sets the zoom operation type. More...
 
Initializer Methods

Methods related to instantiation and destruction.

 ZoomClick (MapDisplay *display, const QCursor &cursor, const double &zoomFactor=2.0, const ZoomType &type=In, QObject *parent=0)
 It constructs a zoom click tool associated with the given map display. More...
 
 ~ZoomClick ()
 Destructor. More...
 
AbstractTool Methods

Methods related with tool behavior.

bool mousePressEvent (QMouseEvent *e)
 This event handler can be reimplemented in a concrete tool class to receive mouse press events for the watched object. More...
 
AbstractTool Methods

Methods related with tool behavior.

virtual bool eventFilter (QObject *watched, QEvent *e)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
virtual bool mouseMoveEvent (QMouseEvent *e)
 This event handler can be reimplemented in a concrete tool class to receive mouse move events for the watched object. More...
 
virtual bool mouseReleaseEvent (QMouseEvent *e)
 This event handler can be reimplemented in a concrete tool class to receive mouse release events for the watched object. More...
 
virtual bool mouseDoubleClickEvent (QMouseEvent *e)
 This event handler can be reimplemented in a concrete tool class to receive mouse double click events for the watched object. More...
 

Protected Attributes

QCursor m_cursor
 The default tool cursor. More...
 
MapDisplaym_display
 The map display associated with the tool. More...
 
double m_zoomFactor
 Factor used to zoom. i.e. A factor value of 2.0 (default) will generate a new extent twice (%) bigger or smaller, depending of ZoomType. More...
 
ZoomType m_zoomType
 Enum that indicates the zoom type. More...
 

Detailed Description

This class implements a concrete tool to geographic zoom operation using the mouse click.

Definition at line 49 of file ZoomClick.h.

Member Enumeration Documentation

Defines the zoom type.

Enumerator
In 

Performs the zoom in operation.

Out 

Performs the zoom out operation.

Definition at line 58 of file Zoom.h.

Constructor & Destructor Documentation

te::qt::widgets::ZoomClick::ZoomClick ( MapDisplay display,
const QCursor &  cursor,
const double &  zoomFactor = 2.0,
const ZoomType type = In,
QObject *  parent = 0 
)

It constructs a zoom click tool associated with the given map display.

Parameters
displayThe map display associated with the tool.
cursorThe tool cursor.
zoomFactorThe factor used to zoom. i.e. A factor value of 2.0 (default) will generate a new extent twice (%) bigger or smaller. zoomType The zoom operation type - ZoomIn | ZoomOut.
parentThe tool's parent.
Note
The tool will NOT take the ownership of the given pointers.
te::qt::widgets::ZoomClick::~ZoomClick ( )

Destructor.

Member Function Documentation

void te::qt::widgets::Zoom::applyZoom ( const QPointF &  point = QPointF(),
bool  centralize = true 
)
inherited

Performs the zoom operation on map display, considering the zoom factor, zoom type and the given point.

Parameters
pointA point in world coordinates.
centralizeIf the reference point is given, its possible to choose between centering this reference point or keeping it in the same position that it was.
Note
If the given point is not null, the new extent will be centered on this point. Otherwise, the current center will be kepped.
virtual bool te::qt::widgets::AbstractTool::eventFilter ( QObject *  watched,
QEvent *  e 
)
virtualinherited

Filters events if this object has been installed as an event filter for the watched object.

Parameters
watchedThe watched object.
eventThe last event sent to watched object.
Note
In your reimplementation of this function, if you want to filter the event out, i.e. stop it being handled further, return true; otherwise return false.
Here, the default implementation looks for QMouseEvents and call the pure virutal methods defined on AbstractTool class, e.g. mousePressEvent().

Reimplemented in te::qt::widgets::ZoomKeyboard, and te::qt::widgets::ZoomWheel.

virtual bool te::qt::widgets::AbstractTool::mouseDoubleClickEvent ( QMouseEvent *  e)
virtualinherited

This event handler can be reimplemented in a concrete tool class to receive mouse double click events for the watched object.

Parameters
eThe mouse event.
Returns
If you want to filter the event out, i.e. stop it being handled further, return true; otherwise return false.
Note
The AbstractTool will also receive mouse press and mouse release events in addition to the double click event. It is up to the developer to ensure that the application interprets these events correctly.

Reimplemented in te::edit::VertexTool, te::qt::widgets::Measure, te::edit::SplitPolygonTool, te::edit::CreatePolygonTool, te::edit::CreateLineTool, te::edit::CreatePointTool, te::qt::widgets::PolygonAcquire, te::edit::AggregateAreaTool, te::edit::SubtractAreaTool, and te::mnt::ProfileTools.

virtual bool te::qt::widgets::AbstractTool::mouseMoveEvent ( QMouseEvent *  e)
virtualinherited
bool te::qt::widgets::ZoomClick::mousePressEvent ( QMouseEvent *  e)
virtual

This event handler can be reimplemented in a concrete tool class to receive mouse press events for the watched object.

Parameters
eThe mouse event.
Returns
If you want to filter the event out, i.e. stop it being handled further, return true; otherwise return false.

Reimplemented from te::qt::widgets::AbstractTool.

virtual bool te::qt::widgets::AbstractTool::mouseReleaseEvent ( QMouseEvent *  e)
virtualinherited
virtual void te::qt::widgets::AbstractTool::setCursor ( const QCursor &  cursor)
virtualinherited

It sets the tool cursor.

Parameters
cursorThe cursor that will be used during the tool operation.
void te::qt::widgets::Zoom::setZoomType ( const ZoomType type)
inherited

Sets the zoom operation type.

Parameters
typeThe zoom operation type - ZoomIn | ZoomOut;

Member Data Documentation

QCursor te::qt::widgets::AbstractTool::m_cursor
protectedinherited

The default tool cursor.

Definition at line 161 of file AbstractTool.h.

MapDisplay* te::qt::widgets::AbstractTool::m_display
protectedinherited

The map display associated with the tool.

Definition at line 160 of file AbstractTool.h.

double te::qt::widgets::Zoom::m_zoomFactor
protectedinherited

Factor used to zoom. i.e. A factor value of 2.0 (default) will generate a new extent twice (%) bigger or smaller, depending of ZoomType.

Definition at line 102 of file Zoom.h.

ZoomType te::qt::widgets::Zoom::m_zoomType
protectedinherited

Enum that indicates the zoom type.

Definition at line 103 of file Zoom.h.


The documentation for this class was generated from the following file: