swift
remoteaircraftselector.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_REMOTEAIRCRAFTSELECTOR_H
7 #define SWIFT_GUI_REMOTEAIRCRAFTSELECTOR_H
8 
9 #include <QFrame>
10 #include <QObject>
11 #include <QScopedPointer>
12 
13 #include "gui/swiftguiexport.h"
14 #include "misc/aviation/callsign.h"
15 #include "misc/digestsignal.h"
17 
18 class QShowEvent;
19 class QWidget;
20 
21 namespace swift::misc::simulation
22 {
23  class CSimulatedAircraft;
24 }
25 namespace Ui
26 {
27  class CRemoteAircraftSelector;
28 }
29 namespace swift::gui::components
30 {
35  {
36  Q_OBJECT
37 
38  public:
40  explicit CRemoteAircraftSelector(QWidget *parent = nullptr);
41 
43  virtual ~CRemoteAircraftSelector() override;
44 
46  swift::misc::aviation::CCallsign getSelectedCallsign() const;
47 
49  void indicatePartsEnabled(bool indicate);
50 
51  signals:
54 
55  protected:
57  virtual void showEvent(QShowEvent *event) override;
58 
59  private:
61  void onAddedAircraft(const swift::misc::simulation::CSimulatedAircraft &aircraft);
62 
64  void onRemovedAircraft(const swift::misc::aviation::CCallsign &callsign);
65 
67  void comboBoxChanged(const QString &text);
68 
70  void fillComboBox();
71 
72  QScopedPointer<Ui::CRemoteAircraftSelector> ui;
73  QString m_currentText;
74  bool m_showPartsEnabled = false;
76  swift::misc::CDigestSignal m_dsFillComboBox { this, &CRemoteAircraftSelector::fillComboBox,
77  std::chrono::seconds(3), 5 };
78  };
79 } // namespace swift::gui::components
80 
81 #endif // SWIFT_GUI_REMOTEAIRCRAFTSELECTOR_H
Receive 1..n signals, collect them over time, and resend afer n milliseconds.
Definition: digestsignal.h:18
Value object encapsulating information of a callsign.
Definition: callsign.h:30
Comprehensive information of an aircraft.
Value object encapsulating a list of aircraft.
High level reusable GUI components.
Definition: aboutdialog.cpp:13
#define SWIFT_GUI_EXPORT
Export a class or function from the library.