swift
dbairlineicaoselectorbase.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_DBAIRLINEICAOSELECTORBASE_H
7 #define SWIFT_GUI_DBAIRLINEICAOSELECTORBASE_H
8 
9 #include <QFrame>
10 #include <QObject>
11 #include <QScopedPointer>
12 #include <QString>
13 
14 #include "gui/dropbase.h"
15 #include "gui/swiftguiexport.h"
18 
19 class QCompleter;
20 class QDragEnterEvent;
21 class QDragLeaveEvent;
22 class QDragMoveEvent;
23 class QDropEvent;
24 class QWidget;
25 
26 namespace swift::gui::components
27 {
32  {
33  Q_OBJECT
34 
35  public:
37  virtual ~CDbAirlineIcaoSelectorBase() override;
38 
40  virtual bool setAirlineIcao(const swift::misc::aviation::CAirlineIcaoCode &icao);
41 
43  bool setAirlineIcao(int key);
44 
46  const swift::misc::aviation::CAirlineIcaoCode &getAirlineIcao() const { return m_currentIcao; }
47 
49  virtual void setReadOnly(bool readOnly) = 0;
50 
52  virtual void clear() = 0;
53 
55  bool isSet() const;
56 
57  signals:
60 
61  protected:
63  explicit CDbAirlineIcaoSelectorBase(QWidget *parent = nullptr);
64 
66  virtual QCompleter *createCompleter() = 0;
67 
69  virtual void dragEnterEvent(QDragEnterEvent *event) override;
70 
72  virtual void dragMoveEvent(QDragMoveEvent *event) override;
73 
75  virtual void dragLeaveEvent(QDragLeaveEvent *event) override;
76 
78  virtual void dropEvent(QDropEvent *event) override;
79 
80  QScopedPointer<QCompleter> m_completer;
82 
83  private:
85  void onCodesRead(swift::misc::network::CEntityFlags::Entity entity,
86  swift::misc::network::CEntityFlags::ReadState readState, int count, const QUrl &url);
87 
89  void onCompleterActivated(const QString &icaoString);
90  };
91 } // namespace swift::gui::components
92 #endif // SWIFT_GUI_DBAIRLINEICAOSELECTORBASE_H
Utilities for dropping swift value objects.
Definition: dropbase.h:19
virtual void setReadOnly(bool readOnly)=0
Read only.
virtual QCompleter * createCompleter()=0
Create a new completer.
const swift::misc::aviation::CAirlineIcaoCode & getAirlineIcao() const
Airline ICAO.
swift::misc::aviation::CAirlineIcaoCode m_currentIcao
current ICAO object
QScopedPointer< QCompleter > m_completer
completer used
void changedAirlineIcao(const swift::misc::aviation::CAirlineIcaoCode &icao)
ICAO was changed.
virtual void clear()=0
Clear selection.
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.