swift
aircraftpartsform.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2017 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_EDITORS_AIRCRAFTPARTSFORM_H
7 #define SWIFT_GUI_EDITORS_AIRCRAFTPARTSFORM_H
8 
9 #include "gui/editors/form.h"
10 #include "gui/swiftguiexport.h"
12 #include "misc/statusmessagelist.h"
13 
14 class QWidget;
15 
16 namespace Ui
17 {
18  class CAircraftPartsForm;
19 }
20 namespace swift::gui::editors
21 {
26  {
27  Q_OBJECT
28 
29  public:
31  explicit CAircraftPartsForm(QWidget *parent = nullptr);
32 
34  virtual ~CAircraftPartsForm() override;
35 
38  virtual void setReadOnly(bool readonly) override;
39  virtual void setSelectOnly() override;
40  virtual swift::misc::CStatusMessageList validate(bool nested = false) const override;
42 
44  swift::misc::aviation::CAircraftParts getAircraftPartsFromGui() const;
45 
47  swift::misc::aviation::CAircraftParts getAircraftPartsFromJson() const;
48 
50  void setAircraftParts(const swift::misc::aviation::CAircraftParts &parts);
51 
53  void showSetButton(bool visible);
54 
56  void showJson(bool visible);
57 
58  signals:
61 
62  private:
63  QScopedPointer<Ui::CAircraftPartsForm> ui;
64 
66  swift::misc::aviation::CAircraftParts guiToAircraftParts() const;
67 
69  void partsToGui(const swift::misc::aviation::CAircraftParts &parts);
70 
72  void guiToJson();
73 
75  void setAllLights();
76 
78  void setAllEngines();
79  };
80 } // namespace swift::gui::editors
81 #endif // SWIFT_GUI_EDITORS_AIRCRAFTPARTSFORM_H
void changeAircraftParts()
Change coordinate.
Form base class.
Definition: form.h:27
Status messages, e.g. from Core -> GUI.
Value object encapsulating information of aircraft's parts.
Definition: aircraftparts.h:26
#define SWIFT_GUI_EXPORT
Export a class or function from the library.