swift
aircraftcfgentrieslist.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_SIMULATION_FSCOMMON_AIRCRAFTCFGLIST_H
7 #define SWIFT_MISC_SIMULATION_FSCOMMON_AIRCRAFTCFGLIST_H
8 
9 #include <tuple>
10 
11 #include <QMetaType>
12 #include <QSet>
13 #include <QString>
14 #include <QStringList>
15 #include <Qt>
16 
17 #include "misc/collection.h"
18 #include "misc/sequence.h"
22 #include "misc/swiftmiscexport.h"
23 
24 SWIFT_DECLARE_SEQUENCE_MIXINS(swift::misc::simulation::fscommon, CAircraftCfgEntries, CAircraftCfgEntriesList)
25 
26 namespace swift::misc::simulation::fscommon
27 {
30  public CSequence<CAircraftCfgEntries>,
31  public mixin::MetaType<CAircraftCfgEntriesList>
32  {
33  public:
36 
39 
42 
44  bool containsModelWithTitle(const QString &title, Qt::CaseSensitivity caseSensitivity = Qt::CaseInsensitive);
45 
47  QStringList getTitles(bool sorted = false) const;
48 
50  QSet<QString> getTitleSetUpperCase() const;
51 
53  QString getTitlesAsString(bool sorted, const QString &separator = ", ") const;
54 
56  swift::misc::simulation::CAircraftModelList toAircraftModelList(bool ignoreDuplicatesAndEmptyModelStrings,
57  CStatusMessageList &msgs) const;
58 
61  toAircraftModelList(const swift::misc::simulation::CSimulatorInfo &simInfo,
62  bool ignoreDuplicatesAndEmptyModelStrings, CStatusMessageList &msgs) const;
63 
65  QStringList detectAmbiguousTitles() const;
66 
68  CAircraftCfgEntriesList findByTitle(const QString &title,
69  Qt::CaseSensitivity caseSensitivity = Qt::CaseInsensitive) const;
70 
72  bool containsTitle(const QString &title) const;
73 
74  private:
76  enum FileSection
77  {
78  General,
79  Fltsim,
80  Unknown
81  };
82  };
83 } // namespace swift::misc::simulation::fscommon
84 
87 
88 #endif // SWIFT_MISC_SIMULATION_FSCOMMON_AIRCRAFTCFGLIST_H
Generic ordered container with value semantics.
Definition: collection.h:107
Generic sequential container with value semantics.
Definition: sequence.h:86
CSequence()=default
Default constructor.
Status messages, e.g. from Core -> GUI.
CRTP class template from which a derived class can inherit common methods dealing with the metatype o...
Definition: mixinmetatype.h:29
Value object encapsulating a list of aircraft models.
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
#define SWIFT_MISC_DECLARE_USING_MIXIN_METATYPE(DERIVED)
When a derived class and a base class both inherit from mixin::MetaType, the derived class uses this ...
#define SWIFT_DECLARE_SEQUENCE_MIXINS(Namespace, T, List)
Explicit template declaration of mixins for a CSequence subclass to be placed near the top of the hea...
Definition: sequence.h:62
#define SWIFT_MISC_EXPORT
Export a class or function from the library.