From cb759f6384082845e7751bc8a12c9acf530185fe Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 7 May 2019 16:11:12 +0200 Subject: [PATCH] Ref T658, matching scriot exchange object (QObject) --- src/blackmisc/simulation/matchingscript.cpp | 64 ++++++++++++++ src/blackmisc/simulation/matchingscript.h | 97 +++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 src/blackmisc/simulation/matchingscript.cpp create mode 100644 src/blackmisc/simulation/matchingscript.h diff --git a/src/blackmisc/simulation/matchingscript.cpp b/src/blackmisc/simulation/matchingscript.cpp new file mode 100644 index 000000000..18d6e5d8e --- /dev/null +++ b/src/blackmisc/simulation/matchingscript.cpp @@ -0,0 +1,64 @@ +/* Copyright (C) 2019 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution. No part of swift project, including this file, may be copied, modified, propagated, + * or distributed except according to the terms contained in the LICENSE file. + */ + +#include "matchingscript.h" + +namespace BlackMisc +{ + namespace Simulation + { + void MSNetworkValues::setCallsign(const QString &callsign) + { + if (m_callsign == callsign) { return; } + m_callsign = callsign; + emit this->callsignChanged(); + } + + void MSNetworkValues::setDbAircraftIcaoId(int id) + { + if (id == m_dbAircraftIcaoId) { return; } + m_dbAircraftIcaoId = id; + emit this->dbAircraftIcaoIdChanged(); + } + + void MSNetworkValues::setDbAirlineIcaoId(int id) + { + if (id == m_dbAirlineIcaoId) { return; } + m_dbAirlineIcaoId = id; + emit this->dbAirlineIcaoIdChanged(); + } + + void MSNetworkValues::setDbLiveryId(int id) + { + if (id == m_dbLiveryId) { return; } + m_dbLiveryId = id; + emit this->dbLiveryIdChanged(); + } + + void MSNetworkValues::setAircraftIcao(const QString &aircraftIcao) + { + if (aircraftIcao == m_aircraftIcao) { return; } + m_aircraftIcao = aircraftIcao; + emit this->aircraftIcaoChanged(); + } + + void MSNetworkValues::setAirlineIcao(const QString &airlineIcao) + { + if (airlineIcao == m_airlineIcao) { return; } + m_airlineIcao = airlineIcao; + emit this->airlineIcaoChanged(); + } + + void MSNetworkValues::setLivery(const QString &livery) + { + if (livery == m_livery) { return; } + m_livery = livery; + emit this->liveryChanged(); + } + } // namespace +} // namespace diff --git a/src/blackmisc/simulation/matchingscript.h b/src/blackmisc/simulation/matchingscript.h new file mode 100644 index 000000000..9788aacd3 --- /dev/null +++ b/src/blackmisc/simulation/matchingscript.h @@ -0,0 +1,97 @@ +/* Copyright (C) 2019 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution. No part of swift project, including this file, may be copied, modified, propagated, + * or distributed except according to the terms contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKMISC_SIMULATION_MATCHINGSCRIPT_H +#define BLACKMISC_SIMULATION_MATCHINGSCRIPT_H + +#include "blackmisc/blackmiscexport.h" + +#include +#include + +namespace BlackMisc +{ + namespace Simulation + { + //! The network values + class BLACKMISC_EXPORT MSNetworkValues : public QObject + { + Q_OBJECT + + //! MSNetworkValues properties @{ + Q_PROPERTY(QString callsign READ getCallsign WRITE setCallsign NOTIFY callsignChanged) + Q_PROPERTY(int dbAircraftIcaoId READ getDbAircraftIcaoId WRITE setDbAircraftIcaoId NOTIFY dbAircraftIcaoIdChanged) + Q_PROPERTY(int dbAirlineIcaoId READ getDbAirlineIcaoId WRITE setDbAirlineIcaoId NOTIFY dbAirlineIcaoIdChanged) + Q_PROPERTY(int dbLiveryId READ getDbLiveryId WRITE setDbLiveryId NOTIFY dbLiveryIdChanged) + Q_PROPERTY(QString aircraftIcao READ getAircraftIcao WRITE setAircraftIcao NOTIFY aircraftIcaoChanged) + Q_PROPERTY(QString airlineIcao READ getAirlineIcao WRITE setAirlineIcao NOTIFY airlineIcaoChanged) + Q_PROPERTY(QString livery READ getLivery WRITE setLivery NOTIFY liveryChanged) + //! @} + + public: + //! Ctor + Q_INVOKABLE MSNetworkValues() {} + + //! Get callsign + const QString &getCallsign() const { return m_callsign; } + + //! Set callsign + void setCallsign(const QString &callsign); + + //! Values found in DB? @{ + bool isFoundDbAircraftIcao() const { return m_dbAircraftIcaoId >= 0; } + bool isFoundDbAirlineIcao() const { return m_dbAirlineIcaoId >= 0; } + bool isFoundDbLivery() const { return m_dbLiveryId >= 0; } + int getDbAircraftIcaoId() const { return m_dbAircraftIcaoId; } + int getDbAirlineIcaoId() const { return m_dbAirlineIcaoId; } + int getDbLiveryId() const { return m_dbLiveryId; } + void setDbAircraftIcaoId(int id); + void setDbAirlineIcaoId(int id); + void setDbLiveryId(int id); + //! @} + + //! Livery, airline, aircraft @{ + const QString &getAircraftIcao() const { return m_aircraftIcao; } + const QString &getAirlineIcao() const { return m_airlineIcao; } + const QString &getLivery() const { return m_livery; } + void setAircraftIcao(const QString &aircraftIcao); + void setAirlineIcao(const QString &airlineIcao); + void setLivery(const QString &livery); + //! @} + + signals: + //! Callsign changed + void callsignChanged(); + + //! Livery, airline, aircraft changed @{ + void aircraftIcaoChanged(); + void airlineIcaoChanged(); + void liveryChanged(); + //! @} + + //! DB id changed @{ + void dbAircraftIcaoIdChanged(); + void dbAirlineIcaoIdChanged(); + void dbLiveryIdChanged(); + //! @} + + private: + QString m_callsign; + QString m_aircraftIcao; + QString m_airlineIcao; + QString m_livery; + int m_dbAircraftIcaoId = -1; + int m_dbAirlineIcaoId = -1; + int m_dbLiveryId = -1; + }; + } // namespace +} // namespace + +#endif // guard