mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-18 08:54:15 +01:00
GCS/OPMap - Changed several foreach chield methods to signal/slot
This commit is contained in:
parent
2a4c54a073
commit
4b8bfcb997
@ -74,9 +74,15 @@ namespace mapcontrol
|
|||||||
{
|
{
|
||||||
if(timer.elapsed()>trailtime*1000)
|
if(timer.elapsed()>trailtime*1000)
|
||||||
{
|
{
|
||||||
trail->addToGroup(new TrailItem(position,altitude,Qt::green,this));
|
TrailItem * ob=new TrailItem(position,altitude,Qt::green,map);
|
||||||
|
trail->addToGroup(ob);
|
||||||
|
connect(this,SIGNAL(setChildPosition()),ob,SLOT(setPosSLOT()));
|
||||||
if(!lasttrailline.IsEmpty())
|
if(!lasttrailline.IsEmpty())
|
||||||
trailLine->addToGroup((new TrailLineItem(lasttrailline,position,Qt::green,map)));
|
{
|
||||||
|
TrailLineItem * obj=new TrailLineItem(lasttrailline,position,Qt::red,map);
|
||||||
|
trailLine->addToGroup(obj);
|
||||||
|
connect(this,SIGNAL(setChildLine()),obj,SLOT(setLineSlot()));
|
||||||
|
}
|
||||||
lasttrailline=position;
|
lasttrailline=position;
|
||||||
timer.restart();
|
timer.restart();
|
||||||
}
|
}
|
||||||
@ -86,10 +92,15 @@ namespace mapcontrol
|
|||||||
{
|
{
|
||||||
if(qAbs(internals::PureProjection::DistanceBetweenLatLng(lastcoord,position)*1000)>traildistance)
|
if(qAbs(internals::PureProjection::DistanceBetweenLatLng(lastcoord,position)*1000)>traildistance)
|
||||||
{
|
{
|
||||||
trail->addToGroup(new TrailItem(position,altitude,Qt::green,this));
|
TrailItem * ob=new TrailItem(position,altitude,Qt::green,map);
|
||||||
|
trail->addToGroup(ob);
|
||||||
|
connect(this,SIGNAL(setChildPosition()),ob,SLOT(setPosSLOT()));
|
||||||
if(!lasttrailline.IsEmpty())
|
if(!lasttrailline.IsEmpty())
|
||||||
|
{
|
||||||
trailLine->addToGroup((new TrailLineItem(lasttrailline,position,Qt::green,this)));
|
TrailLineItem * obj=new TrailLineItem(lasttrailline,position,Qt::red,map);
|
||||||
|
trailLine->addToGroup(obj);
|
||||||
|
connect(this,SIGNAL(setChildLine()),obj,SLOT(setLineSlot()));
|
||||||
|
}
|
||||||
lasttrailline=position;
|
lasttrailline=position;
|
||||||
lastcoord=position;
|
lastcoord=position;
|
||||||
}
|
}
|
||||||
@ -127,18 +138,8 @@ namespace mapcontrol
|
|||||||
{
|
{
|
||||||
localposition=map->FromLatLngToLocal(coord);
|
localposition=map->FromLatLngToLocal(coord);
|
||||||
this->setPos(localposition.X(),localposition.Y());
|
this->setPos(localposition.X(),localposition.Y());
|
||||||
foreach(QGraphicsItem* i,trail->childItems())
|
emit setChildPosition();
|
||||||
{
|
emit setChildLine();
|
||||||
TrailItem* w=qgraphicsitem_cast<TrailItem*>(i);
|
|
||||||
if(w)
|
|
||||||
w->setPos(map->FromLatLngToLocal(w->coord).X(),map->FromLatLngToLocal(w->coord).Y());
|
|
||||||
}
|
|
||||||
foreach(QGraphicsItem* i,trailLine->childItems())
|
|
||||||
{
|
|
||||||
TrailLineItem* ww=qgraphicsitem_cast<TrailLineItem*>(i);
|
|
||||||
if(ww)
|
|
||||||
ww->setLine(map->FromLatLngToLocal(ww->coord1).X(),map->FromLatLngToLocal(ww->coord1).Y(),map->FromLatLngToLocal(ww->coord2).X(),map->FromLatLngToLocal(ww->coord2).Y());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +222,8 @@ namespace mapcontrol
|
|||||||
signals:
|
signals:
|
||||||
void UAVReachedWayPoint(int const& waypointnumber,WayPointItem* waypoint);
|
void UAVReachedWayPoint(int const& waypointnumber,WayPointItem* waypoint);
|
||||||
void UAVLeftSafetyBouble(internals::PointLatLng const& position);
|
void UAVLeftSafetyBouble(internals::PointLatLng const& position);
|
||||||
|
void setChildPosition();
|
||||||
|
void setChildLine();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#endif // GPSITEM_H
|
#endif // GPSITEM_H
|
||||||
|
@ -98,8 +98,7 @@ namespace mapcontrol
|
|||||||
QSize size=boundingRect().size().toSize();
|
QSize size=boundingRect().size().toSize();
|
||||||
size.setWidth(size.width()*2*zoomdiff);
|
size.setWidth(size.width()*2*zoomdiff);
|
||||||
size.setHeight(size.height()*2*zoomdiff);
|
size.setHeight(size.height()*2*zoomdiff);
|
||||||
temp=QImage(size,
|
temp=QImage(size,QImage::Format_ARGB32_Premultiplied);
|
||||||
QImage::Format_ARGB32_Premultiplied);
|
|
||||||
temp.fill(0);
|
temp.fill(0);
|
||||||
QPainter imagePainter(&temp);
|
QPainter imagePainter(&temp);
|
||||||
imagePainter.translate(-boundingRect().topLeft());
|
imagePainter.translate(-boundingRect().topLeft());
|
||||||
|
@ -28,9 +28,8 @@
|
|||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
namespace mapcontrol
|
namespace mapcontrol
|
||||||
{
|
{
|
||||||
TrailItem::TrailItem(internals::PointLatLng const& coord,int const& altitude, QBrush color, QGraphicsItem* parent):QGraphicsItem(parent),coord(coord)
|
TrailItem::TrailItem(internals::PointLatLng const& coord,int const& altitude, QBrush color, MapGraphicItem *map):QGraphicsItem(map),coord(coord),m_brush(color),m_map(map)
|
||||||
{
|
{
|
||||||
m_brush=color;
|
|
||||||
QDateTime time=QDateTime::currentDateTime();
|
QDateTime time=QDateTime::currentDateTime();
|
||||||
QString coord_str = " " + QString::number(coord.Lat(), 'f', 6) + " " + QString::number(coord.Lng(), 'f', 6);
|
QString coord_str = " " + QString::number(coord.Lat(), 'f', 6) + " " + QString::number(coord.Lng(), 'f', 6);
|
||||||
setToolTip(QString(tr("Position:")+"%1\n"+tr("Altitude:")+"%2\n"+tr("Time:")+"%3").arg(coord_str).arg(QString::number(altitude)).arg(time.toString()));
|
setToolTip(QString(tr("Position:")+"%1\n"+tr("Altitude:")+"%2\n"+tr("Time:")+"%3").arg(coord_str).arg(QString::number(altitude)).arg(time.toString()));
|
||||||
@ -52,5 +51,8 @@ namespace mapcontrol
|
|||||||
return Type;
|
return Type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TrailItem::setPosSLOT()
|
||||||
|
{
|
||||||
|
setPos(m_map->FromLatLngToLocal(this->coord).X(),m_map->FromLatLngToLocal(this->coord).Y());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include "../internals/pointlatlng.h"
|
#include "../internals/pointlatlng.h"
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include "mapgraphicitem.h"
|
||||||
|
|
||||||
namespace mapcontrol
|
namespace mapcontrol
|
||||||
{
|
{
|
||||||
@ -42,7 +43,7 @@ namespace mapcontrol
|
|||||||
Q_INTERFACES(QGraphicsItem)
|
Q_INTERFACES(QGraphicsItem)
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 3 };
|
enum { Type = UserType + 3 };
|
||||||
TrailItem(internals::PointLatLng const& coord,int const& altitude, QBrush color, QGraphicsItem* parent);
|
TrailItem(internals::PointLatLng const& coord,int const& altitude, QBrush color,MapGraphicItem * map);
|
||||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||||
QWidget *widget);
|
QWidget *widget);
|
||||||
QRectF boundingRect() const;
|
QRectF boundingRect() const;
|
||||||
@ -50,10 +51,9 @@ namespace mapcontrol
|
|||||||
internals::PointLatLng coord;
|
internals::PointLatLng coord;
|
||||||
private:
|
private:
|
||||||
QBrush m_brush;
|
QBrush m_brush;
|
||||||
|
MapGraphicItem * m_map;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
void setPosSLOT();
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -28,9 +28,8 @@
|
|||||||
|
|
||||||
namespace mapcontrol
|
namespace mapcontrol
|
||||||
{
|
{
|
||||||
TrailLineItem::TrailLineItem(internals::PointLatLng const& coord1,internals::PointLatLng const& coord2, QBrush color, QGraphicsItem* parent):QGraphicsLineItem(parent),coord1(coord1),coord2(coord2)
|
TrailLineItem::TrailLineItem(internals::PointLatLng const& coord1,internals::PointLatLng const& coord2, QBrush color, MapGraphicItem * map):QGraphicsLineItem(map),coord1(coord1),coord2(coord2),m_brush(color),m_map(map)
|
||||||
{
|
{
|
||||||
m_brush=color;
|
|
||||||
QPen pen;
|
QPen pen;
|
||||||
pen.setBrush(m_brush);
|
pen.setBrush(m_brush);
|
||||||
pen.setWidth(1);
|
pen.setWidth(1);
|
||||||
@ -42,5 +41,8 @@ namespace mapcontrol
|
|||||||
return Type;
|
return Type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TrailLineItem::setLineSlot()
|
||||||
|
{
|
||||||
|
setLine(m_map->FromLatLngToLocal(this->coord1).X(),m_map->FromLatLngToLocal(this->coord1).Y(),m_map->FromLatLngToLocal(this->coord2).X(),m_map->FromLatLngToLocal(this->coord2).Y());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include "../internals/pointlatlng.h"
|
#include "../internals/pointlatlng.h"
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include "mapgraphicitem.h"
|
||||||
|
|
||||||
namespace mapcontrol
|
namespace mapcontrol
|
||||||
{
|
{
|
||||||
@ -42,16 +43,15 @@ namespace mapcontrol
|
|||||||
Q_INTERFACES(QGraphicsItem)
|
Q_INTERFACES(QGraphicsItem)
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 7 };
|
enum { Type = UserType + 7 };
|
||||||
TrailLineItem(internals::PointLatLng const& coord1,internals::PointLatLng const& coord2, QBrush color, QGraphicsItem* parent);
|
TrailLineItem(internals::PointLatLng const& coord1,internals::PointLatLng const& coord2, QBrush color,MapGraphicItem * map);
|
||||||
int type() const;
|
int type() const;
|
||||||
internals::PointLatLng coord1;
|
internals::PointLatLng coord1;
|
||||||
internals::PointLatLng coord2;
|
internals::PointLatLng coord2;
|
||||||
private:
|
private:
|
||||||
QBrush m_brush;
|
QBrush m_brush;
|
||||||
|
MapGraphicItem * m_map;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
void setLineSlot();
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -297,9 +297,15 @@ namespace mapcontrol
|
|||||||
{
|
{
|
||||||
if(timer.elapsed()>trailtime*1000)
|
if(timer.elapsed()>trailtime*1000)
|
||||||
{
|
{
|
||||||
trail->addToGroup(new TrailItem(position,altitude,Qt::red,this));
|
TrailItem * ob=new TrailItem(position,altitude,Qt::green,map);
|
||||||
|
trail->addToGroup(ob);
|
||||||
|
connect(this,SIGNAL(setChildPosition()),ob,SLOT(setPosSLOT()));
|
||||||
if(!lasttrailline.IsEmpty())
|
if(!lasttrailline.IsEmpty())
|
||||||
trailLine->addToGroup((new TrailLineItem(lasttrailline,position,Qt::red,map)));
|
{
|
||||||
|
TrailLineItem * obj=new TrailLineItem(lasttrailline,position,Qt::red,map);
|
||||||
|
trailLine->addToGroup(obj);
|
||||||
|
connect(this,SIGNAL(setChildLine()),obj,SLOT(setLineSlot()));
|
||||||
|
}
|
||||||
lasttrailline=position;
|
lasttrailline=position;
|
||||||
timer.restart();
|
timer.restart();
|
||||||
}
|
}
|
||||||
@ -309,9 +315,15 @@ namespace mapcontrol
|
|||||||
{
|
{
|
||||||
if(qAbs(internals::PureProjection::DistanceBetweenLatLng(lastcoord,position)*1000)>traildistance)
|
if(qAbs(internals::PureProjection::DistanceBetweenLatLng(lastcoord,position)*1000)>traildistance)
|
||||||
{
|
{
|
||||||
trail->addToGroup(new TrailItem(position,altitude,Qt::red,this));
|
TrailItem * ob=new TrailItem(position,altitude,Qt::green,map);
|
||||||
|
trail->addToGroup(ob);
|
||||||
|
connect(this,SIGNAL(setChildPosition()),ob,SLOT(setPosSLOT()));
|
||||||
if(!lasttrailline.IsEmpty())
|
if(!lasttrailline.IsEmpty())
|
||||||
trailLine->addToGroup((new TrailLineItem(lasttrailline,position,Qt::red,map)));
|
{
|
||||||
|
TrailLineItem * obj=new TrailLineItem(lasttrailline,position,Qt::red,map);
|
||||||
|
trailLine->addToGroup(obj);
|
||||||
|
connect(this,SIGNAL(setChildLine()),obj,SLOT(setLineSlot()));
|
||||||
|
}
|
||||||
lasttrailline=position;
|
lasttrailline=position;
|
||||||
lastcoord=position;
|
lastcoord=position;
|
||||||
}
|
}
|
||||||
@ -395,19 +407,8 @@ namespace mapcontrol
|
|||||||
{
|
{
|
||||||
localposition=map->FromLatLngToLocal(coord);
|
localposition=map->FromLatLngToLocal(coord);
|
||||||
this->setPos(localposition.X(),localposition.Y());
|
this->setPos(localposition.X(),localposition.Y());
|
||||||
foreach(QGraphicsItem* i,trail->childItems())
|
emit setChildPosition();
|
||||||
{
|
emit setChildLine();
|
||||||
TrailItem* w=qgraphicsitem_cast<TrailItem*>(i);
|
|
||||||
if(w)
|
|
||||||
w->setPos(map->FromLatLngToLocal(w->coord).X(),map->FromLatLngToLocal(w->coord).Y());
|
|
||||||
}
|
|
||||||
foreach(QGraphicsItem* i,trailLine->childItems())
|
|
||||||
{
|
|
||||||
TrailLineItem* ww=qgraphicsitem_cast<TrailLineItem*>(i);
|
|
||||||
if(ww)
|
|
||||||
ww->setLine(map->FromLatLngToLocal(ww->coord1).X(),map->FromLatLngToLocal(ww->coord1).Y(),map->FromLatLngToLocal(ww->coord2).X(),map->FromLatLngToLocal(ww->coord2).Y());
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshPaint_flag=true;
|
refreshPaint_flag=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,6 +223,7 @@ namespace mapcontrol
|
|||||||
void generateArrowhead();
|
void generateArrowhead();
|
||||||
|
|
||||||
MapGraphicItem* map;
|
MapGraphicItem* map;
|
||||||
|
OPMapWidget* mapwidget;
|
||||||
QPolygonF arrowHead;
|
QPolygonF arrowHead;
|
||||||
QLineF arrowShaft;
|
QLineF arrowShaft;
|
||||||
int altitude;
|
int altitude;
|
||||||
@ -237,7 +238,6 @@ namespace mapcontrol
|
|||||||
double yawRate_dps;
|
double yawRate_dps;
|
||||||
QPixmap pic;
|
QPixmap pic;
|
||||||
core::Point localposition;
|
core::Point localposition;
|
||||||
OPMapWidget* mapwidget;
|
|
||||||
QGraphicsItemGroup* trail;
|
QGraphicsItemGroup* trail;
|
||||||
QGraphicsItemGroup * trailLine;
|
QGraphicsItemGroup * trailLine;
|
||||||
internals::PointLatLng lasttrailline;
|
internals::PointLatLng lasttrailline;
|
||||||
@ -265,6 +265,8 @@ namespace mapcontrol
|
|||||||
signals:
|
signals:
|
||||||
void UAVReachedWayPoint(int const& waypointnumber,WayPointItem* waypoint);
|
void UAVReachedWayPoint(int const& waypointnumber,WayPointItem* waypoint);
|
||||||
void UAVLeftSafetyBouble(internals::PointLatLng const& position);
|
void UAVLeftSafetyBouble(internals::PointLatLng const& position);
|
||||||
|
void setChildPosition();
|
||||||
|
void setChildLine();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#endif // UAVITEM_H
|
#endif // UAVITEM_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user