1
0
Fork 0

Fix route-manager / GPS sequencing interaction; tied properties need help to fire listeners.

This commit is contained in:
jmt 2009-10-18 19:59:01 +00:00 committed by Tim Moore
parent 1a05ed6b3d
commit 87141b47a7
2 changed files with 6 additions and 3 deletions

View file

@ -142,7 +142,8 @@ void FGRouteMgr::init() {
_edited = fgGetNode(RM "signals/edited", true);
_finished = fgGetNode(RM "signals/finished", true);
rm->tie("current-wp", SGRawValueMethods<FGRouteMgr, int>
_currentWpt = fgGetNode(RM "current-wp", true);
_currentWpt->tie(SGRawValueMethods<FGRouteMgr, int>
(*this, &FGRouteMgr::currentWaypoint, &FGRouteMgr::jumpToIndex));
// temporary distance / eta calculations, for backward-compatability
@ -519,7 +520,7 @@ bool FGRouteMgr::activate()
add_waypoint(SGWayPoint(destApt->geod(), destApt->ident(), destApt->name()));
}
_route->set_current(0);
_route->set_current(1);
double routeDistanceNm = _route->total_distance() * SG_METER_TO_NM;
totalDistance->setDoubleValue(routeDistanceNm);
@ -531,7 +532,6 @@ bool FGRouteMgr::activate()
}
active->setBoolValue(true);
sequence(); // sequence will sync up wp0, wp1 and current-wp
SG_LOG(SG_AUTOPILOT, SG_INFO, "route-manager, activate route ok");
return true;
}
@ -550,6 +550,7 @@ void FGRouteMgr::sequence()
_route->increment_current();
currentWaypointChanged();
_currentWpt->fireValueChanged();
}
bool FGRouteMgr::checkFinished()

View file

@ -70,6 +70,8 @@ private:
SGPropertyNode_ptr _pathNode;
SGPropertyNode_ptr _currentWpt;
/**
* Signal property to notify people that the route was edited