swift
aircraftengine.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2014 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <QtGlobal>
7 
8 #include "misc/stringutils.h"
9 
10 SWIFT_DEFINE_VALUEOBJECT_MIXINS(swift::misc::aviation, CAircraftEngine)
11 
12 namespace swift::misc::aviation
13 {
14  CAircraftEngine::CAircraftEngine(int number, bool on, int engineRpmPct)
15  : m_number(number), m_on(on), m_rpmPct(std::max(0, engineRpmPct))
16  {
17  Q_ASSERT_X(number > 0, "CAircraftEngine", "Engine numbers have to be >= 1");
18  }
19 
20  void CAircraftEngine::setNumber(int number)
21  {
22  Q_ASSERT_X(number > 0, "setNumber", "Engine numbers have to be >= 1");
23  m_number = number;
24  }
25 
26  void CAircraftEngine::setEngineRpmPct(int percentage) { m_rpmPct = std::max(0, percentage); }
27 
29  {
30  Q_UNUSED(i18n);
31  return QStringLiteral("%1: %2").arg(m_number).arg(swift::misc::boolToOnOff(m_on));
32  }
33 } // namespace swift::misc::aviation
CAircraftEngine()=default
Default constructor.
QString convertToQString(bool i18n=false) const
Cast as QString.
void setNumber(int number)
Set engine number.
void setEngineRpmPct(int percentage)
Set engine RPM percentage (0..100+)
SWIFT_MISC_EXPORT const QString & boolToOnOff(bool v)
Bool to on/off.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.
Definition: valueobject.h:67