swift
liveryfilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_GUI_LIVERYFILTER_H
7 #define SWIFT_GUI_LIVERYFILTER_H
8 
9 #include <QString>
10 
11 #include "gui/models/modelfilter.h"
12 #include "gui/swiftguiexport.h"
14 #include "misc/rgbcolor.h"
15 
16 namespace swift::gui::models
17 {
19  class SWIFT_GUI_EXPORT CLiveryFilter : public IModelFilter<swift::misc::aviation::CLiveryList>
20  {
21  public:
23  CLiveryFilter(int id, const QString &combinedCode, const QString &descriptiom, const QString &airlineDesignator,
24  const swift::misc::CRgbColor &fuselageColor, const swift::misc::CRgbColor &tailColor,
25  double maxColorDistance, bool colorLiveries, bool airlineLiveries);
26 
29  filter(const swift::misc::aviation::CLiveryList &inContainer) const override;
30 
31  private:
32  int m_id = -1;
33  QString m_combinedCode;
34  QString m_description;
35  QString m_airlineIcaoDesignator;
36  swift::misc::CRgbColor m_fuselageColor;
37  swift::misc::CRgbColor m_tailColor;
38  double m_maxColorDistance = 0.5;
39  bool m_colorLiveries = true;
40  bool m_airlineLiveries = true;
41 
43  bool filterByLiveryType() const;
44 
46  bool valid() const;
47  };
48 } // namespace swift::gui::models
49 
50 #endif // SWIFT_GUI_LIVERYFILTER_H
Filter for aircraft liveries.
Definition: liveryfilter.h:20
Model filter interface.
Definition: modelfilter.h:21
Value object for a list of airports.
Definition: liverylist.h:29
Models to be used with views, mainly QTableView.
#define SWIFT_GUI_EXPORT
Export a class or function from the library.