1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-15 07:29:15 +01:00

GCS/OPMap-Fixes relative altitude refresh issue.

This commit is contained in:
PT_Dreamer 2012-06-27 00:25:40 +01:00
parent 96a8ff3a34
commit 6a85da9b46
3 changed files with 12 additions and 3 deletions

View File

@ -263,6 +263,8 @@ WayPointItem::WayPointItem(MapGraphicItem *map, bool magicwaypoint):reached(fals
}
void WayPointItem::SetAltitude(const float &value)
{
if(altitude==value)
return;
altitude=value;
RefreshToolTip();
emit WPValuesChanged(this);
@ -271,13 +273,16 @@ WayPointItem::WayPointItem(MapGraphicItem *map, bool magicwaypoint):reached(fals
void WayPointItem::setRelativeCoord(distBearingAltitude value)
{
qDebug()<<"AKI0"<<value.altitudeRelative<<relativeCoord.altitudeRelative;
if(value.altitudeRelative==relativeCoord.altitudeRelative
&& value.bearing==relativeCoord.bearing && value.distance==relativeCoord.distance)
return;
relativeCoord=value;
qDebug()<<"AKI1"<<value.altitudeRelative<<relativeCoord.altitudeRelative;
relativeCoord=value;
if(myHome)
{
coord=map->Projection()->translate(myHome->Coord(),relativeCoord.distance,relativeCoord.bearing);
SetAltitude(myHome->Altitude()+relativeCoord.altitudeRelative);
}
RefreshPos();
RefreshToolTip();
@ -451,7 +456,7 @@ WayPointItem::WayPointItem(MapGraphicItem *map, bool magicwaypoint):reached(fals
type_str="Absolute";
QString coord_str = " " + QString::number(coord.Lat(), 'f', 6) + " " + QString::number(coord.Lng(), 'f', 6);
QString relativeCoord_str = " Distance:" + QString::number(relativeCoord.distance) + " Bearing:" + QString::number(relativeCoord.bearing*180/M_PI);
QString relativeAltitude_str="Relative altitude:"+QString::number(relativeCoord.altitudeRelative);
QString relativeAltitude_str=QString::number(relativeCoord.altitudeRelative);
if(Number()!=-1)
setToolTip(QString("WayPoint Number:%1\nDescription:%2\nCoordinate:%4\nFrom Home:%5\nRelative altitude:%6\nAltitude:%7\nType:%8\n%9").arg(QString::number(Number())).arg(description).arg(coord_str).arg(relativeCoord_str).arg(relativeAltitude_str).arg(QString::number(altitude)).arg(type_str).arg(myCustomString));
else

View File

@ -46,6 +46,10 @@ void modelMapProxy::WPValuesChanged(WayPointItem * wp)
model->setData(index,wp->Coord().Lat(),Qt::EditRole);
index=model->index(wp->Number(),flightDataModel::LNGPOSITION);
model->setData(index,wp->Coord().Lng(),Qt::EditRole);
index=model->index(wp->Number(),flightDataModel::ALTITUDE);
model->setData(index,wp->Altitude(),Qt::EditRole);
index=model->index(wp->Number(),flightDataModel::DISRELATIVE);
model->setData(index,wp->getRelativeCoord().distance,Qt::EditRole);
index=model->index(wp->Number(),flightDataModel::BEARELATIVE);

View File

@ -59,6 +59,7 @@ opmap_edit_waypoint_dialog::opmap_edit_waypoint_dialog(QWidget *parent,QAbstract
mapper->addMapping(ui->doubleSpinBoxBearing,flightDataModel::BEARELATIVE);
mapper->addMapping(ui->doubleSpinBoxVelocity,flightDataModel::VELOCITY);
mapper->addMapping(ui->spinBoxDistance,flightDataModel::DISRELATIVE);
mapper->addMapping(ui->doubleSpinBoxRelativeAltitude,flightDataModel::ALTITUDERELATIVE);
mapper->addMapping(ui->cbMode,flightDataModel::MODE);
mapper->addMapping(ui->dsb_modeParam1,flightDataModel::MODE_PARAMS0);
mapper->addMapping(ui->dsb_modeParam2,flightDataModel::MODE_PARAMS1);
@ -93,7 +94,6 @@ opmap_edit_waypoint_dialog::~opmap_edit_waypoint_dialog()
void opmap_edit_waypoint_dialog::on_pushButtonOK_clicked()
{
close();
}