swift
airportsmallcompleter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2018 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_AIRPORTSMALLCOMPLETER_H
7 #define SWIFT_GUI_COMPONENTS_AIRPORTSMALLCOMPLETER_H
8 
9 #include <QFrame>
10 #include <QScopedPointer>
11 
12 #include "misc/aviation/airport.h"
13 
14 namespace Ui
15 {
16  class CAirportSmallCompleter;
17 }
18 namespace swift::gui::components
19 {
20  class CAirportDialog;
21 
23  class CAirportSmallCompleter : public QFrame
24  {
25  Q_OBJECT
26 
27  public:
29  explicit CAirportSmallCompleter(QWidget *parent = nullptr);
30 
32  virtual ~CAirportSmallCompleter();
33 
35  void setAirport(const swift::misc::aviation::CAirport &airport);
36 
39 
41  const swift::misc::aviation::CAirport &getAirport() const { return m_current; }
42 
45 
47  QString getIcaoText() const;
48 
50  bool isEmpty() const;
51 
53  void setReadOnly(bool readOnly);
54 
56  void clear();
57 
59  void clearIfInvalidCode(bool strictValidation);
60 
61  signals:
64 
67 
68  private:
70  void onIcaoChanged();
71 
73  void onAirportsChanged();
74 
76  void showAirportsDialog();
77 
78  QScopedPointer<Ui::CAirportSmallCompleter> ui;
79  QScopedPointer<CAirportDialog> m_airportsDialog;
81  };
82 } // namespace swift::gui::components
83 
84 #endif // SWIFT_GUI_COMPONENTS_AIRPORTSMALLCOMPLETER_H
Smaller version of CAirportCompleter, using a CAirportDialog.
void setAirportIcaoCode(const swift::misc::aviation::CAirportIcaoCode &airportCode)
Set airport.
const swift::misc::aviation::CAirport & getAirport() const
Get airport.
QString getIcaoText() const
The raw ICAO code text.
void clearIfInvalidCode(bool strictValidation)
Clear if code not valid.
swift::misc::aviation::CAirportIcaoCode getAirportIcaoCode() const
Get airport ICAO code.
void setAirport(const swift::misc::aviation::CAirport &airport)
Set airport.
void changedAirport(const swift::misc::aviation::CAirport &airport)
Airport has been changed.
CAirportSmallCompleter(QWidget *parent=nullptr)
Constructor.
Value object encapsulating information about an airpot.
Definition: airport.h:36
Value object encapsulating information of airport ICAO data.
High level reusable GUI components.
Definition: aboutdialog.cpp:13