/** ** ** @RDE_HEADER@ ** Definition of line drawable ** $Id$ ** $HeadURL$ ** $Author$ ** ** ----------------------------------------------------------------------------------------------- ** ** Hardware-Environment: Intel-PC ** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 ** ** Language ........: C++ 11 ** ** ----------------------------------------------------------------------------------------------- ** ** Author ...........: Jörg Turla, SPD G, Tel. 3132 ** ** ----------------------------------------------------------------------------------------------- ** ** Notes .........: ** ** 27.03.2015, JT : First edition for use with Qt5 ** ** ----------------------------------------------------------------------------------------------- */ #pragma once #include "rubberband_drawable.h" namespace SituationMap { namespace RB { class DrawableLine : public RubberbandDrawable { Q_OBJECT public: explicit DrawableLine( Esri::ArcGISRuntime::MapGraphicsView * ); explicit DrawableLine( Esri::ArcGISRuntime::MapGraphicsView *, QGraphicsScene * ); ~DrawableLine(); DrawableLine(const RubberbandDrawable &) = delete; DrawableLine & operator = (const RubberbandDrawable &) = delete; void setLine( const RubberbandDrawable::RubberbandCoordinate & p1, const RubberbandDrawable::RubberbandCoordinate & p2 ); inline void dottedLine(bool on = true) { _dottedLine = on; } protected: QGraphicsLineItem * _lineItem; RubberbandDrawable::RubberbandCoordinate _lineCoordinates[2]; QPen _lineStyle; bool _dottedLine; void updateGraphic() override; void adjustCoordinates() override; void adjustWindow( const QRectF& ) override; }; /* DrawableLine */ } } /* namespace SituationMap::RB */