All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::qt::widgets::PolygonAcquire Class Reference

This class implements a concrete tool to acquire a polygon geometry. More...

#include <PolygonAcquire.h>

Inheritance diagram for te::qt::widgets::PolygonAcquire:
te::qt::widgets::AbstractTool

Signals

void polygonAquired (te::gm::Polygon *poly)
 

Public Member Functions

virtual void setCursor (const QCursor &cursor)
 It sets the tool cursor. More...
 
Initializer Methods

Methods related to instantiation and destruction.

 PolygonAcquire (MapDisplay *display, QObject *parent=0)
 It constructs a PolygonAcquire tool associated with the given map display. More...
 
 ~PolygonAcquire ()
 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...
 
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...
 
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...
 
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...
 
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...
 

Protected Attributes

QBrush m_brush
 The brush used to draw the path. More...
 
std::vector< te::gm::Coord2Dm_coords
 The coord list managed by the measure tool. More...
 
QCursor m_cursor
 The default tool cursor. More...
 
MapDisplaym_display
 The map display associated with the tool. More...
 
bool m_isFinished
 A flag that indicates if the operations was finished. More...
 
te::gm::Coord2D m_lastPos
 The last position captured on mouse move event. More...
 
QPen m_pen
 The pen used to draw the path. More...
 

Private Slots

void onExtentChanged ()
 

Private Member Functions

void clear ()
 
void drawGeometry ()
 
void drawLine (Canvas &canvas)
 
void drawPolygon (Canvas &canvas)
 

Detailed Description

This class implements a concrete tool to acquire a polygon geometry.

Definition at line 58 of file PolygonAcquire.h.

Constructor & Destructor Documentation

te::qt::widgets::PolygonAcquire::PolygonAcquire ( MapDisplay display,
QObject *  parent = 0 
)

It constructs a PolygonAcquire tool associated with the given map display.

Parameters
displayThe map display associated with the tool.
parentThe tool's parent.
Note
The tool will NOT take the ownership of the given pointers.

Definition at line 44 of file PolygonAcquire.cpp.

References m_brush, te::qt::widgets::AbstractTool::m_display, m_pen, and onExtentChanged().

te::qt::widgets::PolygonAcquire::~PolygonAcquire ( )

Destructor.

Definition at line 57 of file PolygonAcquire.cpp.

Member Function Documentation

void te::qt::widgets::PolygonAcquire::clear ( )
private

Definition at line 201 of file PolygonAcquire.cpp.

void te::qt::widgets::PolygonAcquire::drawGeometry ( )
private
void te::qt::widgets::PolygonAcquire::drawLine ( Canvas canvas)
private
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.

Definition at line 50 of file AbstractTool.cpp.

Referenced by te::qt::widgets::ZoomKeyboard::eventFilter(), and te::qt::widgets::ZoomWheel::eventFilter().

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

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

Definition at line 111 of file PolygonAcquire.cpp.

References te::gm::LineStringType, te::gm::PolygonType, te::gm::LineString::setPoint(), and te::gm::CurvePolygon::setRingN().

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

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

Definition at line 80 of file PolygonAcquire.cpp.

bool te::qt::widgets::PolygonAcquire::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.

Definition at line 63 of file PolygonAcquire.cpp.

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

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

Definition at line 106 of file PolygonAcquire.cpp.

void te::qt::widgets::PolygonAcquire::onExtentChanged ( )
privateslot

Definition at line 211 of file PolygonAcquire.cpp.

Referenced by PolygonAcquire().

void te::qt::widgets::PolygonAcquire::polygonAquired ( te::gm::Polygon poly)
signal

Member Data Documentation

QBrush te::qt::widgets::PolygonAcquire::m_brush
protected

The brush used to draw the path.

Definition at line 122 of file PolygonAcquire.h.

Referenced by PolygonAcquire().

std::vector<te::gm::Coord2D> te::qt::widgets::PolygonAcquire::m_coords
protected

The coord list managed by the measure tool.

Definition at line 119 of file PolygonAcquire.h.

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

The default tool cursor.

Definition at line 161 of file AbstractTool.h.

bool te::qt::widgets::PolygonAcquire::m_isFinished
protected

A flag that indicates if the operations was finished.

Definition at line 123 of file PolygonAcquire.h.

te::gm::Coord2D te::qt::widgets::PolygonAcquire::m_lastPos
protected

The last position captured on mouse move event.

Definition at line 120 of file PolygonAcquire.h.

QPen te::qt::widgets::PolygonAcquire::m_pen
protected

The pen used to draw the path.

Definition at line 121 of file PolygonAcquire.h.

Referenced by PolygonAcquire().


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