This class implements a concrete tool to create polygons. More...
#include <CreatePolygonTool.h>
  
 Public Member Functions | |
| virtual void | setCursor (const QCursor &cursor) | 
| It sets the tool cursor.  More... | |
Initializer Methods  | |
Methods related to instantiation and destruction.  | |
| CreatePolygonTool (te::qt::widgets::MapDisplay *display, const te::map::AbstractLayerPtr &layer, const QCursor &cursor, QObject *parent=0) | |
| It constructs a create polygon tool associated with the given map display.  More... | |
| ~CreatePolygonTool () | |
| 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 | |
| bool | m_continuousMode | 
| A flag that indicates if the tool is working in 'continuous mode'. i.e. the coordinates will be acquired from each mouseMove.  More... | |
| std::vector< te::gm::Coord2D > | m_coords | 
| The coord list managed by this tool.  More... | |
| QCursor | m_cursor | 
| The default tool cursor.  More... | |
| MapDisplay * | m_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... | |
| te::map::AbstractLayerPtr | m_layer | 
| The layer used by this tool.  More... | |
Private Slots | |
| void | onExtentChanged () | 
Private Member Functions | |
| te::gm::Geometry * | buildLine () | 
| te::gm::Geometry * | buildPolygon () | 
| void | clear () | 
| void | draw () | 
| void | drawLine () | 
| void | drawPolygon () | 
| void | storeNewGeometry () | 
This class implements a concrete tool to create polygons.
Definition at line 60 of file CreatePolygonTool.h.
| te::edit::CreatePolygonTool::CreatePolygonTool | ( | te::qt::widgets::MapDisplay * | display, | 
| const te::map::AbstractLayerPtr & | layer, | ||
| const QCursor & | cursor, | ||
| QObject * | parent = 0  | 
        ||
| ) | 
It constructs a create polygon tool associated with the given map display.
| display | The map display associated with the tool. | 
| parent | The tool's parent. | 
Definition at line 50 of file CreatePolygonTool.cpp.
References draw(), te::qt::widgets::AbstractTool::m_display, onExtentChanged(), and te::qt::widgets::AbstractTool::setCursor().
| te::edit::CreatePolygonTool::~CreatePolygonTool | ( | ) | 
Destructor.
Definition at line 64 of file CreatePolygonTool.cpp.
      
  | 
  private | 
Definition at line 227 of file CreatePolygonTool.cpp.
References te::gm::Geometry::getSRID(), te::gm::LineStringType, te::gm::LineString::setPoint(), te::gm::LineString::setSRID(), and te::gm::LineString::transform().
      
  | 
  private | 
Definition at line 205 of file CreatePolygonTool.cpp.
References te::gm::Geometry::getSRID(), te::gm::LineStringType, te::gm::PolygonType, te::gm::LineString::setPoint(), te::gm::CurvePolygon::setRingN(), te::gm::CurvePolygon::setSRID(), and te::gm::CurvePolygon::transform().
      
  | 
  private | 
Definition at line 200 of file CreatePolygonTool.cpp.
      
  | 
  private | 
Definition at line 142 of file CreatePolygonTool.cpp.
References te::edit::Renderer::begin(), te::edit::Renderer::drawRepository(), te::edit::Renderer::end(), te::common::Singleton< Renderer >::getInstance(), and te::gm::Envelope::isValid().
Referenced by CreatePolygonTool().
      
  | 
  private | 
Definition at line 188 of file CreatePolygonTool.cpp.
References te::edit::Renderer::draw(), and te::common::Singleton< Renderer >::getInstance().
      
  | 
  private | 
Definition at line 176 of file CreatePolygonTool.cpp.
References te::edit::Renderer::draw(), and te::common::Singleton< Renderer >::getInstance().
      
  | 
  virtualinherited | 
Filters events if this object has been installed as an event filter for the watched object.
| watched | The watched object. | 
| event | The last event sent to watched object. | 
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().
      
  | 
  virtual | 
This event handler can be reimplemented in a concrete tool class to receive mouse double click events for the watched object.
| e | The mouse event. | 
Reimplemented from te::qt::widgets::AbstractTool.
Definition at line 127 of file CreatePolygonTool.cpp.
      
  | 
  virtual | 
This event handler can be reimplemented in a concrete tool class to receive mouse move events for the watched object.
| e | The mouse event. | 
Reimplemented from te::qt::widgets::AbstractTool.
Definition at line 92 of file CreatePolygonTool.cpp.
References te::edit::GetPosition(), te::edit::TrySnap(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
      
  | 
  virtual | 
This event handler can be reimplemented in a concrete tool class to receive mouse press events for the watched object.
| e | The mouse event. | 
Reimplemented from te::qt::widgets::AbstractTool.
Definition at line 70 of file CreatePolygonTool.cpp.
References te::edit::GetPosition(), and te::edit::TrySnap().
      
  | 
  virtual | 
This event handler can be reimplemented in a concrete tool class to receive mouse release events for the watched object.
| e | The mouse event. | 
Reimplemented from te::qt::widgets::AbstractTool.
Definition at line 122 of file CreatePolygonTool.cpp.
      
  | 
  privateslot | 
Definition at line 249 of file CreatePolygonTool.cpp.
Referenced by CreatePolygonTool().
      
  | 
  virtualinherited | 
It sets the tool cursor.
| cursor | The cursor that will be used during the tool operation. | 
Definition at line 98 of file AbstractTool.cpp.
Referenced by te::edit::CreateLineTool::CreateLineTool(), CreatePolygonTool(), te::qt::widgets::ExtentAcquire::ExtentAcquire(), te::qt::widgets::Info::Info(), te::qt::widgets::Measure::Measure(), te::qt::widgets::Pan::Pan(), te::qt::widgets::PanExtent::PanExtent(), te::qt::widgets::PointPicker::PointPicker(), te::qt::widgets::Selection::Selection(), te::qt::widgets::ZoomArea::ZoomArea(), and te::qt::widgets::ZoomClick::ZoomClick().
      
  | 
  private | 
Definition at line 244 of file CreatePolygonTool.cpp.
References te::edit::RepositoryManager::addGeometry(), and te::common::Singleton< RepositoryManager >::getInstance().
      
  | 
  protected | 
A flag that indicates if the tool is working in 'continuous mode'. i.e. the coordinates will be acquired from each mouseMove.
Definition at line 126 of file CreatePolygonTool.h.
      
  | 
  protected | 
The coord list managed by this tool.
Definition at line 124 of file CreatePolygonTool.h.
      
  | 
  protectedinherited | 
The default tool cursor.
Definition at line 161 of file AbstractTool.h.
      
  | 
  protectedinherited | 
The map display associated with the tool.
Definition at line 160 of file AbstractTool.h.
Referenced by te::qt::widgets::AbstractTool::AbstractTool(), te::qt::widgets::CoordTracking::CoordTracking(), te::edit::CreateLineTool::CreateLineTool(), CreatePolygonTool(), te::qt::widgets::Measure::Measure(), te::edit::MoveGeometryTool::MoveGeometryTool(), te::qt::widgets::PolygonAcquire::PolygonAcquire(), te::edit::VertexTool::VertexTool(), and te::qt::widgets::ZoomKeyboard::ZoomKeyboard().
      
  | 
  protected | 
A flag that indicates if the operations was finished.
Definition at line 127 of file CreatePolygonTool.h.
      
  | 
  protected | 
The last position captured on mouse move event.
Definition at line 125 of file CreatePolygonTool.h.
      
  | 
  protected | 
The layer used by this tool.
Definition at line 123 of file CreatePolygonTool.h.