53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
#include "VirtualMargin.h"
|
|
#include <QDateTime>
|
|
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();
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|