All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::layout::ViewZoomClick Class Reference

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

#include <ViewZoomClick.h>

Inheritance diagram for te::layout::ViewZoomClick:
te::layout::ViewZoom te::layout::AbstractViewTool

Public Types

enum  ViewZoomType { TypeIn, TypeOut }
 Defines the zoom type. More...
 

Public Member Functions

void applyZoom (const QPointF &point=QPointF())
 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 ViewZoomType &type)
 Sets the zoom operation type. More...
 
Initializer Methods

Methods related to instantiation and destruction.

 ViewZoomClick (View *view, const QCursor &cursor, const double &zoomFactor=2.0, const ViewZoomType &type=TypeIn, QObject *parent=0)
 It constructs a zoom click tool associated with the given map display. More...
 
 ~ViewZoomClick ()
 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...
 
Viewm_view
 The QGraphicsView 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...
 
ViewZoomType 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 46 of file ViewZoomClick.h.

Member Enumeration Documentation

Defines the zoom type.

Enumerator
TypeIn 

Performs the zoom in operation.

TypeOut 

Performs the zoom out operation.

Definition at line 50 of file ViewZoom.h.

Constructor & Destructor Documentation

te::layout::ViewZoomClick::ViewZoomClick ( View view,
const QCursor &  cursor,
const double &  zoomFactor = 2.0,
const ViewZoomType type = TypeIn,
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.

Definition at line 30 of file ViewZoomClick.cpp.

References te::layout::AbstractViewTool::setCursor().

te::layout::ViewZoomClick::~ViewZoomClick ( )

Destructor.

Definition at line 36 of file ViewZoomClick.cpp.

Member Function Documentation

void te::layout::ViewZoom::applyZoom ( const QPointF &  point = QPointF())
inherited

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

Parameters
pointA point in world coordinates.
Note
If the given point is not null, the new extent will be centered on this point. Otherwise, the current center will be kepped.

Definition at line 49 of file ViewZoom.cpp.

References te::common::Singleton< Context >::getInstance(), and te::layout::Context::getZoomFactor().

bool te::layout::AbstractViewTool::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().

Definition at line 44 of file AbstractViewTool.cpp.

bool te::layout::AbstractViewTool::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.

Definition at line 87 of file AbstractViewTool.cpp.

bool te::layout::AbstractViewTool::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::layout::ViewRubberBand, and te::layout::ViewZoomArea.

Definition at line 77 of file AbstractViewTool.cpp.

bool te::layout::ViewZoomClick::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::layout::AbstractViewTool.

Definition at line 40 of file ViewZoomClick.cpp.

bool te::layout::AbstractViewTool::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::layout::ViewRubberBand, and te::layout::ViewZoomArea.

Definition at line 82 of file AbstractViewTool.cpp.

void te::layout::AbstractViewTool::setCursor ( const QCursor &  cursor)
virtualinherited

It sets the tool cursor.

Parameters
cursorThe cursor that will be used during the tool operation.

Definition at line 92 of file AbstractViewTool.cpp.

Referenced by te::layout::ViewZoomArea::ViewZoomArea(), and ViewZoomClick().

void te::layout::ViewZoom::setZoomType ( const ViewZoomType type)
inherited

Sets the zoom operation type.

Parameters
typeThe zoom operation type - ZoomIn | ZoomOut;

Definition at line 44 of file ViewZoom.cpp.

Member Data Documentation

QCursor te::layout::AbstractViewTool::m_cursor
protectedinherited

The default tool cursor.

Definition at line 141 of file AbstractViewTool.h.

View* te::layout::AbstractViewTool::m_view
protectedinherited

The QGraphicsView associated with the tool.

Definition at line 140 of file AbstractViewTool.h.

Referenced by te::layout::AbstractViewTool::AbstractViewTool().

double te::layout::ViewZoom::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 93 of file ViewZoom.h.

ViewZoomType te::layout::ViewZoom::m_zoomType
protectedinherited

Enum that indicates the zoom type.

Definition at line 94 of file ViewZoom.h.


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