12#include "ui_aircraftmodelfilterbar.h"
23using namespace swift::misc::simulation;
24using namespace swift::misc::db;
37 ui->comp_SimulatorSelector->setNoSelectionMeansAll(
true);
38 ui->comp_SimulatorSelector->setRememberSelection(
false);
39 ui->comp_SimulatorSelector->checkAll();
41 ui->comp_DistributorSelector->withDistributorDescription(
false);
45 ui->le_AircraftIcao->setValidator(ucv);
46 ui->le_AirlineIcao->setValidator(ucv);
47 ui->le_ModelString->setValidator(ucv);
48 ui->le_AircraftManufacturer->setValidator(ucv);
49 ui->le_LiveryCode->setValidator(ucv);
62 this->connectTriggerFilterSignals();
72 CAircraftModel::ModelModeFilter mf = CAircraftModel::All;
73 if (ui->cbt_IncludeExclude->checkState() ==
Qt::Checked)
75 mf = CAircraftModel::Include;
77 else if (ui->cbt_IncludeExclude->checkState() ==
Qt::Unchecked)
79 mf = CAircraftModel::Exclude;
82 DbKeyStateFilter dbf = swift::misc::db::All;
85 dbf = swift::misc::db::Valid;
89 dbf = swift::misc::db::Invalid;
92 return std::make_unique<CAircraftModelFilter>(
93 convertDbId(ui->le_Id->text()), ui->le_ModelString->text(), ui->le_ModelDescription->text(), mf, dbf,
94 ui->cbt_Military->checkState(), ui->cbt_ColorLiveries->checkState(), ui->le_AircraftIcao->text(),
95 ui->le_AircraftManufacturer->text(), ui->le_AirlineIcao->text(), ui->le_AirlineName->text(),
96 ui->le_LiveryCode->text(), ui->le_FileName->text(), ui->comp_CombinedType->getCombinedType(),
97 ui->comp_SimulatorSelector->getValue(), ui->comp_DistributorSelector->getDistributor());
102 ui->filter_Buttons->onRowCountChanged(count, withFilter);
107 ui->le_ModelString->clear();
108 ui->le_ModelDescription->clear();
109 ui->le_AircraftIcao->clear();
110 ui->le_AircraftManufacturer->clear();
111 ui->le_AirlineIcao->clear();
112 ui->le_AirlineName->clear();
113 ui->le_LiveryCode->clear();
114 ui->le_FileName->clear();
115 ui->comp_SimulatorSelector->checkAll();
116 ui->comp_DistributorSelector->clear();
117 ui->comp_CombinedType->clear();
124 void CAircraftModelFilterBar::onSimulatorSelectionChanged(
const CSimulatorInfo &info)
130 void CAircraftModelFilterBar::onDistributorChanged(
const CDistributor &distributor)
132 Q_UNUSED(distributor);
136 void CAircraftModelFilterBar::onCombinedTypeChanged(
const QString &combinedType)
138 Q_UNUSED(combinedType);
142 void CAircraftModelFilterBar::onCheckBoxChanged(
bool state)
148 void CAircraftModelFilterBar::connectTriggerFilterSignals()
166 &CAircraftModelFilterBar::onSimulatorSelectionChanged);
168 &CAircraftModelFilterBar::onDistributorChanged);
170 &CAircraftModelFilterBar::onCombinedTypeChanged);
void changedCombinedType(const QString &cominedType)
Combined type has beend changed.
void changedDistributor(const swift::misc::simulation::CDistributor &distributor)
Distributor was changed.
@ CheckBoxes
multiple selections
void changed(const swift::misc::simulation::CSimulatorInfo &simulator)
Value has been changed.
std::unique_ptr< models::IModelFilter< swift::misc::simulation::CAircraftModelList > > createModelFilter() const
Get the filter, this is the filter itself, not its widget or dialog.
void clearForm()
Clear the filter form.
void displayCount(bool show)
Show count.
void onRowCountChanged(int count, bool withFilter)
Row count has been changed.
CAircraftModelFilterBar(QWidget *parent=nullptr)
Constructor.
~CAircraftModelFilterBar()
Destructor.
Value object encapsulating information of software distributor.
Simple hardcoded info about the corresponding simulator.
High level reusable GUI components.
Filter to search data sets.
Models to be used with views, mainly QTableView.
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QObject * parent() const const