te::qt::widgets::ZoomWheel Class Reference

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

#include <ZoomWheel.h>

Inheritance diagram for te::qt::widgets::ZoomWheel:
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.

 ZoomWheel (MapDisplay *display, const double &zoomFactor=2.0, const bool &centralize=true, QObject *parent=0)
 It constructs a zoom wheel tool associated with the given map display. More...
 
 ~ZoomWheel ()
 Destructor. More...
 
AbstractTool Methods

Methods related with tool behavior.

bool eventFilter (QObject *watched, QEvent *e)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
AbstractTool Methods

Methods related with tool behavior.

virtual 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...
 
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

bool m_centralize
 If TRUE, the reference that will be used will be the center of the map display extent. If FALSE, the position of the wheel will be used as reference. More...
 
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 wheel.

Definition at line 49 of file ZoomWheel.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::ZoomWheel::ZoomWheel ( MapDisplay display,
const double &  zoomFactor = 2.0,
const bool &  centralize = true,
QObject *  parent = 0 
)

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

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

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.
bool te::qt::widgets::ZoomWheel::eventFilter ( QObject *  watched,
QEvent *  e 
)
virtual

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 from te::qt::widgets::AbstractTool.

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::CreateLineTool, te::edit::CreatePolygonTool, te::qt::widgets::PolygonAcquire, te::edit::AggregateAreaTool, and te::edit::SubtractAreaTool.

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

This event handler can be reimplemented in a concrete tool class to receive mouse move 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 in te::edit::VertexTool, te::qt::widgets::Measure, te::qt::widgets::Selection, te::edit::MoveGeometryTool, te::edit::CreateLineTool, te::edit::CreatePolygonTool, te::qt::widgets::PolygonAcquire, te::qt::widgets::PanExtent, te::qt::widgets::ExtentAcquire, te::qt::widgets::RubberBand, te::qt::widgets::CoordTracking, te::qt::widgets::Pan, te::qt::widgets::ZoomArea, te::qt::plugins::mnt::ShowValuesTool, te::edit::AggregateAreaTool, and te::edit::SubtractAreaTool.

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

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 in te::edit::VertexTool, te::qt::widgets::Measure, te::qt::widgets::Selection, te::edit::DeleteGeometryTool, te::edit::MoveGeometryTool, te::edit::CreateLineTool, te::edit::CreatePolygonTool, te::qt::widgets::PolygonAcquire, te::qt::widgets::PanExtent, te::qt::widgets::ExtentAcquire, te::qt::widgets::RubberBand, te::qt::widgets::Pan, te::qt::widgets::ZoomClick, te::qt::widgets::ZoomArea, te::qt::widgets::ZoomLeftAndRightClick, te::edit::AggregateAreaTool, te::edit::EditInfoTool, and te::edit::SubtractAreaTool.

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

This event handler can be reimplemented in a concrete tool class to receive mouse release 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 in te::edit::VertexTool, te::qt::widgets::Measure, te::qt::widgets::Info, te::qt::widgets::Selection, te::edit::MoveGeometryTool, te::qt::widgets::PolygonAcquire, te::qt::widgets::PanExtent, te::qt::widgets::ExtentAcquire, te::qt::widgets::RubberBand, te::qt::widgets::Pan, te::qt::widgets::ZoomArea, te::qt::widgets::PointPicker, and te::qt::widgets::ReadPixelTool.

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

bool te::qt::widgets::ZoomWheel::m_centralize
protected

If TRUE, the reference that will be used will be the center of the map display extent. If FALSE, the position of the wheel will be used as reference.

Definition at line 85 of file ZoomWheel.h.

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: