swift
aircraftmodelform.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "aircraftmodelform.h"
5 
6 #include "ui_aircraftmodelform.h"
7 
8 using namespace swift::misc;
9 
10 namespace swift::gui::editors
11 {
12  CAircraftModelForm::CAircraftModelForm(QWidget *parent) : CForm(parent), ui(new Ui::CAircraftModelForm)
13  {
14  ui->setupUi(this);
15  this->setFocusProxy(ui->editor_AircraftIcao);
16  }
17 
19 
20  void CAircraftModelForm::setReadOnly(bool readOnly)
21  {
22  ui->editor_AircraftIcao->setReadOnly(readOnly);
23  ui->editor_Distributor->setReadOnly(readOnly);
24  ui->editor_Livery->setReadOnly(readOnly);
25  this->forceStyleSheetUpdate();
26  }
27 
29  {
30  ui->editor_AircraftIcao->setSelectOnly();
31  ui->editor_Distributor->setSelectOnly();
32  ui->editor_Livery->setSelectOnly();
33  }
34 
36  {
37  CStatusMessageList msgs;
38  msgs.push_back(ui->editor_AircraftIcao->validate(withNestedForms));
39  msgs.push_back(ui->editor_Distributor->validate(withNestedForms));
40  msgs.push_back(ui->editor_Livery->validate(withNestedForms));
41  return msgs;
42  }
43 
45  {
46  return ui->editor_Livery->validate(withNestedForms);
47  }
48 
50  {
51  return ui->editor_AircraftIcao->validate(withNestedForms);
52  }
53 
55  {
56  return ui->editor_Distributor->validate(withNestedForms);
57  }
58 
59  aviation::CLivery CAircraftModelForm::getLivery() const { return ui->editor_Livery->getValue(); }
60 
62  {
63  return ui->editor_AircraftIcao->getValue();
64  }
65 
66  simulation::CDistributor CAircraftModelForm::getDistributor() const { return ui->editor_Distributor->getValue(); }
67 
68  void CAircraftModelForm::allowDrop(bool allowDrop)
69  {
70  ui->editor_AircraftIcao->allowDrop(allowDrop);
71  ui->editor_Distributor->allowDrop(allowDrop);
72  ui->editor_Livery->allowDrop(allowDrop);
73  }
74 
76  {
77  return ui->editor_Livery->setValue(livery);
78  }
79 
81  {
82  return ui->editor_AircraftIcao->setValue(icao);
83  }
84 
86  {
87  return ui->editor_Distributor->setValue(distributor);
88  }
89 
91  {
92  this->clearLivery();
93  this->clearAircraftIcao();
94  this->clearDistributor();
95  }
96 
97  void CAircraftModelForm::clearLivery() { ui->editor_Livery->clear(); }
98 
99  void CAircraftModelForm::clearAircraftIcao() { ui->editor_AircraftIcao->clear(); }
100 
101  void CAircraftModelForm::clearDistributor() { ui->editor_Distributor->clear(); }
102 } // namespace swift::gui::editors
Combined form of Livery, ICAOs, distributor.
swift::misc::aviation::CAircraftIcaoCode getAircraftIcao() const
Aircraft ICAO.
virtual swift::misc::CStatusMessageList validateLivery(bool withNestedForms=true) const
Validate, empty list means OK.
virtual swift::misc::CStatusMessageList validateDistributor(bool withNestedForms=true) const
Validate, empty list means OK.
virtual void setReadOnly(bool readOnly)
Set editable.
bool setDistributor(const swift::misc::simulation::CDistributor &distributor)
Distributor.
virtual swift::misc::CStatusMessageList validate(bool withNestedForms=true) const
Validate, empty list means OK.
void allowDrop(bool allowDrop)
Allow to drop data.
bool setAircraftIcao(const swift::misc::aviation::CAircraftIcaoCode &icao)
Aircraft.
swift::misc::aviation::CLivery getLivery() const
Livery.
virtual swift::misc::CStatusMessageList validateAircraftIcao(bool withNestedForms=true) const
Validate, empty list means OK.
bool setLivery(const swift::misc::aviation::CLivery &livery)
Livery.
virtual void setSelectOnly()
Read only, but entity can be selected (normally used in mapping). Use setReadOnly to reset this very ...
swift::misc::simulation::CDistributor getDistributor() const
Distributor.
Form base class.
Definition: form.h:27
void forceStyleSheetUpdate()
Forces a stylesheet update.
Definition: form.cpp:47
void push_back(const T &value)
Appends an element at the end of the sequence.
Definition: sequence.h:305
Status messages, e.g. from Core -> GUI.
Value object for ICAO classification.
Value object encapsulating information about an airpot.
Definition: livery.h:29
Value object encapsulating information of software distributor.
Definition: distributor.h:33
Free functions in swift::misc.