#include "VirtualMargin.h" #include namespace mapcontrol { VirtualMargin::VirtualMargin(int index, internals::PointLatLng const & coord, int const & altitude, QBrush color, MapGraphicItem *map) : QGraphicsItem(map), number(index) , coord(coord), m_brush(color), m_map(map) { //qDebug() << "VirtualMargin:" << index << coord.Lat() << coord.Lng(); this->setZValue(5); connect(map, SIGNAL(childRefreshPosition()), this, SLOT(RefreshPos())); //qDebug() << this->pos(); RefreshPos(); } void VirtualMargin::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); painter->setBrush(m_brush); painter->drawPoint(0,0); } QRectF VirtualMargin::boundingRect() const { return QRectF(-2, -2, 4, 4); } int VirtualMargin::type() const { return Type; } void VirtualMargin::setPosSLOT() { //qDebug() << "virtual set pos"; setPos(m_map->FromLatLngToLocal(this->coord).X(), m_map->FromLatLngToLocal(this->coord).Y()); emit localPositionChanged(this->pos(),this); } void VirtualMargin::RefreshPos() { setPosSLOT(); } }