swift
airlineicaofilterbar.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_FILTERS_AIRLINEICAOFILTERBAR_H
7 #define SWIFT_GUI_FILTERS_AIRLINEICAOFILTERBAR_H
8 
9 #include <memory>
10 
11 #include <QObject>
12 #include <QScopedPointer>
13 
15 #include "gui/models/modelfilter.h"
16 #include "gui/swiftguiexport.h"
18 
19 namespace Ui
20 {
21  class CAirlineIcaoFilterBar;
22 }
23 namespace swift::misc
24 {
25  class CCountry;
26  namespace aviation
27  {
28  class CAirlineIcaoCodeList;
29  }
30 } // namespace swift::misc
31 namespace swift::gui::filters
32 {
37  public CFilterWidget,
38  public models::IModelFilterProvider<swift::misc::aviation::CAirlineIcaoCodeList>
39  {
40  Q_OBJECT
41 
42  public:
44  explicit CAirlineIcaoFilterBar(QWidget *parent = nullptr);
45 
47  virtual ~CAirlineIcaoFilterBar() override;
48 
50  virtual std::unique_ptr<swift::gui::models::IModelFilter<swift::misc::aviation::CAirlineIcaoCodeList>>
51  createModelFilter() const override;
52 
54  void filter(const swift::misc::aviation::CAirlineIcaoCode &icao);
55 
56  public slots:
58  virtual void onRowCountChanged(int count, bool withFilter) override;
59 
60  private slots:
62  void ps_CountryChanged(const swift::misc::CCountry &country);
63 
64  protected:
66  virtual void clearForm() override;
67 
68  private:
69  QScopedPointer<Ui::CAirlineIcaoFilterBar> ui;
70  };
71 } // namespace swift::gui::filters
72 
73 #endif // SWIFT_GUI_FILTERS_AIRLINEICAOFILTERBAR_H
Base for filter dialog.
Definition: filterwidget.h:21
Model filter interface for those who can generate such a filter (e.g. a widget or dialog)
Definition: modelfilter.h:61
Value object for ICAO classification.
Filter to search data sets.
Free functions in swift::misc.
#define SWIFT_GUI_EXPORT
Export a class or function from the library.