swift
aircraftmodelfilterbar.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_FILTERBARAIRCRAFTMODEL_H
7 #define SWIFT_GUI_FILTERS_FILTERBARAIRCRAFTMODEL_H
8 
9 #include <memory>
10 
11 #include <QObject>
12 #include <QScopedPointer>
13 
15 #include "gui/models/modelfilter.h"
16 #include "gui/swiftguiexport.h"
19 
20 namespace Ui
21 {
22  class CAircraftModelFilterBar;
23 }
24 namespace swift::misc::simulation
25 {
26  class CAircraftModelList;
27 }
28 namespace swift::gui::filters
29 {
34  public CFilterWidget,
35  public models::IModelFilterProvider<swift::misc::simulation::CAircraftModelList>
36  {
37  Q_OBJECT
38 
39  public:
41  explicit CAircraftModelFilterBar(QWidget *parent = nullptr);
42 
44  virtual ~CAircraftModelFilterBar() override;
45 
47  void displayCount(bool show);
48 
50  virtual std::unique_ptr<models::IModelFilter<swift::misc::simulation::CAircraftModelList>>
51  createModelFilter() const override;
52 
54  virtual void onRowCountChanged(int count, bool withFilter) override;
55 
56  protected:
58  virtual void clearForm() override;
59 
60  private:
62  void onSimulatorSelectionChanged(const swift::misc::simulation::CSimulatorInfo &info);
63 
65  void onDistributorChanged(const swift::misc::simulation::CDistributor &distributor);
66 
68  void onCombinedTypeChanged(const QString &combinedType);
69 
71  void onCheckBoxChanged(bool state);
72 
74  void connectTriggerFilterSignals();
75 
76  QScopedPointer<Ui::CAircraftModelFilterBar> ui;
77  };
78 } // namespace swift::gui::filters
79 
80 #endif // SWIFT_GUI_FILTERS_FILTERBARAIRCRAFTMODEL_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 encapsulating information of software distributor.
Definition: distributor.h:33
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
Filter to search data sets.
#define SWIFT_GUI_EXPORT
Export a class or function from the library.