10 #include "ui_aircrafticaofilterbar.h"
21 using namespace swift::misc::aviation;
28 CAircraftIcaoFilterBar::CAircraftIcaoFilterBar(QWidget *parent)
42 ui->le_Id->setValidator(
new QIntValidator(ui->le_Id));
47 &CAircraftIcaoFilterBar::initCompleters);
48 this->initCompleters();
57 std::unique_ptr<swift::gui::models::IModelFilter<CAircraftIcaoCodeList>>
60 return std::make_unique<CAircraftIcaoFilter>(
61 convertDbId(ui->le_Id->text()), ui->le_Designator->text(), ui->le_Family->text(),
62 ui->le_Manufacturer->text(), ui->le_Description->text(), ui->combinedType_Selector->getCombinedType());
84 if (
filter) { ui->filter_Buttons->clickButton(CFilterBarButtons::Filter); }
85 else { ui->filter_Buttons->clickButton(CFilterBarButtons::RemoveFilter); }
92 ui->filter_Buttons->onRowCountChanged(count, withFilter);
98 ui->le_Designator->clear();
99 ui->le_Manufacturer->clear();
100 ui->le_Description->clear();
101 ui->combinedType_Selector->clear();
104 void CAircraftIcaoFilterBar::initCompleters()
106 if (m_hasCompleters) {
return; }
110 m_hasCompleters =
true;
113 ui->le_Designator->setCompleter(
new QCompleter(designators, ui->le_Designator));
114 const QStringList families = codes.
allFamilies().values();
115 ui->le_Family->setCompleter(
new QCompleter(families, ui->le_Family));
117 ui->le_Manufacturer->setCompleter(
new QCompleter(manufacturers, ui->le_Manufacturer));
bool hasWebDataServices() const
Web data services available?
CWebDataServices * getWebDataServices() const
Get the web data services.
int getAircraftIcaoCodesCount() const
Aircraft ICAO codes count.
swift::misc::aviation::CAircraftIcaoCodeList getAircraftIcaoCodes() const
Aircraft ICAO codes.
Aircraft ICAO filter bar.
std::unique_ptr< swift::gui::models::IModelFilter< swift::misc::aviation::CAircraftIcaoCodeList > > createModelFilter() const
Get the filter, this is the filter itself, not its widget or dialog.
void clearForm()
Clear the filter form.
void filter(const swift::misc::aviation::CAircraftIcaoCode &icao)
Filter by ICAO object as default values.
void hideDescriptionField(bool hide)
Hide the description.
virtual void onRowCountChanged(int count, bool withFilter)
Row count has been changed.
virtual ~CAircraftIcaoFilterBar()
Destructor.
Value object for ICAO classification.
bool hasModelDescription() const
Has model description?
bool hasDesignator() const
Aircraft designator?
const QString & getDesignator() const
Get ICAO designator, e.g. "B737".
bool hasManufacturer() const
Manufacturer.
const QString & getModelDescription() const
Get IACO model description, e.g. "A-330-200".
const QString & getManufacturer() const
Get manufacturer, e.g. "Airbus".
Value object encapsulating a list of ICAO codes.
QSet< QString > allFamilies() const
All families, no duplicates.
QSet< QString > allManufacturers(bool onlyKnownDesignators=true) const
All manufacturers.
QSet< QString > allDesignators(bool noUnspecified=true) const
All ICAO codes, no duplicates.
SWIFT_GUI_EXPORT swift::gui::CGuiApplication * sGui
Single instance of GUI application object.
Backend services of the swift project, like dealing with the network or the simulators.
Filter to search data sets.
Models to be used with views, mainly QTableView.