swift
dbairlineicaoselectorcomponent.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_COMPONENTS_DBAIRLINEICAOSELECTORCOMPONENT_H
7 #define SWIFT_GUI_COMPONENTS_DBAIRLINEICAOSELECTORCOMPONENT_H
8 
9 #include <QObject>
10 #include <QScopedPointer>
11 #include <QString>
12 
14 #include "gui/swiftguiexport.h"
16 
17 class QCompleter;
18 class QWidget;
19 
20 namespace Ui
21 {
22  class CDbAirlineIcaoSelectorComponent;
23 }
24 namespace swift::gui::components
25 {
30  {
31  Q_OBJECT
32 
33  public:
35  enum Display
36  {
37  DisplayVDesignatorAndId,
38  DisplayCompleterString
39  };
40 
42  explicit CDbAirlineIcaoSelectorComponent(QWidget *parent = nullptr);
43 
46  virtual ~CDbAirlineIcaoSelectorComponent() override;
47 
50  virtual void setReadOnly(bool readOnly) override;
51  virtual bool setAirlineIcao(const swift::misc::aviation::CAirlineIcaoCode &icao) override;
52  virtual void clear() override;
54 
56  QString getRawDesignator() const;
57 
59  void displayWithIcaoDescription(bool description);
60 
62  void displayMode(Display mode) { this->m_display = mode; }
63 
64  protected:
66  virtual QCompleter *createCompleter() override;
67 
68  private:
71  static const QStringList &completerStrings();
72 
74  void onDataChanged();
75 
76  QScopedPointer<Ui::CDbAirlineIcaoSelectorComponent> ui;
77  Display m_display = DisplayVDesignatorAndId;
78  };
79 } // namespace swift::gui::components
80 #endif // SWIFT_GUI_COMPONENTS_DBAIRLINEICAOSELECTORCOMPONENT_H
Value object for ICAO classification.
High level reusable GUI components.
Definition: aboutdialog.cpp:13
#define SWIFT_GUI_EXPORT
Export a class or function from the library.