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

#include <ViewZoom.h>

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

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.

 ViewZoom (View *view, const double &zoomFactor=2.0, const ViewZoomType &type=TypeIn, QObject *parent=0)
 It constructs a zoom associated with the given map display. More...
 
virtual ~ViewZoom ()
 Destructor. 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 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

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

Definition at line 41 of file ViewZoom.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::ViewZoom::ViewZoom ( View view,
const double &  zoomFactor = 2.0,
const ViewZoomType type = TypeIn,
QObject *  parent = 0 
)

It constructs a zoom associated with the given map display.

Parameters
displayThe map display associated with the zoom operation.
Note
The class will NOT take the ownership of the given pointer.

Definition at line 32 of file ViewZoom.cpp.

te::layout::ViewZoom::~ViewZoom ( )
virtual

Destructor.

Definition at line 40 of file ViewZoom.cpp.

Member Function Documentation

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

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

Definition at line 72 of file AbstractViewTool.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 te::layout::ViewZoomClick::ViewZoomClick().

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

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
protected

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
protected

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: