Ref T129, aircraft ICAO and parsed remarks can be obtained from flight plan

This commit is contained in:
Klaus Basan
2017-10-02 21:49:50 +02:00
committed by Mathew Sutcliffe
parent 8a4415ce07
commit 27281e438d
2 changed files with 28 additions and 2 deletions

View File

@@ -7,7 +7,8 @@
* contained in the LICENSE file.
*/
#include "blackmisc/aviation/flightplan.h"
#include "flightplan.h"
#include "flightplanutils.h"
#include "blackmisc/iconlist.h"
#include "blackmisc/icons.h"
#include <QStringBuilder>
@@ -39,6 +40,18 @@ namespace BlackMisc
m_callsign.setTypeHint(CCallsign::Aircraft);
}
void CFlightPlan::setEquipmentIcao(const QString &equipmentIcao)
{
m_equipmentIcao = equipmentIcao;
const QString aircraftIcao = CFlightPlanUtils::aircraftIcaoCodeFromEquipmentCode(equipmentIcao);
m_aircraftIcao = CAircraftIcaoCode::isValidDesignator(aircraftIcao) ? aircraftIcao : "";
}
CFlightPlanUtils::FlightPlanRemarks CFlightPlan::getParsedRemarks() const
{
return CFlightPlanUtils::parseFlightPlanRemarks(this->getRemarks());
}
CVariant CFlightPlan::propertyByIndex(const CPropertyIndex &index) const
{
if (index.isMyself()) { return CVariant::from(*this); }

View File

@@ -13,8 +13,10 @@
#define BLACKMISC_AVIATION_FLIGHTPLAN_H
#include "airporticaocode.h"
#include "aircrafticaocode.h"
#include "altitude.h"
#include "callsign.h"
#include "flightplanutils.h"
#include "blackmisc/pq/speed.h"
#include "blackmisc/pq/time.h"
#include "blackmisc/pq/units.h"
@@ -75,7 +77,7 @@ namespace BlackMisc
void setCallsign(const CCallsign &callsign);
//! Set ICAO aircraft equipment code string (e.g. "T/A320/F")
void setEquipmentIcao(const QString &equipmentIcao) { m_equipmentIcao = equipmentIcao; }
void setEquipmentIcao(const QString &equipmentIcao);
//! Set origin airport ICAO code
void setOriginAirportIcao(const QString &originAirportIcao) { m_originAirportIcao = originAirportIcao; }
@@ -200,6 +202,16 @@ namespace BlackMisc
//! Get remarks string
const QString &getRemarks() const { return m_remarks; }
//! Get the parsed remarks
//! \remark parsing when calling the function, so avoid unnecessary calls
CFlightPlanUtils::FlightPlanRemarks getParsedRemarks() const;
//! Get aircraft ICAO, derived from equipment ICAO as in getEquipmentIcao()
const CAircraftIcaoCode &getAircraftIcao() const { return m_aircraftIcao; }
//! Has aircraft ICAO?
bool hasAircraftIcao() const { return m_aircraftIcao.hasDesignator(); }
//! \copydoc BlackMisc::Mixin::Index::propertyByIndex
CVariant propertyByIndex(const CPropertyIndex &index) const;
@@ -218,6 +230,7 @@ namespace BlackMisc
private:
CCallsign m_callsign;
QString m_equipmentIcao; //!< e.g. "T/A320/F"
CAircraftIcaoCode m_aircraftIcao; //!< Aircraft ICAO code derived from equipment ICAO
CAirportIcaoCode m_originAirportIcao;
CAirportIcaoCode m_destinationAirportIcao;
CAirportIcaoCode m_alternateAirportIcao;